DEG Supported Software and Computing Tools

The Development Environment Group (DEG) supports software products and computing tools in these categories. For assistance with any of these tools, please contact the LC Hotline via e-mail to lc-hotline@llnl.gov or phone (925) 422-4531.

Compilers and Preprocessors:C/C++ and Fortran from Intel, PGI, GNU and IBM for LC's Linux and BG/Q clusters. Multiple versions of most compilers are installed. See the
Compilers Installed on LC Platforms page for details.

Debugging:Ranging from simple, serial command line debuggers to full featured GUI-based debuggers for parallel codes. See the sortable Software Tools Table below.

Memory:For detecting, profiling and debugging a range of memory related issues, such as memory leaks, corruption, errors, heap usage, etc. Several tools are available, which vary in functionality. See the sortable Software Tools Table below.

Profiling:There are several tools, varying in complexity and features, that provide a wide range of profiling functionality, such as
HPM or hardware counter data,
Wall-clock time,
Time based on PC-sampling (PCS),
MPI data,
OpenMP data,
Pthread data,
I/O data,
Floating point exception (FPE) data, and more. See the sortable Software Tools Table below.

Tracing:When the specific order of events is of interest, tracing can provide a view of application events, including MPI communication, OpenMP parallel regions, application function calls, and HPM data. Several tools are available, most of which are part of a full featured performance analysis toolkit. See the sortable Software Tools Table below.

Performance Analysis:These tools typically provide more than simple profiling and tracing capabilities. They can include functionality such as multiple methods of data visualization, the calculation of derived metrics, integration of performance data with a database, network performance modeling, etc. See the sortable Software Tools Table below.

Other:Several tools and APIs are available for the following purposes:

Correctness - to help developers identify issues relating to the appropriate use of MPI or OpenMP.