Basilisk source code (http://basilisk.fr/src/)

root / src / README.paraver.page

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
# Profiling with Paraver

Basilisk can be compiled to generate execution traces which can be
analyzed with [Paraver](https://tools.bsc.es/paraver).

## Extrae installation

Traces are generated using the [Extrae](https://tools.bsc.es/extrae)
library which needs to be installed on the system. See the [Extrae
documentation](https://tools.bsc.es/sites/default/files/documentation/pdf/extrae-3.5.2-user-guide.pdf)
for a detailed description of installation. On a Debian-like system,
the following can help you.

~~~bash
sudo apt-get install libunwind-dev libboost-dev libpapi-dev \
     libxml2-dev binutils-dev libiberty-dev
./configure --prefix=$HOME/local --with-mpi=/usr/lib/openmpi \
	    --with-unwind=/usr --without-dyninst --with-papi=/usr \
	    --with-binutils=/usr --enable-instrument-io
make
make install
~~~


## Extrae configuration and usage

Add to e.g. `.bashrc`

~~~bash
export EXTRAE_HOME=$HOME/local
source $EXTRAE_HOME/etc/extrae.sh
~~~

To profile a sequential test case (e.g. `bump2D.tst`), you can use

~~~bash
export EXTRAE_CONFIG_FILE=$BASILISK/paraver/extrae.xml
CFLAGS="-DTRACE=1 -I$EXTRAE_HOME/include" \
	LIBS="-L$EXTRAE_HOME/lib -lseqtrace" make bump2D.tst
~~~

For an MPI test case, use `-lmpitrace` instead. See the [Extrae
documentation](https://tools.bsc.es/sites/default/files/documentation/pdf/extrae-3.5.2-user-guide.pdf)
for detailed explanations. The doc is also in
`$EXTRAE_HOME/share/doc/user-guide.pdf`.

After the run, several files are generated (e.g. `bump2D/bump2D.prv`,
`bump2D/bump2D.pcf` etc...) which can be displayed with Paraver.

To get you started with Paraver, several configuration files are
provided in `$BASILISK/paraver`. You should also install and do the
useful [tutorials](https://tools.bsc.es/tutorial_guidelines).

## Paraver installation

Paraver should be installable from source, however it does not seem to
work with recent versions of wxwidget (see below). Binaries for
various operating systems are available for
[download](https://tools.bsc.es/downloads).

This is the script which eventually fails on Debian 8.

~~~bash
sudo apt-get install libwxgtk3.0-dev libboost-serialization-dev
cd paraver-toolset
./configure --prefix=$HOME/local
make && make install
cd ../ptools_common_files
./configure --prefix=$HOME/local
make && make install
cd ../paraver-kernel
./configure --prefix=$HOME/local \
	    --with-boost-serialization=boost_serialization \
	    --with-ptools-common-files=$HOME/local
make && make install
cd ../wxparaver
./configure --prefix=$HOME/local \
	    --with-boost-serialization=boost_serialization \
	    --with-paraver=$HOME/local \
	    --with-extrae=$HOME/local
make && make install
~~~

Unfortunately this does not work. Seems to be a problem with WxPropertyGrid.