LC Hotline: 2-4531

From offsite: (925) 422-4531

 

Hours

Monday–Friday
8am–12pm, 1–4:45pm
B453 R1103 | Q-clearance area

 

Development Environment Software

Compilers and Preprocessors

C/C++ and Fortran from Intel, PGI, GNU, IBM, and LLVM for LC's Linux clusters, BG/Q systems, and CORAL early access systems. 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.

Software: DDT, Intel Inspector, memcheck (Valgrind), STAT, TotalView, Archer, ReMPI, NINJA

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.

Software: Intel Inspector, memcheck (Valgrind), memP, TotalView

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.

Software: gprof, HPCToolkit, Intel Advisor, Intel Profile, Intel VTune Amplifier, memP, mpiP, Open|Speedshop, PAPI, PapiEx, TAU

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.

Software: HPCToolkit, Intel Advisor, Intel VTune Amplifier, Open|Speedshop, TAU, Vampir/VampireServer, Vampitrace, Intel Trace Analyzer and Collector

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.

Software:  HPCToolkit, Intel VTune Amplifier, Open|Speedshop, TAU, Vampir/VampireServer, Intel Trace Analyzer and Collector

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.
  • Tool Development Infrastructure - libraries that provide APIs to tool developers.
  • Utilities - locally developed

Software: ArcherIntel Static Security Analysis, MUST, NINJA, ReMPI

Table of Available Tools

In the table below, locations in /usr/local/tools refer to CHAOS 5 or BG/Q systems, while locations in /usr/tce/packages refer to TOSS 3 and CORAL EA systems. Dotkits are the environment managing utility on CHAOS 5 and BG/Q systems, while modules are the environment managing utility for TOSS 3 and CORAL EA systems. Software that is listed in /usr/global or /collab/usr/global may be for any platform type and will typically have a sub directory for a platform's $SYS_TYPE environment variable.

Tool Name Platforms Location Dotkit/Module Package Brief Description / Notes
Archer CORAL EA, Linux /collab/usr/global/tools/pruners/$SYS_TYPE n/a OpenMP race detection.

DDT

BGQ,Linux

/usr/global/tools/ddt

ddt

Full featured graphical, parallel debugger

gprof

BGQ,Linux

/usr/bin/gprof

n/a

Standard unix/linux profiling utility.

HPCToolkit

BGQ,Linux

/usr/global/tools/hpctoolkit

/usr/tce/packages/hpctoolkit

multiple - to view:
"use -l hpctoolkit" or "module avail hpctoolkit"

Integrated suite of tools for parallel program performance analysis.

Intel Advisor

Linux

/usr/local/tools/advisor*

/usr/tce/packages/advisor

multiple - to view:
"use -l advisor" or "module avail advisor"

Performance analysis tool for threaded codes (no-MPI).

Intel Inspector

Linux

/usr/local/tools/inspector*

/usr/tce/packages/inspector

multiple - to view:
"use -l inspector" or "module avail inspector"

Thread correctness tool with memory debugging features included.

Intel Profiler

Linux

Included with Intel compilers

n/a

Compiler based loop and function performance profiler.

Intel Static Security Analysis (deprecated)

Linux

Included with Intel compilers

n/a

Identifies coding errors that pose security risks. This has been deprecated.

Intel Trace Analyzer and Collector Linux

/usr/local/tools/itac*

/usr/tce/packages/itac

multiple - to view:
"module avail itac"

Understand MPI application behavior and quickly find bottlenecks.

Intel VTune Amplifier

Linux

/usr/local/tools/vtune*

/usr/tce/packages/vtune

 

multiple - to view:
"use -l vtune" or "module avail vtune"

Full featured parallel performance analysis tool.

memcheck (Valgrind)

BGQ,Linux

/usr/local/bin/memcheck*

/usr/tce/packages/memcheckview

 

multiple - to view:
"module avail memcheckview"

Memory errors debugging tool.

memP

BGQ,Linux

/usr/local/tools/memp*

multiple - to view:
"use -l memp"

Lightweight memory profiling tool.

mpiP

BGQ,Linux

/usr/local/tools/mpip*

/usr/tce/packages/mpip

 

multiple - to view:
"use -l mpip" or "module avail mpip"

Lightweight MPI profiling tool.

MUST

Linux

/usr/tce/packages/must

multiple - to view:
"module avail must"

MPI runtime error detection tool.

NINJA BGQ,CORAL EA,Linux /collab/usr/global/tools/pruners/$SYS_TYPE n/a Noise injection for exposing MPI message races.

Open|SpeedShop

BGQ,Linux

/usr/global/tools/openspeedshop

multiple - to view:
"use -l openss"

Full featured parallel program performance analysis tool set.

PAPI

BGQ,Linux

/usr/local/tools/papi

multiple - to view:
"use -l papi"

A standardized and portable API for accessing performance counter hardware.

PapiEx

Linux

/usr/local/tools/papiex

/usr/tce/packages/papi

multiple - to view:
"use -l papiex" or "module avail papi"

A PAPI-based performance profiler

ReMPI BGQ,CORAL EA,Linux /collab/usr/global/tools/pruners/$SYS_TYPE n/a MPI record and replay

STAT

BGQ,Linux

/usr/local/tools/stat

/usr/tce/packages/stat

multiple - to view:
"use -l stat" or "module avail stat"

Lightweight stack trace based parallel debugger.

TAU

BGQ,Linux

/usr/global/tools/tau*

tau

Full featured parallel program performance analyses toolkit.

TotalView

BGQ,Linux

/usr/global/tools/totalview/

multiple - to view:
"use -l tv" or "module avail totalview"

Full featured graphical, parallel debugger.

Vampir / VampireServer

Linux

/collab/usr/global/tools/vampir

/usr/tce/packages/vampir

 

multiple - to view:
"use -l vampir" or "module avail vampir"

Full featured trace visualizer for parallel program OTF trace files.

Vampirtrace

BGQ,Linux

/collab/usr/global/tools/vampirtrace
/usr/local/tools/vampir (Linux)

multiple - to view:
"use -l vampir"

Library for generating trace files for parallel programs.