Libraries

Contents

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.

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

Zoltan for static load balancing

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

Lua for embedding configuration and scripts

Sol2 for binding Lua and C++

ExaM2M for mesh-to-mesh solution transfer


Compilers

Clang C++ compiler

GNU C++ compiler

Intel C++ compiler


Tools

Doxygen for design, theory, and software API documentation

CMake as a build system

Ninja for building

Gold for linking

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

TeamCity for continuous integration

Docker for containers and testing