Profiling

Parallel programs are not only challenging to develop - optimizing communication patterns, data partitioning, responsibilities etc. can rival the development challenge for all but embarrassing parallel problems. Profiler for parallel programs can greatly assist the optimization and fine-tuning phase by providing graphical feedback and statistics on time spent by the application vs. the time spent by csWMPI II, the amount of data sent to and from each process, etc. In this way developers have direct, visual means to track down performance bottlenecks and to gain deeper understanding of different approaches.


Vampir and VampirTrace

Vampir (now Intel Trace Analyzer) is a commercial profiler developed by the Pallas HPC group (now part of Intel Software Laboratory). Vampir analyzes and displays trace files generated by VampirTrace (now Intel Trace Collector). Trial versions of Vampir and VampirTrace can be obtained on the following site:

http://www.pallas.com/e/products/vampir

More information on resellers can be found on Intel's Cluster Tools website:

http://www.intel.com/software/products/cluster

We have tested Vampir 4.0 for Redhat Linux 6.1 and VampirTrace 4.0 for Redhat 7.0 and MPICH 1.2.3 on IA32 architectures. A special version of VampirTrace for csWMPI does not exist at the time of writing, however any version for MPICH should work for csWMPI as well. Notice that some Linux distributions do not come with libelf, a needed by VampirTrace. This library can be downloaded from:

http://www.gnu.org/directory/libs/misc/libelf.html

To compile and link your application with VampirTrace you have to link with the profiling version of csWMPI. This library is called libpcsWMPI.a. Moreover, you will have to link with libelf.a, libVT.a, libdwarf.a, libpthread.a and libstd++.a. For instance to compile the pi_calc example with VampirTrace and the profiling version of the csWMPI library do the following:

gcc -o pi_calc pi_calc.c -lelf -lVT -ldwarf -lpcsWMPI -lrt -lpthread -lstdc++

Your application can now be run in a normal manner and trace files will be generated. Please see the documentation distributed with Vampir and VampirTrace for further information on how to configure and use those products.




© 2009 Critical Software SA. All trademarks and copyrights on this page are owned by their respective owners.
cscsWMPI II™, cscsWMPI™ and PatentMPI™ are trademarks of Critical Software SA. All Rights Reserved.