Download Cluster OpenMP User`s Guide

Transcript
Evaluating Cluster OpenMP* Performance
9
Evaluating Cluster OpenMP*
Performance
This section describes a set of steps you can use to test the performance of Cluster
OpenMP* for your program. The process includes using a script packaged with the tool
that can help you determine whether a given OpenMP* program is suitable for running
on a cluster with Cluster OpenMP, and how many nodes are appropriate.
CAUTION: This section assumes that you have access to at least one multi-processor Itanium®based or processors with Intel® 64 architecture or compatible processors.
To evaluate your code’s performance with Cluster OpenMP, do the following in order:
1.
Ensure that your code gets good speedup with Cluster OpenMP* in one process.
To do this:
⎯ Port the code to Cluster OpenMP by adding sharable directives wherever they
are needed. See Chapter 7, Porting Your Code.
⎯ Run the one-process Cluster OpenMP form of the program (compiled with
-cluster-openmp) with one thread and record runtime.
⎯ Run the one-process Cluster OpenMP form of the program with n threads,
where n is the number of processors in one node.
⎯ If the speedup achieved for n threads is not close to n, then the code is not
suitable for Cluster OpenMP. Consider the formula:
Speedup = Time(1 thread) / Time(n threads)
Speedup should be approximately equal to n.
XRR
T
X
RRX
X
T
T
2.
T
Run the Cluster OpenMP code as multiple processes on one node.
Build the code with –cluster-openmp-profile and make at least two runs on one
or more nodes of the cluster, collecting the .gvs files produced from each run:
one process, one thread per process (options
process_threads=1
processes=1)
k processes, one thread per process (options
process_threads=1
processes=k)
T
T
T
T
The projections are most accurate for k nodes.
T
T
This step simulates a multi-node run by using multiple processes on one or more
nodes. Over-subscribing a node may cause the program to run much slower than
it would on k nodes, but in this step execution time is not being measured.
Rather, statistics are being gathered about how many messages are exchanged by
the processes and the volume of data being transmitted in those messages.
This step produces files with the suffix *.gvs.
T
User Manual
T
45