Newer
Older
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
Allinea Performance Reports
===========================
quick application profiling
Introduction
------------
Allinea Performance Reports characterize the performance of HPC
application runs. After executing your application through the tool, a
synthetic HTML report is generated automatically, containing information
about several metrics along with clear behavior statements and hints to
help you improve the efficiency of your runs.
The Allinea Performance Reports is most useful in profiling MPI
programs.
Our license is limited to 64 MPI processes.
Modules
-------
Allinea Performance Reports version 6.0 is available
$ module load PerformanceReports/6.0
The module sets up environment variables, required for using the Allinea
Performance Reports. This particular command loads the default module,
which is performance reports version 4.2.
Usage
-----
Use the the perf-report wrapper on your (MPI) program.
Instead of [running your MPI program the usual
way](../mpi-1.html), use the the perf report wrapper:
$ perf-report mpirun ./mympiprog.x
The mpi program will run as usual. The perf-report creates two
additional files, in *.txt and *.html format, containing the
performance report. Note that [demanding MPI codes should be run within
the queue
system](../../resource-allocation-and-job-execution/job-submission-and-execution.html).
Example
-------
In this example, we will be profiling the mympiprog.x MPI program, using
Allinea performance reports. Assume that the code is compiled with intel
compilers and linked against intel MPI library:
First, we allocate some nodes via the express queue:
$ qsub -q qexp -l select=2:ncpus=16:mpiprocs=16:ompthreads=1 -I
qsub: waiting for job 262197.dm2 to start
qsub: job 262197.dm2 ready
Then we load the modules and run the program the usual way:
$ module load intel impi allinea-perf-report/4.2
$ mpirun ./mympiprog.x
Now lets profile the code:
$ perf-report mpirun ./mympiprog.x
Performance report files
[mympiprog_32p*.txt](mympiprog_32p_2014-10-15_16-56.txt)
and
[mympiprog_32p*.html](mympiprog_32p_2014-10-15_16-56.html)
were created. We can see that the code is very efficient on MPI and is
CPU bounded.