1.
You plan to develop a parallel application by using Windows HPC Server 2008. You plan to use a method to control the calculations performed by each individual process. You need to ensure that different commands can be sent to each process. Which function should you use?
2.
You plan to develop a parallel application by using Windows HPC Server 2008. You need to implement a method that will send different data to each process in a communicator by using a single call. Which function should you use?
3.
You plan to develop a parallel application by using Windows HPC Server 2008. The application performs the following tasks: Performs multistep calculations Processes data by using the same code segment that runs on each compute node You need to ensure that each compute process executes the same step simultaneously. Which type of communication should you use?
4.
You plan to develop a parallel application by using Windows HPC Server 2008. You need to ensure that when the application starts, a parameter value is communicated to Lead your way to certificates! each process in the cluster by using a single call. Which function should you use?
5.
You plan to develop a single program multiple data (SPMD) application by using Windows HPC Server 2008. You use multiple processes to perform intermediate calculations and to provide the results as a single number. You need to ensure that the intermediate results are collected and added together by using a single MPI function. Which function should you use?
6.
You develop a parallel application that will be deployed on a Windows HPC Server 2008 cluster.You write the following code segment. (Line numbers are included for reference only.) 01 int rank; 02 MPI_Comm_rank(MPI_COMM_WORLD, &rank); 03 // declaration of variable hostName 04 // code to execute 06 std::cout << "hostname of rank " << rank; 07 std::cout << ": " << hostName << "\n"; You need to ensure that a variable named hostName contains the name of the cluster node that the code runs on. Which code segment should you add at line 05?
7.
You develop a parallel application that will be deployed on a Windows HPC Server 2008 cluster. You write the following code segment. (Line numbers are included for reference only.) 01 MPI_Init(&argc, &argv); 03 { 04 // program part for rank 0 06 } 06 else 07 { 08 // program part for all other ranks 09 } 10 MPI_Finalize(); You need to ensure that the code in the rank 0 section only executes on the process that has a rank of 0. Which code segment should you insert at line 02?
8.
You develop a parallel application that will be deployed on a Windows HPC Server 2008 cluster.The application uses point-to-point communication. Lead your way to certificates! The process that has a rank 0 sends an array of integer values to the rank 1 process by using the following code segment. (Line numbers are included for reference only.) 01 int values[5]; 02 MPI_Send(values, 5, MPI_INT, 1, 42, 03 MPI_COMM_WORLD); You need to ensure that each receiving process is able to correctly receive the values in the most efficient manner possible. Which code segment should you use?
9.
You develop a parallel application that will be deployed on a Windows HPC Server 2008 cluster. You write the following code segment that computes an approximation to Pi. (Line numbers are included for reference only.) 01 static int totDarts = 10000; 02 int numDarts = 0; 04 MPI_Comm_size(MPI_COMM_WORLD, &commSize); 05 MPI_Comm_rank(MPI_COMM_WORLD, &commRank); 07 for(i = 0; i < totDarts; i++) { 08 x = 2 * (randomNr() - 0.5); 09 y = 2 * (randomNr() - 0.5); 10 if (x*x + y*y <= 1.0) 11 ++numDarts; 12 } 14 if(commRank == 0) { 15 pi = 4 * total/(commSize * totDarts); Lead your way to certificates! 16 printf("Pi = %d\n", pi); 17 } You need to ensure that the total number of numDarts is only available on the process that has a rank 0. Which code segment should you insert at line 13?
10.
You create a parallel application by using Microsoft Visual Studio 2008. The application prints a message to the console of all Microsoft Message Passing Interface (MPI) processes except for one. The application terminates and displays an error message. You need to change the code in the application so that the application completes successfully. Which set of tasks should you include in the application?