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 or icpx as the CMAKE_CXX_COMPILER

  • c++17 is used to compile Ginkgo

  • The 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.