From f7f558140782d2f780d588fa7aa638469c510da8 Mon Sep 17 00:00:00 2001
From: Lars Jitschin <Lars.Jitschin@tu-dresden.de>
Date: Thu, 1 Jul 2021 11:33:58 +0200
Subject: [PATCH] ScoreP page zu Markdown

---
 doc.zih.tu-dresden.de/docs/software/ScoreP.md | 80 +++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 doc.zih.tu-dresden.de/docs/software/ScoreP.md

diff --git a/doc.zih.tu-dresden.de/docs/software/ScoreP.md b/doc.zih.tu-dresden.de/docs/software/ScoreP.md
new file mode 100644
index 000000000..f30ea7553
--- /dev/null
+++ b/doc.zih.tu-dresden.de/docs/software/ScoreP.md
@@ -0,0 +1,80 @@
+# Score-P
+
+The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling, event tracing, and online analysis of HPC applications.
+Currently, it works with the analysis tools Vampir, Scalasca, Periscope, and Tau.
+Score-P supports lots of features e.g.
+
+* MPI, SHMEM, OpenMP, pthreads, and hybrid programs
+* Manual source code instrumentation
+* Monitoring of CUDA applications
+* Recording hardware counter by using PAPI library
+* Function filtering and grouping 
+
+Only the basic usage is shown in this Wiki. For a comprehensive Score-P user manual refer to the [Score-P website](https://www.score-p.org/).
+
+Before using Score-P, set up the correct environment with
+
+```bash
+module load scorep
+```
+
+To make measurements with Score-P, the user's application program needs to be instrumented, i.e., at specific important points ("events") Score-P measurement calls have to be activated. By default, Score-P handles this automatically. In order to enable instrumentation of function calls, MPI as well as OpenMP events, the user only needs to prepend the Score-P wrapper to the usual compiler and linker commands. The following sections show some examples depending on the parallelization type of the program.
+
+## Serial programs
+
+* original: `ifort a.f90 b.f90 -o myprog`
+* with instrumentation:	`scorep ifort a.f90 b.f90 -o myprog`
+
+This will instrument user functions (if supported by the compiler) and link the Score-P library.
+
+## MPI parallel programs
+
+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`
+
+MPI implementations without own compilers (as on the Altix) 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`
+
+However, if Score-P falis 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`
+
+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.
+
+## OpenMP parallel programs
+
+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`
+
+## 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`
+
+## Score-P instrumenter option overview
+Type of instrumentation | Instrumenter switch | Default value | Runtime measurement control
+--- | --- | --- | ---
+MPI | `--mpp=mpi` | (auto) | (see Sec. Selection of MPI Groups )
+SHMEM | `--mpp=shmem` | (auto) | —
+OpenMP | `--thread=omp` | (auto) | —
+Pthread | `--thread=pthread` | (auto) | —
+Compiler (see Sec. Automatic Compiler Instrumentation ) | `--compiler/--nocompiler` | enabled | Filtering (see Sec. Filtering )
+PDT instrumentation (see Sec. Source-Code Instrumentation Using PDT ) | `--pdt/--nopdt` | disabled | Filtering (see Sec. Filtering )
+POMP2 user regions (see Sec. Semi-Automatic Instrumentation of POMP2 User Regions ) | `--pomp/--nopomp` | depends on OpenMP usage | Filtering (see Sec. Filtering )
+Manual (see Sec. Manual Region Instrumentation ) | `--user/--nouser` | disabled | Filtering (see Sec. Filtering ) and selective recording (see Sec. Selective Recording )
+
+## Application Measurement
+
+After the application run, you will find an experiment directory in your current working directory, which contains all recorded data.
+In general, you can record a profile and/or a event trace. Whether a profile and/or a trace is recorded, is specified by the environment variables [`SCOREP_ENABLE_PROFILING`](https://silc.zih.tu-dresden.de/scorep-current/html/scorepmeasurementconfig.html#SCOREP_ENABLE_PROFILING) and [`SCOREP_ENABLE_TRACING`](https://silc.zih.tu-dresden.de/scorep-current/html/scorepmeasurementconfig.html#SCOREP_ENABLE_TRACING) . If the value of this variables is zero or false, profiling/tracing is disabled. Otherwise Score-P will record a profile and/or trace. By default, profiling is enabled and tracing is disabled. For more information please see [the list of Score-P measurement configuration variables](https://silc.zih.tu-dresden.de/scorep-current/html/scorepmeasurementconfig.html).
+
+You may start with a profiling run, because of its lower space requirements. According to profiling results, you may configure the trace buffer limits, filtering or selective recording for recording traces.
+Score-P allows to configure several parameters via environment variables. After the measurement run you can find a scorep.cfg file in your experiment directory which contains the configuration of the measurement run. If you had not set configuration values explicitly, the file will contain the default values. 
\ No newline at end of file
-- 
GitLab