GPTL: A simple and free general purpose tool for performance analysis and profiling

Date and Time: 
2014 April 8th @ 9:00am
CG1 Auditorium
James Rosinski

In this talk we describe the General Purpose Timing Library (GPTL), an open source tool for instrumenting C, C++, and Fortran codes for performance analysis and profiling. The instrumentation can be inserted manually by the user wherever they wish, or it can be inserted automatically by the compiler at function entry and exit points. In the simplest case, wallclock times are gathered and reported for an arbitrary set of code regions defined by the user. Hooks also exist to gather hardware-level performance metrics such as floating point operation counts and memory references if the PAPI performance counter library is available.

GPTL is OpenMP-aware and MPI-aware: It can summarize region timings across all threads and tasks, providing max, min, and standard deviation timing statistics for all regions across all threads and tasks. GPTL can optionally report additional MPI statistics about number of calls to MPI primitive routines, average message size, and communication time. It does this automatically by utilizing the PMPI layer provided in most MPI distributions. The user interface to GPTL was designed from the start to be as simple as possible, with minimal user spinup time required. It will be described along with a set of usage examples. Some implementation details will also be presented if time allows.

Speaker Description: 

Jim is currently a Research Associate with CIRA, supporting atmospheric model development at NOAA. Previously, he was a software engineer in CGD at NCAR. He has also worked in various positions in industry, as well as Oak Ridge National Lab.

File GPTL_NCAR_SEA.pptx121.98 KB

Event Category: