Welcome to the lcaperf Trac site

lcaperf (formerly 'jbPerf') is designed to be a simple yet powerful software package for measuring and visualizing the comprehensive performance of MPI-parallel applications. It consists of two components: an application programming interface (API) written in C++ (with Fortran and C bindings), and a set of post-processing utilities written in Python and C++. While its driving application is the adaptive mesh refinement (AMR) cosmology application 'Enzo', lcaperf is designed to be general enough to be used with other MPI-parallel applications as well.

The lcaperf API is designed to collect a wide variety of parallel software performance metrics, incuding those related to computation, memory access, and communication. These metrics are accumulated for different code regions (e.g. "gravity" and "hydro" routines in Enzo), which can be further partitioned into additional sub-categories (e.g. for timesteps and AMR mesh levels). The output of running an application instrumented with calls to the lcaperf API is a collection of lcaperf performance trace files.

The lcaperf command-line utilities are used to post-process lcaperf performance trace files. Utilities are available for merging files, filtering performance data, computing derived performance metrics, plotting metrics using external graphics packages such as gnuplot, and generating web pages of performance plots.

Documentation

Starting Points

For a complete list of local wiki pages, see TitleIndex.