Title

Category: Tools-Performance-Profiling

Description

GPTL is a library to instrument C, C++, and Fortran codes for performance analysis and profiling. It is thread-safe, and designed to be called from multiple MPI tasks. Using auto-instrumentation flags provided by some compilers (e.g. GNU, Pathscale), the library can be used to automatically generate a dynamic call tree. For auto-instrumented codes, run

hex2name.pl a.out timing.[mpitask]
after program completion to convert function addresses back to symbolic names.

Perl script parsegptlout.pl is provided to easily gather min, max, and mean statistics from multi-tasked and/or multi-threaded codes.

GPTL contains an optional interface to PAPI which greatly simplifies gathering PAPI-based statistics.

Use

module load gptl
pgcc -o example.x example.c -I${GPTLDIR}/include -L${GPTLDIR}/lib -lgptl -lpapi -mp
pgf90 -o example.x example.F -I${GPTLDIR}/include -L${GPTLDIR}/lib -lgptl -lpapi -mp
C source files calling GPTL functions should include header file gptl.h. Likewise, Fortran source files should include gptl.inc. Include files are located in ${GPTLDIR}/include, The library is in ${GPTLDIR}/lib and named libgptl.a Detailed documentation and use instructions are available in the man pages and at the GPTL home page.

Support

This package has the following support level : Supported

Available Versions

Version Available Builds
pgi gnu pathscale Other
3.5
v
v
v
v
v