From c37cc1b0642afd6691b737ff14c69755fa7cfba9 Mon Sep 17 00:00:00 2001 From: Miroslav Stoyanov Date: Wed, 23 Oct 2024 17:44:35 -0400 Subject: [PATCH 1/2] documentation fixups --- CMakeLists.txt | 2 +- doxygen/installation.md | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41e36c2..76826b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,7 +61,7 @@ if (Heffte_ENABLE_CUDA AND NOT DEFINED CMAKE_CUDA_ARCHITECTURES) set(CMAKE_CUDA_ARCHITECTURES "OFF" CACHE STRING "CUDA architectures to compile, e.g., -DCMAKE_CUDA_ARCHITECTURES=70;72") endif() if (Heffte_ENABLE_ROCM AND NOT DEFINED CMAKE_HIP_ARCHITECTURES) - set(CMAKE_HIP_ARCHITECTURES "OFF" CACHE STRING "HIP architectures to compile, e.g., -DCMAKE_HIP_ARCHITECTURES=803;900") + set(CMAKE_HIP_ARCHITECTURES "OFF" CACHE STRING "HIP architectures to compile, e.g., -DCMAKE_HIP_ARCHITECTURES=gfx803;gfx1100") endif() # oneAPI requires regular MKL as a CPU backend diff --git a/doxygen/installation.md b/doxygen/installation.md index e3a73c5..4d73731 100644 --- a/doxygen/installation.md +++ b/doxygen/installation.md @@ -11,11 +11,10 @@ The heFFTe library can be build with either CMake 3.19 or newer. | Compiler | Tested versions | |----|----| -| gcc | 9 - 11 | -| clang | 11 - 14 | -| icc | 18 | -| dpcpp | 2023.0 | -| OpenMPI | 4.0.3 | +| gcc | 11 - 13 | +| clang | 14 - 18 | +| dpcpp | 2024.2 | +| OpenMPI | 4.1.6 | Tested backend libraries: @@ -23,10 +22,10 @@ Tested backend libraries: |----|----| | stock | all | | fftw3 | 3.3.7 - 3.3.10 | -| mkl | 2023.0 | -| oneapi/onemkl | 2023.0 | -| cuda/cufft | 11 - 12 | -| rocm/rocfft | 5.0 - 5.6 | +| mkl | 2024.2 | +| oneapi/onemkl | 2024.2 | +| cuda/cufft | 11 - 12.6 | +| rocm/rocfft | 5.6 - 6.2 | The listed tested versions are part of the continuous integration and nightly build systems, but heFFTe may yet work with other compilers and backend versions. @@ -108,6 +107,8 @@ Note that fftw3 uses two different libraries for single and double precision, wh ``` The `MKL_ROOT` default to the environment variable `MKLROOT` (chosen by Intel). The additional variable `Heffte_MKL_THREAD_LIBS` allows to choose the MKL threaded backend, tested with `mkl_gnu_thread` and `mkl_intel_thread`, the default is to use GNU-threads on GCC compiler and Intel otherwise. Note that `mkl_intel_thread` also requires `libiomp5.so` and heFFTe will search for it in the system paths and `LD_LIBRARY_PATH`, unless the variable `Heffte_MKL_IOMP5` is defined and pointing to `libiomp5.so`. GNU-threads do not use `libiomp5.so` but the GNU `libgomp.so` which CMake finds automatically. +**Note** if paired with oneMKL or using a clang compiler and CMake, the `Heffte_MKL_IOMP5` variable should not be needed. + * **oneMKL** the [Intel oneMKL Library](https://spec.oneapi.com/versions/latest/elements/oneMKL/source/index.html) provides optimized FFT implementation targeting Intel GPUs and can be enabled within heFFTe with: ``` -D CMAKE_CXX_COMPILER=/bin/icpx From 0828d39e8c1e6452974f1f3805ddb20477ac30cf Mon Sep 17 00:00:00 2001 From: Miroslav Stoyanov Date: Wed, 23 Oct 2024 17:51:07 -0400 Subject: [PATCH 2/2] bumped the version number --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76826b0..8e51cda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.19) -project("Heffte" VERSION 2.4.0 LANGUAGES CXX) +project("Heffte" VERSION 2.4.1 LANGUAGES CXX) option(Heffte_ENABLE_FFTW "Enable the FFTW backend" OFF) option(Heffte_ENABLE_CUDA "Enable the CUDA and cuFFT backend" OFF)