Wednesday, August 10, 2011

Performance Analysis Tools: MPE2, mpiP and libunwind Installation on Linux

I have built all these tools on our clusters using Intel compilers. Location of all the executables like icc, ifort, icpc, mpicc, etc have already been added to the path. The locations of intel, mpi libraries are appended to LD_LIBRARY_PATH. If you haven't done it yet then you can do that using export PATH=$PATH: and export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. Better add these two lines to your ~/.bashrc.

First, I had to build libunwind so that mpiP can be built using this. It can be downloaded at http://www.nongnu.org/libunwind/.

Building libunwind

$ ./configure CC=icc CFLAGS="-g -O3 -fPIC -align -Zp8 -axP -unroll -xP -ip" CXX=icc \
CCAS=icc CCASFLAGS="-g -O3 -fPIC -align -Zp8 -axP -unroll -xP -ip" \
LDFLAGS="-L$PWD/src/.libs" --prefix=/home/manchu/libunwind/ \
--exec-prefix=/home/manchu/libunwind/ --enable-cxx-exceptions --enable-debug
$ make
$ sudo bash
$ make install
Profiling tool mpiP can be downloaded at http://mpip.sourceforge.net/.

Building mpiP

$ ./configure --prefix=/home/manchu/mpiP/ --exec-prefix=/home/manchu/mpiP/ \
CC=mpicc CFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" F77=mpif77 \
FFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" --with-cxx=mpic++ \
CXXFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" --enable-demangling=GNU \
--enable-fortranweak --enable-getarg --with-libunwind=/home/manchu/libunwind/lib/ \
--enable-collective-report-default
$ make
$ sudo bash
$ make install
You can download the profiling cum tracing tool MPE2 here. If you're installing MPICH2 then don't bother about this as it comes with this package.

Building MPE2

$ ./configure --prefix=/home/manchu/mpe2/ --exec-prefix=/home/manchu/mpe2/ \
CC=icc CFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" MPI_CC=mpicc \
MPI_CFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" F77=ifort \
FFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" MPI_F77=mpif77 \
MPI_FFLAGS="-O2 -fPIC -align -Zp8 -axP -unroll -xP -ip" --enable-collchk \
--enable-wrappers --enable-checkMPIwtime --enable-g
$ make
$ sudo bash
$ make install
If you see any problems with finding libraries then I recommend you add LDFLAGS as well as CPPFLAGS, etc. Do ./configure -help to see more options.

No comments:

PBS Script Generator: Interdependent dropdown/select menus in Javascript

PBS SCRIPT GENERATOR
SH/BASH TCSH/CSH
Begin End Abort

About Me

LA, CA, United States
Here I write about the battles that have been going on in my mind. It's pretty much a scribble.

Sreedhar Manchu

Sreedhar Manchu
Higher Education: Not a simple life anymore