NERSCPowering Scientific Discovery Since 1974

Debugging and Profiling

CrayPat

CrayPat is a performance analysis tool provided by Cray for the XT and XE platforms. Read More »

DDT

DDT is a parallel debugger that can be run with up to 8,192 processors. It has features similar to Totalview and and a similarly intuitive user interface. Read More »

IPM

IPM is a portable profiling infrastructure which provides a high level report on the execution of a parallel job. IPM reports hardware counters data, MPI function timings, and memory usage. Read More »

Totalview

TotalView, from Rogue Wave Software, is a parallel debugging tool that can be run with up to 512 processors. It provides an X Windows-based Graphical User Interface and a command line interface. Read More »

GDB

GDB can be used to quickly and easily examine a core file that was produced when an execution crashed to give an approximate traceback. Read More »

STAT and ATP

STAT (the Stack Trace Analysis Tool) is a highly scalable, lightweight tool that gathers and merges stack traces from all of the processes of a parallel application. ATP (Abnormal Termination Processing) automatically runs STAT when the code crashes. Read More »

darshan

Darshan is a light weight IO profiling tool capable of profiling POSIX IO, MPIIO and HDF5 IO. Read More »

CCDB and lgdb

Parallel Debugging with lgdb lgdb (Cray Line Mode Parallel Debugger) is a GDB-based parallel debugger, developed by Cray. It allows programmers to either launch an application or attach to an already-running application that was launched with aprun, to debug the parallel code in command-line mode. These features can be useful, but you will probably want to use a more powerful GUI-based debuggers instead. Below is an example of running lgdb for a parallel application: % qsub -IV -lmppwidth=24 -q… Read More »

MAP

Allinea MAP is a parallel profiler with simple GUI. It can be run with up to 512 processors. Read More »

Valgrind

The Valgrind tool suite provides several debugging and profiling tools that can help make your programs faster and more correct. The most popular tool is Memcheck, which can detect many memory-related errors that are common in C and C++ programs. Read More »