diff --git a/doc.zih.tu-dresden.de/docs/archive/vampir_trace.md b/doc.zih.tu-dresden.de/docs/archive/vampirtrace.md similarity index 55% rename from doc.zih.tu-dresden.de/docs/archive/vampir_trace.md rename to doc.zih.tu-dresden.de/docs/archive/vampirtrace.md index 76d267cf1d5eb7115dd26417b42638ca16e07040..15746b60035e4ec7999159693dcaa56ca5f54f9f 100644 --- a/doc.zih.tu-dresden.de/docs/archive/vampir_trace.md +++ b/doc.zih.tu-dresden.de/docs/archive/vampirtrace.md @@ -1,16 +1,21 @@ # VampirTrace -VampirTrace is a performance monitoring tool, that produces tracefiles -during a program run. These tracefiles can be analyzed and visualized by -the tool [Vampir] **todo** Vampir. Vampir Supports lots of features -e.g. - -- MPI, OpenMP, pthreads, and hybrid programs -- Manual source code instrumentation -- Recording hardware counter by using PAPI library -- Memory allocation tracing -- I/O tracing -- Function filtering and grouping +!!! warning + + As of 2014 VampirTrace is discontinued. This site only serves an archival purpose. The official + successor is the new Scalable Performance Measurement Infrastructure + [Score-P](../software/scorep.md). + +VampirTrace is a performance monitoring tool, that produces tracefiles during a program run. These +tracefiles can be analyzed and visualized by the tool [Vampir](../software/vampir.md). VampirTrace +supports lots of features e.g. + +- MPI, OpenMP, Pthreads, and hybrid programs +- Manual source code instrumentation +- Recording hardware counter by using PAPI library +- Memory allocation tracing +- I/O tracing +- Function filtering and grouping Only the basic usage is shown in this Wiki. For a comprehensive VampirTrace user manual refer to the @@ -18,86 +23,77 @@ VampirTrace user manual refer to the Before using VampirTrace, set up the correct environment with -```Bash +```console module load vampirtrace ``` -To make measurements with VampirTrace, the user's application program -needs to be instrumented, i.e., at specific important points -(\`\`events'') VampirTrace measurement calls have to be activated. By -default, VampirTrace handles this automatically. In order to enable -instrumentation of function calls, MPI as well as OpenMP events, the -user only needs to replace the compiler and linker commands with -VampirTrace's wrappers. Following wrappers exist: +To make measurements with VampirTrace, the user's application program needs to be instrumented, +i.e., at specific important points (*events*) VampirTrace measurement calls have to be activated. By +default, VampirTrace handles this automatically. In order to enable instrumentation of function +calls, MPI as well as OpenMP events, the user only needs to replace the compiler and linker commands +with VampirTrace's wrappers. Following wrappers exist: -| | | -|----------------------|-----------------------------| | Programming Language | VampirTrace Wrapper Command | +|----------------------|-----------------------------| | C | `vtcc` | | C++ | `vtcxx` | | Fortran 77 | `vtf77` | | Fortran 90 | `vtf90` | -The following sections show some examples depending on the -parallelization type of the program. +The following sections show some examples depending on the parallelization type of the program. -## Serial programs +## Serial Programs -Compiling serial code is the default behavior of the wrappers. Simply -replace the compiler by VampirTrace's wrapper: +Compiling serial code is the default behavior of the wrappers. Simply replace the compiler by +VampirTrace's wrapper: | | | |----------------------|-------------------------------| | original | `ifort a.f90 b.f90 -o myprog` | | with instrumentation | `vtf90 a.f90 b.f90 -o myprog` | -This will instrument user functions (if supported by compiler) and link -the VampirTrace library. +This will instrument user functions (if supported by compiler) and link the VampirTrace library. -## MPI parallel programs +## MPI Parallel Programs -If your MPI implementation uses MPI compilers (this is the case on -Deimos), you need to tell VampirTrace's wrapper to use this compiler -instead of the serial one: +If your MPI implementation uses MPI compilers (this is the case on [Deimos](system_deimos.md)), you +need to tell VampirTrace's wrapper to use this compiler instead of the serial one: | | | |----------------------|--------------------------------------| | original | `mpicc hello.c -o hello` | | with instrumentation | `vtcc -vt:cc mpicc hello.c -o hello` | -MPI implementations without own compilers (as on the Altix) require the -user to link the MPI library manually. In this case, you simply replace -the compiler by VampirTrace's compiler wrapper: +MPI implementations without own compilers (as on the [Altix](system_altix.md) require the user to +link the MPI library manually. In this case, you simply replace the compiler by VampirTrace's +compiler wrapper: | | | |----------------------|-------------------------------| | original | `icc hello.c -o hello -lmpi` | | with instrumentation | `vtcc hello.c -o hello -lmpi` | -If you want to instrument MPI events only (creates smaller trace files -and less overhead) use the option `-vt:inst manual` to disable automatic -instrumentation of user functions. +If you want to instrument MPI events only (creates smaller trace files and less overhead) use the +option `-vt:inst manual` to disable automatic instrumentation of user functions. -## OpenMP parallel programs +## OpenMP Parallel Programs -When VampirTrace detects OpenMP flags on the command line, OPARI is -invoked for automatic source code instrumentation of OpenMP events: +When VampirTrace detects OpenMP flags on the command line, OPARI is invoked for automatic source +code instrumentation of OpenMP events: | | | |----------------------|----------------------------| | original | `ifort -openmp pi.f -o pi` | | with instrumentation | `vtf77 -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` | | with instrumentation | `vtf90 -vt:f90 mpif90 -openmp hybrid.F90 -o hybrid` | -By default, running a VampirTrace instrumented application should result -in a tracefile in the current working directory where the application -was executed. +By default, running a VampirTrace instrumented application should result in a tracefile in the +current working directory where the application was executed. diff --git a/doc.zih.tu-dresden.de/mkdocs.yml b/doc.zih.tu-dresden.de/mkdocs.yml index 4d4626c3a6a779265052d32a4ceb6b2847ecbc99..96ac852f413c2cb550c0d30c0094c26ddb25f760 100644 --- a/doc.zih.tu-dresden.de/mkdocs.yml +++ b/doc.zih.tu-dresden.de/mkdocs.yml @@ -128,7 +128,7 @@ nav: - System Venus: archive/system_venus.md - KNL Nodes: archive/knl_nodes.md - UNICORE Rest API: archive/unicore_rest_api.md - - Vampir Trace: archive/vampir_trace.md + - VampirTrace: archive/vampirtrace.md - Windows Batchjobs: archive/windows_batch.md diff --git a/doc.zih.tu-dresden.de/wordlist.aspell b/doc.zih.tu-dresden.de/wordlist.aspell index d257a825c9e123fbda01cd1b7ea262f606006a99..33ea4808bee3b965ea6ccaa2ac2db9f4e878ae69 100644 --- a/doc.zih.tu-dresden.de/wordlist.aspell +++ b/doc.zih.tu-dresden.de/wordlist.aspell @@ -90,6 +90,7 @@ Perf Pika pipelining png +Pthreads rome romeo RSA @@ -122,7 +123,11 @@ TensorFlow TFLOPS Theano tmp +tracefile +tracefiles Trition Vampir +VampirTrace +VampirTrace's Xeon ZIH