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