Libraries
Contents
-
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
-
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
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
- Required
- Searched for and if not found, built by default
- Web: http:/
/ charm.cs.illinois.edu - License: Charm++/Converse license
The Parsing Expression Grammar Template Library
- Required
- Searched for and if not found, built by default
- Web: https:/
/ github.com/ taocpp/ PEGTL - License: PEGTL license
C++ Template Unit Test Framework
- Required
- Searched for and if not found, built by default
- Web: http:/
/ mrzechonek.github.io/ tut-framework - License: TUT license
Boost C++ libraries
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.boost.org - License: Boost license
PStreams for POSIX process Control
- Required
- Searched for and if not found, built by default
- Web: http:/
/ pstreams.sourceforge.net/ - License: PStreams license
The HDF5 data model
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.hdfgroup.org/ HDF5 - License: HDF5 license
The NetCDF data model
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.unidata.ucar.edu/ downloads/ netcdf/ index.jsp - License: NetCDF license
SEACAS for storing data for finite element analyses
- Required
- Searched for and if not found, built by default
- Web: https:/
/ github.com/ trilinos/ Trilinos/ tree/ master/ packages/ seacas - License: SEACAS license
Zoltan for static load balancing
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.cs.sandia.gov/ Zoltan/ Zoltan.html - License: Zoltan license
RNGSSELIB for random number generation
- Optional
- Searched for and if not found, built by default
- Web: http://cpc.cs.qub.ac.uk/summaries/AEIT_
v2_ 0.html - License: RNGSSELIB license
TestU01 for statistical testing of random number generators
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.iro.umontreal.ca/ ~simardr/ testu01/ tu01.html - License: TestU01 license
PugiXML for XML format reading and writing
- Required
- Searched for and if not found, built by default
- Web: http:/
/ pugixml.org/ - License: pugixml license
BLAS for basic linear algebra
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.netlib.org/ blas - License: BLAS license
LAPACK for linear algebra
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.netlib.org/ lapack - License: LAPACK license
AEC for adaptive entropy coding
- Required (only with static linking)
- Searched for and if not found, built by default
- Web: https:/
/ gitlab.dkrz.de/ k202009/ libaec - License: AEC license
Libstdc++ for standard C++ containers and algorithms
- Either libc++ or libstdc++ required
- Must be present system-wide
- Web: https:/
/ gcc.gnu.org/ libstdc++ - License: LibStdC++ license
Libc++ for standard C++ containers and algorithms
- Either libc++ or libstdc++ required
- Must be present system-wide
- Web: http:/
/ libcxx.llvm.org - License: LibC++ license
Musl-libc for standard C library
- Optional
- Must be present system-wide
- Web: https:/
/ www.musl-libc.org - License: Musllibc license
OpenMPI for the message passing interface
- Required
- Must be present system-wide
- Web: http:/
/ www.open-mpi.org - License: OpenMPI license
Intel Math Kernel Library for BLAS/LAPACK and random number generation
- Optional
- Must be present system-wide
- Web: https:/
/ software.intel.com/ en-us/ intel-mkl - License: MKL license
H5Part for saving particle data to files
- Required
- Searched for and if not found, built by default
- Web: http:/
/ vis.lbl.gov/ Research/ H5Part - License: H5Part license
Random123 for random number generation
- Required
- Searched for and if not found, built by default
- Web: http:/
/ www.thesalmons.org/ john/ random123/ releases/ latest/ docs/ index.html - License: Random123 license
BackwardCpp for generating backtraces
- Optional
- Searched for and if not found, built by default
- Web: https:/
/ github.com/ bombela/ backward-cpp - License: BackwardCpp license
- Possible dependencies of BackWardCpp and their licenses:
- GNU/
binuitls (GPL) - elfutils (GPLv2+/LGPLv3+)
- libdwarf (BSD/LGPLv2/GPLv2)
- libelf (LGPL)
- GNU/
HighwayHash for generating hashes
- Required
- Searched for and if not found, built by default
- Web: https:/
/ github.com/ google/ highwayhash - License: HighwayHash license
ROOT for saving field data for data analysis
- Optional
- Not searched for by default
- Web: https:/
/ root.cern.ch - License: ROOT license
Omega_h for reading large tetrahedron meshes in parallel
- Optional
- Not searched for by default
- Web: https://github.com/ibaned/omega_
h - License: Omega_
h license
Brigand for template meta-programming
- Required
- Searched for and if not found, built by default
- Web: https:/
/ github.com/ edouarda/ brigand - License: Brigand license
Lua for embedding configuration and scripts
- Optional
- Not searched for by default, if enabled, must be present system-wide
- Web: https:/
/ www.lua.org/ - License: Lua license
Sol2 for binding Lua and C++
- Optional
- Not searched for by default
- Web: http:/
/ sol2.rtfd.io - License: Sol2 license
ExaM2M for mesh-to-mesh solution transfer
- Optional
- Not searched for by default
- Web: https:/
/ github.com/ Charmworks/ ExaM2M.git - License: ExaM2M license
Compilers
Clang C++ compiler
- Web: http:/
/ llvm.org
GNU C++ compiler
- Web: https:/
/ gcc.gnu.org
Intel C++ compiler
Tools
Doxygen for design, theory, and software API documentation
CMake as a build system
- Web: http:/
/ www.cmake.org
Ninja for building
Gold for linking
Gcov for test coverage analysis
FastCov for test coverage analysis report
Git for source code version control
- Web: https:/
/ git-scm.com