-
Notifications
You must be signed in to change notification settings - Fork 9
Build Requirements
VT conforms to C++14.
VT can currently compile with many C++11 compilers as long as detector
is disabled. The detector
component provides extra static checks (e.g., type traits enforcement) but is not required for "correctness".
- 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)
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++11/14 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) >= 4.9.3
- Clang/llvm (clang) >= 3.9
- Intel compilers (icc) >= 18.0.0
- 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.
Branch | Compiler Type | Compiler Version | Status |
---|---|---|---|
develop |
GNU | gcc-5 | |
develop |
GNU | gcc-6 | |
develop |
GNU | gcc-7 | |
develop |
GNU | gcc-8 | |
develop |
Clang | clang-3.9 |
Tracing requires __PRETTY_FUNCTION__
, as first implemented as a GCC extension.