System Requirements¶
Linux and Mac OS¶
For Ginkgo core library:
cmake 3.16+
C++14 compliant compiler, one of:
gcc 5.5+
clang 3.9+
Intel compiler 2019+
Apple Clang 14.0 is tested. Earlier versions might also work.
Cray Compiler 14.0.1+
NVHPC Compiler 22.7+
The Ginkgo CUDA module has the following additional requirements:
cmake 3.18+ (If CUDA was installed through the NVIDIA HPC Toolkit, we require cmake 3.22+)
CUDA 10.1+ or NVHPC Package 22.7+
Any host compiler restrictions your version of CUDA may impose also apply here. For the newest CUDA version, this information can be found in the CUDA installation guide for Linux or CUDA installation guide for Mac Os X
The Ginkgo HIP module has the following additional requirements:
ROCm 4.5+
the HIP, hipBLAS, hipSPARSE, hip/rocRAND and rocThrust packages compiled with either:
AMD backend (using the
clang
compiler)10.1 <= CUDA < 11 backend
if the hipFFT package is available, it is used to implement the FFT LinOps.
cmake 3.21+
The Ginkgo DPC++(SYCL) module has the following additional requirements:
oneAPI 2023.1+
Set
dpcpp
oricpx
as theCMAKE_CXX_COMPILER
c++17
is used to compile GinkgoThe following oneAPI packages should be available:
oneMKL
oneDPL
The Ginkgo MPI module has the following additional requirements:
MPI 3.1+, ideally GPU-Aware, for best performance
In addition, if you want to contribute code to Ginkgo, you will also need the following:
clang-format 8.0.0+ (ships as part of clang)
clang-tidy (optional, when setting the flag
-DGINKGO_WITH_CLANG_TIDY=ON
)iwyu (Include What You Use, optional, when setting the flag
-DGINKGO_WITH_IWYU=ON
)
Windows¶
cmake 3.16+
C++14 compliant 64-bit compiler:
MinGW : gcc 5.5+
Microsoft Visual Studio : VS 2019+
The Ginkgo CUDA module has the following additional requirements:
CUDA 10.1+
Microsoft Visual Studio
Any host compiler restrictions your version of CUDA may impose also apply here. For the newest CUDA version, this information can be found in the CUDA installation guide for Windows
The Ginkgo OMP module has the following additional requirements:
MinGW
In these environments, two problems can be encountered, the solution for which is described in the windows section in INSTALL.md:
ld: error: export ordinal too large
needs the compilation flag-O1
cc1plus.exe: out of memory allocating 65536 bytes
requires a modification of the environment
NOTE: Some restrictions will also apply on the version of C and C++ standard libraries installed on the system. This needs further investigation.