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 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 (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

The HDF5 data model

The NetCDF data model

SEACAS for storing data for finite element analyses

Zoltan for static load balancing

PugiXML for XML format reading and writing

BLAS for basic linear algebra

LAPACK for linear algebra

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

BackwardCpp for generating backtraces

HighwayHash for generating hashes

Brigand for template meta-programming

Lua for control (configuration) files

Sol2 for binding Lua and C++

ExaM2M for mesh-to-mesh solution transfer


Compilers

Clang C++ compiler

GNU 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