Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doc fixups #69

Merged
merged 2 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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
Expand Down
19 changes: 10 additions & 9 deletions doxygen/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,21 @@ 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:

| Backend | Tested versions |
|----|----|
| 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.
Expand Down Expand Up @@ -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=<path-to-compiler>/bin/icpx
Expand Down