Third-party libraries, compilers, and tools

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 by Quinoa.

TPLs and external tools

An important distinction between 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

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

Zoltan for static load balancing

Hypre for linear solvers and preconditioners

RNGSSELIB for random number generation

TestU01 for statistical testing of random number generators

PugiXML for XML format reading and writing

BLAS for basic linear algebra

LAPACK for linear algebra

AEC for adaptive entropy coding

Libstdc++ for standard C++ containers and algorithms

Libc++ for standard C++ containers and algorithms

Musl-libc for standard C library

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

ROOT for saving field data for data analysis

Omega_h for reading large tetrahedron meshes in parallel

Brigand for template meta-programming


Compilers

Clang C++ compiler

GNU C++ compiler

Intel C++ compiler

Cray C++ compiler


Tools

Doxygen for design, theory, and software API documentation

CMake as a build system

Ninja for building

Gold for linking

Gcov for unit test coverage analysis

Lcov for unit 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