Development Environment Software

NOTE *Each link in the following software lists leads to row in software table below. Links in table lead to pages.

Compilers and Preprocessors

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

Debugging and Correctness

Ranging from simple, serial command line debuggers to full featured GUI-based debuggers for parallel codes. 

Software*: DDT, FLiT, FPChecker, 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

Available profiling tools, varying in complexity and features, provide a wide range of profiling functionality, such as HPM for 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, PAPI, 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, 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, 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

The table below provides a quick summary of the primary Development Environment tools available on LC's production clusters.  The linked tool names will take you to detailed information for each tool.  Most tool software is packaged as Lmod modules and requires users to load an appropriate module before using the tool. Using modules is discussed under "Modules and Software Packaging". 

Tool Name Platforms Location List Available Module Packages Brief Description / Notes
Archer CORAL
Linux

/usr/tce/packages/clang

"module avail clang" OpenMP race detection.

DDT

Linux

/usr/tce/packages/allineaforge

"module avail allineaforge"

Full featured graphical, parallel debugger

FLiT

CORAL
Linux

/collab/usr/global/tools/pruners/$SYS_TYPE/flit-2.1.0/ "module avail flit" Floating point variations.
FPChecker

CORAL
Linux

/collab/usr/global/tools/fpchecker/$SYS_TYPE n/a Floating-point exception detection in GPUs

gprof

CORAL
Linux

/usr/bin/gprof

n/a

Standard unix/linux profiling utility.

HPCToolkit

CORAL
Linux

/collab/usr/global/tools/hpctoolkit/$SYS_TYPE

"module avail hpctoolkit"

Integrated suite of tools for parallel program performance analysis.

Intel Advisor

Linux

/usr/tce/packages/advisor

"module avail advisor"

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

Intel Inspector

Linux

/usr/tce/packages/inspector

"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/tce/packages/itac

"module avail itac"

Understand MPI application behavior and quickly find bottlenecks.

Intel VTune Amplifier

Linux

/usr/tce/packages/vtune

"module avail vtune"

Full featured parallel performance analysis tool.

Memcheck (Valgrind)

Linux
CORAL

/usr/tce/packages/memcheckview

"module avail memcheckview"

Memory errors debugging tool.

memP

Linux

/collab/usr/global/tools/memP/$SYS_TYPE

"use memp"

Lightweight memory profiling tool.

mpiP

Linux
CORAL

/collab/usr/global/tools/mpiP/$SYS_TYPE
/usr/tcetmp/packages/mpip

n/a
"module avail mpip"

Lightweight MPI profiling tool.

MUST

Linux
CORAL

/usr/tce/packages/must
/usr/tcetmp/packages/must

"module avail must"

MPI runtime error detection tool.

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

PAPI

Linux

/usr/tce/packages/papi

"module avail papi"

A standardized and portable API for accessing performance counter hardware.

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

Linux
CORAL

download your own by running:
git clone https://github.com/spack/spack.git

n/a Software packaging/deployment

STAT

Linux
CORAL

/usr/tce/packages/stat (Linux)
/usr/tcetmp/packages/stat (CORAL)

 

"module avail stat"

Lightweight stack trace based parallel debugger.

TAU

Linux
CORAL

/usr/global/tools/tau

"module avail tau"

Full featured parallel program performance analyses toolkit.

TotalView

Linux
CORAL

/usr/tce/packages/totalview (Linux)
/collab/usr/global/tools/totalview/  (CORAL)

"module avail totalview"

Full featured graphical, parallel debugger.

Vampir / VampirServer

Linux
CORAL

/usr/tce/packages/vampir (Linux)
/collab/usr/global/tools/vampir/$SYS_TYPE  (CORAL)

 

"module avail vampir"

Full featured trace visualizer for parallel program OTF trace files.

Vampirtrace

Linux

/collab/usr/global/tools/vampirtrace/$SYS_TYPE

"module avail vampir"

Library for generating trace files for parallel programs.