diff --git a/doc.zih.tu-dresden.de/docs/software/scorep.md b/doc.zih.tu-dresden.de/docs/software/scorep.md index 504224d8c69c81c0db890d24e3cd64413895ff8d..eeea99ad110477282ec3897d69d65e800885cda8 100644 --- a/doc.zih.tu-dresden.de/docs/software/scorep.md +++ b/doc.zih.tu-dresden.de/docs/software/scorep.md @@ -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 ```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 @@ -28,8 +28,17 @@ the program. ## Serial Programs -* original: `ifort a.f90 b.f90 -o myprog` -* with instrumentation: `scorep ifort a.f90 b.f90 -o myprog` +Original: + +```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. @@ -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 automatically: -* original: `mpicc hello.c -o hello` -* with instrumentation: `scorep mpicc hello.c -o hello` +Original: + +```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 manually. Even in this case, Score-P will detect MPI parallelization automatically: -* original: `icc hello.c -o hello -lmpi` -* with instrumentation: `scorep icc hello.c -o hello -lmpi` +Original: + +```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 instrumentation: -* original: `icc hello.c -o hello -lmpi` -* with instrumentation: `scorep --mpp=mpi icc hello.c -o hello -lmpi` +Original: + +```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 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 instrumentation of OpenMP events: -* original: `ifort -openmp pi.f -o pi` -* with instrumentation: `scorep ifort -openmp pi.f -o pi` +Original: + +```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 With a combination of the above mentioned approaches, hybrid applications can be instrumented: -* original: `mpif90 -openmp hybrid.F90 -o hybrid` -* with instrumentation: `scorep mpif90 -openmp hybrid.F90 -o hybrid` +Original: + +```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 diff --git a/doc.zih.tu-dresden.de/docs/software/vampir.md b/doc.zih.tu-dresden.de/docs/software/vampir.md index b00f7a8d2682ff4319b07c2fc204a0440c63f90a..465d28925302091bf0e0d66156753452c3608912 100644 --- a/doc.zih.tu-dresden.de/docs/software/vampir.md +++ b/doc.zih.tu-dresden.de/docs/software/vampir.md @@ -26,7 +26,7 @@ Prior to using Vampir you need to set up the correct environment on one the HPC systems with: ```console -$ module load Vampir +marie@login$ module load Vampir ``` 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 enabled. Start the GUI by typing ```console -$ vampir +marie@login$ vampir ``` 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. ### 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 -$ vampirserver start -``` - -Above automatically allocates its resources via the respective batch system. Use - -```console -$ vampirserver start mpi +marie@login$ vampirserver start +Launching VampirServer... +Submitting slurm 30 minutes job (this might take a while)... ``` -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 -$ 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: 30088`. @@ -96,16 +90,16 @@ name* in the *Open Remote* dialog of Vampir. {: align="center"} 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 -$ vampirserver stop +marie@login$ vampirserver stop ``` Type ```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) @@ -113,7 +107,7 @@ of VampirServer can be found at `doc/vampirserver-manual.pdf` in the installatio Type ```console -$ which vampirserver +marie@login$ which vampirserver ``` to find the revision dependent *installation directory*. @@ -128,33 +122,39 @@ the tunneling to a VampirServer on a compute node. Start VampirServer on the ZIH system and wait for its scheduling: ```console -$ vampirserver start -``` - -and wait for scheduling - -```console +marie@login$ vampirserver start Launching VampirServer... Submitting slurm 30 minutes job (this might take a while)... salloc: Granted job allocation 2753510 VampirServer 8.1.0 (r8451) Licensed to ZIH, TU Dresden 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 -$ 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 taurusi1253 of Taurus. Finally, start your local Vampir client and establish a remote connection to `localhost`, port 30000 as described in the manual. -Remark: Please substitute the ports given in this example with appropriate numbers and available -ports. +```console +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)