forked from bsc-performance-tools/extrae
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL-examples
144 lines (110 loc) · 6.8 KB
/
INSTALL-examples
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
Configuration & Installation of the package at several machines:
******
All commands given here are given as an example to configure and install the package, you may need to tune them properly.
These examples assume that you are using a sh/bash shell, you must adequate them if you use other shells.
Jugene (Bluegene/P)
--
NOTES:
Bluegene/{L,P,Q} only support static libraries.
COMMAND for BG/P:
./configure --prefix=/homec/jzam11/jzam1128/aplic/extrae/2.2.0 --with-papi=/homec/jzam11/jzam1128/aplic/papi/4.1.2.1 --with-bfd=/bgsys/local/gcc/gnu-linux 4.3.2/powerpc-linux-gnu/powerpc-bgp-linux --with-liberty=/bgsys/local/gcc/gnu-linux 4.3.2/powerpc-bgp-linux --with-mpi=/bgsys/drivers/ppcfloor/comm --without-unwind --without-dyninst
make
make install
COMMAND for BG/Q (without libxml2 support and without binutils):
./configure --prefix=/homec/jzam11/jzam1128/aplic/juqueen/extrae/2.2.1 --with-mpi=/bgsys/drivers/ppcfloor/comm/gcc --without-unwind --without-dyninst --disable-openmp --disable-pthread --with-libz=/bgsys/local/zlib/v1.2.5 --with-papi=/usr/local/UNITE/packages/papi/5.0.1 --disable-xml
make
make install
COMMAND for BG/Q (with libxml2 support and binutils):
** Please note this may need to compile libxml2 and binutils using the GNU cross-compiler for BG/Q (/bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-gcc) **
./configure --prefix=/homec/jzam11/jzam1128/aplic/juqueen/extrae/2.2.1 --with-mpi=/bgsys/drivers/ppcfloor/comm/gcc --without-unwind --without-dyninst --disable-openmp --disable-pthread --with-libz=/bgsys/local/zlib/v1.2.5 --with-papi=/usr/local/UNITE/packages/papi/5.0.1 --with-xml-prefix=/homec/jzam11/jzam1128/aplic/juqueen/libxml2-gcc --enable-merge-in-trace --with-binutils=/homec/jzam11/jzam1128/aplic/juqueen/binutils-gcc
make
make install
Linux
--
NOTES:
COMMAND:
Example 1 - MPICH, OpenMP and PAPI
./configure --prefix=PREFIX --with-mpi=/home/harald/aplic/mpich/1.2.7 --with-papi=/usr/local/papi --enable-openmp
Example 2 - Forcing 32bit package in a 32/64bit mixed environment. Also DynInst and libunwind.
./configure --prefix=PREFIX --with-mpi=/home/harald/aplic/mpich/1.2.7 --with-papi=/usr/local/papi --enable-openmp --without-dyninst --without-unwind
make
make install
Example 3 - Forcing 64bit package in a 32/64bit mixed environment. Also DynInst and libunwind.
./configure --prefix=PREFIX --with-mpi=/opt/osshpc/mpich-mx --with-papi=/gpfs/apps/PAPI/3.6.2-970mp --with-binary-type=64 --with-unwind=$HOME/aplic/unwind/1.0.1/64 --with-elf=/usr --with-dwarf=/usr --with-dyninst=$HOME/aplic/dyninst/7.0.1/64
make
make install
Example 4 - MPICH2 (+ Slurm/MOAB) in a 32/64bit mixed environment. Also use libunwind, but no DynInst.
export MP_IMPL=anl2 ./configure --prefix=PREFIX --with-mpi=/gpfs/apps/MPICH2/mx/1.0.8p1..3/32 --with-papi=/gpfs/apps/PAPI/3.6.2-970mp --with-binary-type=64 --with-unwind=$HOME/aplic/unwind/1.0.1/64 --without-dyninst
make
make install
Example 5 - Linux with Power Processor in a environment with IBM compilers & GNU compilers, using PMAPI instead of PAPI
a) Using IBM compilers
CC=xlc CXX=xlC ./configure --prefix=PREFIX --with-mpi=/opt/ibmhpc/ppe.poe --without-dyninst --without--unwind --without-papi
make
make install
b) Using GNU compilers (and forcing when using MPCC in parallel merge)
./configure --prefix=PREFIX --with-mpi=/opt/ibmhpc/ppe.poe --enable-pmapi --without-unwind --without-dyninst
MP_COMPILER=gcc make
make install
Example 6 - Linux on CRAY XT5 for 64bit package and adding sampling. Notice the "--disable-xmltest". As the backends programs cannot be run in the frontent, we skip running the XML test. Also using a local installation of libunwind.
./configure \
--with-mpi=/opt/cray/mpt/4.0.0/xt/seastar/mpich2-gnu
--with-binary-type=64 \
--with-xml-prefix=/sw/xt5/libxml2/2.7.6/sles10.1_gnu4.1.2
--disable-xmltest \
--with-bfd=/opt/cray/cce/7.1.5/cray-binutils \
--with-liberty=/opt/cray/cce/7.1.5/cray-binutils \
--enable-sampling \
--enable-shared=no \
--prefix=PREFIX \
--with-papi=/opt/xt-tools/papi/3.7.2/v23 \
--with-unwind=/ccs/home/khuck/lib \
CC=cc CFLAGS='-O3 -g' LDFLAGS='-O3 -g' CXX=CC CXXFLAGS='-O3 -g' F77=ftn FFLAGS='-O3 -g'
Example 7 - Compiling on a ARM based processor machine using Linux
If using the GNU toolchain to compile the library, we suggest at least using version 4.6.2 because of its enhaced in this architecture.
Configuration command:
CC=/gpfs/APPS/BIN/GCC-4.6.2/bin/gcc-4.6.2 ./configure --prefix=/gpfs/CEPBATOOLS/extrae/2.2.0 --with-unwind=/gpfs/CEPBATOOLS/libunwind/1.0.1-git --with-papi=/gpfs/CEPBATOOLS/papi/4.2.0 --with-mpi=/usr --enable-posix-clock --without-dyninst
make
make install
Intel MIC accelerators support (KNF and KNC):
--
The Intel MIC accelerators are not binary compatible with the host (even if it is a x86 chip), thus the Extrae package must be compiled twice, one for the host and one for the accelerator. While the host configuration and installation has been shown before, in order to compile Extrae for the accelerator you must configure Extrae like:
./configure --with-mpi=/opt/intel/impi/4.1.0.024/mic --without-dyninst --without-papi --without-unwind --disable-xml --disable-posix-clock --with-libz=/opt/extrae/zlib-mic --host=x86_64-suse-linux-gnu --prefix=/home/Computational/harald/extrae-mic CFLAGS="-O -mmic -I/usr/include" --enable-mic CC=icc CXX=icpc MPICC=/opt/intel/impi/4.1.0.024/mic/bin/mpiicc
To compile it, just issue
make
make install
AIX
--
NOTES:
Some extensions of Extrae do not work properly (nanos, SMPss and OpenMP).
In addition, if using IBM MPI (aka POE) the make will complain when generating the parallel merge if the main compiler is not xlc/xlC. So, you can change the compiler or disable the parallel merge at compile step.
Command ar can complain if 64bit binaries are generated. It's a good idea to run make with OBJECT_MODE=64 set to avoid this.
Example 2 - Compiling the 64bit package without the parallel merge
./configure --prefix=PREFIX --disable-nanos --disable-smpss --disable-openmp --disable-parallel-merge --with-binary-type=64 --without-unwind --enable-pmapi --without-dyninst --with-mpi=/usr/lpp/ppe.poe
OBJECT_MODE=64 make
make install
MAC OS X
--
NOTES:
This platform is not supported
./configure --prefix=/Users/bsccns/T --with-mpi=/Users/bsccns/aplic/openmpi/1.4.4 --without-dyninst --without-papi --without-unwind --with-execinfo=/usr --with-bfd=/opt/local --with-liberty=/opt/local
make
make install
ANDROID OS (Cross Compiling)
--
CFLAGS="--sysroot=${NDK_SROOT}" LDFLAGS="--sysroot=${NDK_SROOT}" ./configure \
--host=arm-linux-androideabi \
--prefix=... \
--without-mpi \
--with-papi=.../papi/ \
--without-dyninst \
--with-binutils=.../binutils/ \
--with-unwind=.../libunwind/ \
--without-boost \
--with-xml-exec-prefix=.../xml/ \
--with-libz=${NDK_SROOT}/usr/ \
--disable-posix-clock \
--enable-gettimeofday-clock \
--enable-openmp \
--with-opencl=${NDK_SROOT}/usr/
make && make install