Skip to content
Snippets Groups Projects
Commit fe72489c authored by Bert Wesarg's avatar Bert Wesarg :keyboard:
Browse files

perftools: Comply with new prompt rules

parent 7c2cd0c3
No related branches found
No related tags found
3 merge requests!322Merge preview into main,!319Merge preview into main,!220perftools: Comply with new prompt rules
...@@ -16,7 +16,7 @@ Only the basic usage is shown in this Wiki. For a comprehensive Score-P user man ...@@ -16,7 +16,7 @@ Only the basic usage is shown in this Wiki. For a comprehensive Score-P user man
Before using Score-P, set up the correct environment with Before using Score-P, set up the correct environment with
```console ```console
$ module load Score-P marie@login$ module load Score-P
``` ```
To make measurements with Score-P, the user's application program needs to be instrumented, i.e., at To make measurements with Score-P, the user's application program needs to be instrumented, i.e., at
...@@ -28,8 +28,17 @@ the program. ...@@ -28,8 +28,17 @@ the program.
## Serial Programs ## Serial Programs
* original: `ifort a.f90 b.f90 -o myprog` Original:
* with instrumentation: `scorep ifort a.f90 b.f90 -o myprog`
```console
marie@login$ ifort a.f90 b.f90 -o myprog
```
With instrumentation:
```console
marie@login$ scorep ifort a.f90 b.f90 -o myprog
```
This will instrument user functions (if supported by the compiler) and link the Score-P library. This will instrument user functions (if supported by the compiler) and link the Score-P library.
...@@ -38,20 +47,47 @@ This will instrument user functions (if supported by the compiler) and link the ...@@ -38,20 +47,47 @@ This will instrument user functions (if supported by the compiler) and link the
If your MPI implementation uses MPI compilers, Score-P will detect MPI parallelization If your MPI implementation uses MPI compilers, Score-P will detect MPI parallelization
automatically: automatically:
* original: `mpicc hello.c -o hello` Original:
* with instrumentation: `scorep mpicc hello.c -o hello`
```console
marie@login$ mpicc hello.c -o hello
```
With instrumentation:
```console
marie@login$ scorep mpicc hello.c -o hello
```
MPI implementations without own compilers require the user to link the MPI library MPI implementations without own compilers require the user to link the MPI library
manually. Even in this case, Score-P will detect MPI parallelization automatically: manually. Even in this case, Score-P will detect MPI parallelization automatically:
* original: `icc hello.c -o hello -lmpi` Original:
* with instrumentation: `scorep icc hello.c -o hello -lmpi`
```console
marie@login$ icc hello.c -o hello -lmpi
```
With instrumentation:
```console
marie@login$ scorep icc hello.c -o hello -lmpi
```
However, if Score-P fails to detect MPI parallelization automatically you can manually select MPI However, if Score-P fails to detect MPI parallelization automatically you can manually select MPI
instrumentation: instrumentation:
* original: `icc hello.c -o hello -lmpi` Original:
* with instrumentation: `scorep --mpp=mpi icc hello.c -o hello -lmpi`
```console
marie@login$ icc hello.c -o hello -lmpi
```
With instrumentation:
```console
marie@login$ scorep --mpp=mpi icc hello.c -o hello -lmpi
```
If you want to instrument MPI events only (creates less overhead and smaller trace files) use the If you want to instrument MPI events only (creates less overhead and smaller trace files) use the
option `--nocompiler` to disable automatic instrumentation of user functions. option `--nocompiler` to disable automatic instrumentation of user functions.
...@@ -61,15 +97,33 @@ option `--nocompiler` to disable automatic instrumentation of user functions. ...@@ -61,15 +97,33 @@ option `--nocompiler` to disable automatic instrumentation of user functions.
When Score-P detects OpenMP flags on the command line, OPARI2 is invoked for automatic source code When Score-P detects OpenMP flags on the command line, OPARI2 is invoked for automatic source code
instrumentation of OpenMP events: instrumentation of OpenMP events:
* original: `ifort -openmp pi.f -o pi` Original:
* with instrumentation: `scorep ifort -openmp pi.f -o pi`
```console
marie@login$ ifort -openmp pi.f -o pi
```
With instrumentation:
```console
marie@login$ scorep ifort -openmp pi.f -o pi
```
## Hybrid MPI/OpenMP Parallel Programs ## Hybrid MPI/OpenMP Parallel Programs
With a combination of the above mentioned approaches, hybrid applications can be instrumented: With a combination of the above mentioned approaches, hybrid applications can be instrumented:
* original: `mpif90 -openmp hybrid.F90 -o hybrid` Original:
* with instrumentation: `scorep mpif90 -openmp hybrid.F90 -o hybrid`
```console
marie@login$ mpif90 -openmp hybrid.F90 -o hybrid
```
With instrumentation:
```console
marie@login$ scorep mpif90 -openmp hybrid.F90 -o hybrid
```
## Score-P Instrumenter Option Overview ## Score-P Instrumenter Option Overview
......
...@@ -26,7 +26,7 @@ Prior to using Vampir you need to set up the correct environment on one ...@@ -26,7 +26,7 @@ Prior to using Vampir you need to set up the correct environment on one
the HPC systems with: the HPC systems with:
```console ```console
$ module load Vampir marie@login$ module load Vampir
``` ```
For members of TU Dresden the Vampir tool is also available as For members of TU Dresden the Vampir tool is also available as
...@@ -37,7 +37,7 @@ Make sure, that compressed display forwarding (e.g., `ssh -YC taurus.hrsk.tu-dre ...@@ -37,7 +37,7 @@ Make sure, that compressed display forwarding (e.g., `ssh -YC taurus.hrsk.tu-dre
enabled. Start the GUI by typing enabled. Start the GUI by typing
```console ```console
$ vampir marie@login$ vampir
``` ```
on your command line or by double-clicking the Vampir icon on your personal computer. on your command line or by double-clicking the Vampir icon on your personal computer.
...@@ -65,27 +65,21 @@ Please be patient and take a look at available resources beforehand. ...@@ -65,27 +65,21 @@ Please be patient and take a look at available resources beforehand.
### Manual Server Startup ### Manual Server Startup
VampirServer is a parallel MPI program, which can also be started manually by typing: VampirServer is a parallel MPI program, which should be started by typing:
```console ```console
$ vampirserver start marie@login$ vampirserver start
``` Launching VampirServer...
Submitting slurm 30 minutes job (this might take a while)...
Above automatically allocates its resources via the respective batch system. Use
```console
$ vampirserver start mpi
``` ```
or Above automatically allocates its resources via the respective batch system. If you want to start
VampirServer without a batch allocation or from inside an interactive allocation, use
```console ```console
$ vampirserver start srun marie@compute$ vampirserver start srun
``` ```
if you want to start vampirserver without batch allocation or inside an interactive allocation. The
latter is needed whenever you manually take care of the resource allocation by yourself.
After scheduling this job the server prints out the port number it is serving on, like `Listen port: After scheduling this job the server prints out the port number it is serving on, like `Listen port:
30088`. 30088`.
...@@ -96,16 +90,16 @@ name* in the *Open Remote* dialog of Vampir. ...@@ -96,16 +90,16 @@ name* in the *Open Remote* dialog of Vampir.
{: align="center"} {: align="center"}
Please make sure you stop VampirServer after finishing your work with Please make sure you stop VampirServer after finishing your work with
the front-end or with the front-end (*File**Shutdown Server...*) or with
```console ```console
$ vampirserver stop marie@login$ vampirserver stop
``` ```
Type Type
```console ```console
$ vampirserver help marie@login$ vampirserver help
``` ```
for further information. The [user manual](http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/vampir/dateien/VampirServer-User-Manual.pdf) for further information. The [user manual](http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/vampir/dateien/VampirServer-User-Manual.pdf)
...@@ -113,7 +107,7 @@ of VampirServer can be found at `doc/vampirserver-manual.pdf` in the installatio ...@@ -113,7 +107,7 @@ of VampirServer can be found at `doc/vampirserver-manual.pdf` in the installatio
Type Type
```console ```console
$ which vampirserver marie@login$ which vampirserver
``` ```
to find the revision dependent *installation directory*. to find the revision dependent *installation directory*.
...@@ -128,33 +122,39 @@ the tunneling to a VampirServer on a compute node. ...@@ -128,33 +122,39 @@ the tunneling to a VampirServer on a compute node.
Start VampirServer on the ZIH system and wait for its scheduling: Start VampirServer on the ZIH system and wait for its scheduling:
```console ```console
$ vampirserver start marie@login$ vampirserver start
```
and wait for scheduling
```console
Launching VampirServer... Launching VampirServer...
Submitting slurm 30 minutes job (this might take a while)... Submitting slurm 30 minutes job (this might take a while)...
salloc: Granted job allocation 2753510 salloc: Granted job allocation 2753510
VampirServer 8.1.0 (r8451) VampirServer 8.1.0 (r8451)
Licensed to ZIH, TU Dresden Licensed to ZIH, TU Dresden
Running 4 analysis processes... (abort with vampirserver stop 594) Running 4 analysis processes... (abort with vampirserver stop 594)
VampirServer listens on: taurusi1253:30055 VampirServer <594> listens on: taurusi1253:30055
``` ```
Open a second console on your local desktop and create an ssh tunnel to the compute node with: Or choose from an already running VampirServer:
```console ```console
$ ssh -L 30000:taurusi1253:30055 taurus.hrsk.tu-dresden.de marie@login$ vampirserver list
594 taurusi1253:30055 [4x, slurm]
```
Open a second console on your local computer and establish an SSH tunnel to the compute node with:
```console
marie@local$ ssh -L 30000:taurusi1253:30055 taurus.hrsk.tu-dresden.de
``` ```
Now, the port 30000 on your desktop is connected to the VampirServer port 30055 at the compute node Now, the port 30000 on your desktop is connected to the VampirServer port 30055 at the compute node
taurusi1253 of Taurus. Finally, start your local Vampir client and establish a remote connection to taurusi1253 of Taurus. Finally, start your local Vampir client and establish a remote connection to
`localhost`, port 30000 as described in the manual. `localhost`, port 30000 as described in the manual.
Remark: Please substitute the ports given in this example with appropriate numbers and available ```console
ports. marie@local$ vampir
```
**Remark:** Please substitute the ports given in this example with appropriate numbers and available
ports based on the output from `vampirserver start` or `vampirserver list`.
### Nightly Builds (unstable) ### Nightly Builds (unstable)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment