Libraries

This page collects links to full verbatim texts of the licenses of all third-party libraries (TPLs), and the list of compilers and tools used.

An important distinction between Third-party libraries (TPLs) and Tools is that TPLs are libraries whose source we directly use, e.g., via include files and/or (static and dynamic) linking, while from a tool we do not include source code nor link its object files, only build it and use it as a separate (external) executable.

Third-party libraries (TPLs)

The Charm++ Parallel Programming System

The Parsing Expression Grammar Template Library

C++ Template Unit Test Framework

Boost C++ libraries

PStreams for POSIX process Control

The HDF5 data model

The NetCDF data model

SEACAS for storing data for finite element analyses

RNGSSELIB for random number generation

TestU01 for statistical testing of random number generators

BLAS for basic linear algebra

LAPACK for linear algebra

Libstdc++ for standard C++ containers and algorithms

Libc++ for standard C++ containers and algorithms

OpenMPI for the message passing interface

Intel Math Kernel Library for BLAS/LAPACK and random number generation

H5Part for saving particle data to files

Random123 for random number generation

BackwardCpp for generating backtraces

HighwayHash for generating hashes

Brigand for template meta-programming


Compilers

Clang C++ compiler

GNU C++ compiler


Tools

Doxygen for design, theory, and software API documentation

CMake as a build system

Ninja for building

Gcov for test coverage analysis

FastCov for test coverage analysis report

Git for source code version control

Numdiff for comparison of text files with numerical content

M.CSS for improving on Doxygen output

Codecov for test coverage analysis

Docker for containers and testing