Build Requirements - DARMA-tasking/vt GitHub Wiki
Language
VT conforms to and requires C++17.
Library Dependencies
- MPI 3+
- OpenMP 3+ (optional, if threading is enabled)
The remainder of libraries are all embedded with the proper version in VT's source code. For a list of the libraries (along with the associated license agreements for them) that VT embeds, refer to Third-Party Libraries (TPLs)
Supported Compilers
A supported compiler is one which a mainline VT build SHOULD be able to target. Other compilers are expected to work if they sufficiently implement the C++17 standard.
These are chosen due to usage in research and HPC builds. It is recommended to use newer compiler versions whenever possible.
- GNU compilers (gcc) >= 8.2
- Clang/llvm (clang) >= 8.0
- Intel compilers (icc) >= 19.0.5
- NVidia cuda compiler (nvcc) (10.1, 11.0)
- Portland Group (pgi) (??)
- IBM compilers (xlc) (??)
The list of supported compilers (and minimum versions) can change with newer VT releases.
Current Build Status Configurations
Compiler Features
Tracing
Tracing requires __PRETTY_FUNCTION__
, as first implemented as a GCC extension.