Common Open Source Software Base

BC Project: FY13-01
Date of Policy: 13 Jan 2014
Last Updated: 19 Dec 2018 (see Revision Log)

This policy requires a large collection of open source software be available on all HPCMP allocated machines. Each package in the collection will have the same version and configuration across all participating centers. The entire collection is grouped into the following five distinct categories:

Open Source Math-Scientific Libraries

  • ARPACK: Solution of Eigenvalues/Eigenvectors
  • PARPACK: Parallel ARPACK
  • Dakota: Optimization and Uncertainty Quantification
  • FFTW: Discrete Fourier Transforms (Both MPI and non-MPI versions are maintained)
  • PETSc: Suite of scientific computing routines
  • SuperLU: Direct solution of sparse linear systems of equations
  • LAPACK: Numerical linear algebra packages
  • ScaLAPACK: Subset of parallelized LAPACK routines
  • GSL: C/C++ library with a wide variety of mathematical routines

For access and other details, click on additional information.

Open Source High Productivity Languages

  • Python: General purpose scripting language
  • NumPy: Numerical arrays and linear algebra in Python
  • MPI4Py: Python bindings for MPI
  • PyMPI: Python message passing interface
  • SciPy: Scientific Python
  • IPython: High performance tools for interactive as well as parallel computing
  • Octave: MATLAB clone
  • Matplotlib: Scientific 2-D and 3-D plotting

For access and other details, click on additional information.

Open Source Performance and Profiling Tools

  • PAPI: Consistent interface to hardware counters and events
  • SCALASCA: Scalable trace analysis package
  • TAU: Performance analysis of parallel applications
  • Valgrind: Memory management analysis and profiling

For access and other details, click on additional information.

Open Source Graphics Packages

  • NCAR Graphics: Collection of graphics libraries to support the display of scientific data.

For access and other details, click on additional information.

Open Source Utilities

The suite of utilities covers the following four distinct areas:

  • Development and Build
    - autoconf, automake, Bison, Boost C++, CMake
  • Source Repository/ Revision Control
    - cvs (GNU), subversion, git
  • Archive and Compression
    - tar (GNU), gzip, gunzip (GNU), bzip2, bunzip2
  • Libraries for Data Models and Formats
    - HDF5, NetCDF, XDMF

For access and other details, click on additional information.

All packages and tools included in the top four categories are stacked in a single package called COST (Common Open Source Tools). COST also includes a subset of the open source utilities listed above. These include: Boost C++, CMake, git and all 3 libraries for data models and formats. The COST Quick Reference Guide lists all packages included in COST. The reference guide also includes brief descriptions of each package included in COST as well as instructions on how to place any package in COST in a user's computational environment.

All packages and libraries in COST are built on each machine with the GNU Compiler Collection (GCC). The version of a GNU compiler is the version loaded by default from the module command. In special cases where there is need to build a portion or all of the COST package with an alternate compiler, users are asked to place a request to the HPC Help Desk.


Revision Log
Date Revision
19 Dec 2018Replaced the description of Dakota from "Non-linear Optimization" to "Optimization and Uncertainty Quantification"
06 Sep 2018BCT Team Audit - Added Dakota to the category "Open Source Math-Scientific Libraries"
07 Jul 2016Incorporated COST Quick Reference Guide in policy
04 Nov 2015Request to build a portion or all of COST with an alternate compiler
24 Aug 2015Added PARPACK to the category "Open Source Math-Scientific Libraries"
08 Sep 2014Added new category "Open Source Graphics Packages"
16 Jul 2014Added MPI4PY to the category "Open Source High Productivity Languages"
21 Jan 2014Combined 4 BC policies into one comprehensive policy