Which command should you use?
You submit a Microsoft Message Passing Interface (MPI) job named App.exe to a Windows HPC Server 2008 cluster. The job is designed to use exactly eight ranks. The job achieves the highest efficiency with one MPI rank for each physical processor. You do not know the number of nodes in the cluster. You need to ensure that the following requirements are met:
App.exe must run with exactly eight ranks.
Each MPI rank must run on a separate physical processor.
Which command should you use?
Which command should you use?
You use a Windows HPC Server 2008 cluster that has three dual-core nodes. You have a new Microsoft Message Passing Interface (MPI) job named Job1.exe that is designed to run as two processes on every node used.
You need to ensure that Job1.exe will run on all cores in the cluster.
Which command should you use?
What should you do?
You create a new application that uses a Windows HPC Server 2008 cluster. The company policy specifies the following limits:
Members of the ClusterUsers role can assign a maximum of 6 sockets to a job. Members of the ClusterDevelopers role can assign a maximum of 8 sockets. Members of the ClusterEngineers role can assign a maximum of 12 sockets. The default job template includes the Maximum Sockets parameter set to 6 and the Unit Types parameter set to include cores, sockets, and nodes. You are a member of the ClusterUsers and ClusterDevelopers roles. You submit a job to run the new application on 8 sockets. However, you receive an error. You discover that the credentials are valid and the permissions are set correctly. You need to ensure that the job can successfully be submitted to run on 8 sockets without compromising the company policy.
What should you do?
Which PowerShell cmdlet should you use?
You develop an application for a Windows HPC Server 2008 cluster. You want to verify whether a customer s cl uter meets the configuration requirements of your application. The customer provides you remote access to the cluster. You need to retrieve information including the number of nodes, jobs, and tasks in various states on the cluster.
Which PowerShell cmdlet should you use?
Which script should you use?
You create a job that has two tasks named Task1.exe and Task2.exe. Task2.exe requires a minimum of two cores for optimum performance of your application. The corporate policy states that you must use a maximum of four cores to run a job. You need to write a Windows PowerShell script to use all the four cores to run the job every time the job is run.
Which script should you use?
What should you do?
You create an OpenMP application using Microsoft Visual C++. The application includes the following code segment. (Line numbers are included for reference only.)
01 omp_set_num_threads(10);
03 #pragma omp parallel
04 {
05 //Other code
06 #pragma omp barrier
07 int amount;
08 //Other code
09 amount++;
10 }
You set a breakpoint at line 09 and then start the debugger. You need to change the value for the variable amount to 15 only for the main thread.
What should you do?
What should you do?
You create an OpenMP application by using Microsoft Visual C++. You are debugging your application. The OpenMP parallel region contains a breakpoint. When the breakpoint is reached, the Threads window displays multiple threads that are running. You need to identify the point of execution of all threads in the OpenMP parallel region. What should you do?
What should you do?
You create an OpenMP application by using Microsoft Visual C++. You are debugging the application. You set a breakpoint to the first line of code inside an OpenMP parallel region.
The first thread execution inside the OpenMP parallel region must be debugged. You need to ensure that you debug the first thread in isolation when you step through the code.
What should you do?
Which line of code should you insert at line 06?
You create an OpenMP application by using Microsoft Visual C++. The application includes an OpenMP parallel region. The region contains the following code segment.
(Line numbers are included for reference only.)
01 int global=0;
03 void PerformComputation(int value)
04 {
05 //…
07 global+=value;
08 }
10 int _tmain(int argc, _TCHAR* argv[])
11 {
12 #pragma omp parallel for
13 for(int count=0;count<100;count++)
14 {
15 //…
16 PerformComputation(count);
17 //…
18 }
19 }
For each iteration that updates the global variable, the for loop must call the PerformComputation method.
You need to ensure that shared memory access to the global variable is protected.
Which line of code should you insert at line 06?
Which two actions should you perform?
You develop an application that reads data from a file, performs calculations on the data, and writes the result to another file. The read and write operations are atomic and are not parallelized.You divide the calculation tasks across a set of threads by using the following do construct. (Line numbers are included for reference only.)
01 #pragma omp parallel shared(in, out, len)
02 {
03 read_array(in, len);
05 #pragma omp for private(j)
06 for(j=1; j<len; j++)
07 compute_result(out(j),in,len);
08 write_array(out, len);
09 }
You need to ensure that the read and write tasks are performed by a single thread. Which two actions should you perform? (Each correct answer presents part of the solution.
Choose two.)