You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rocFFT is a software library for computing fast Fourier transforms (FFTs) written in the HIP
programming language. It's part of AMD's software ecosystem based on
ROCm. The rocFFT library can be used with AMD and
NVIDIA GPUs.
Documentation
Note
The published rocFFT documentation is available at rocFFT in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the rocFFT/docs folder of this repository. As with all ROCm projects, the documentation is open source. For more information, see Contribute to ROCm documentation.
To build our documentation locally, use the following code:
cd docs
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
Build and install
You can install rocFFT using pre-built packages or building from source.
Installing pre-built packages:
Download the pre-built packages from the
ROCm package servers or use the
GitHub releases tab to download the source (this may give you a more recent version than the
pre-built packages).
Run: sudo apt update && sudo apt install rocfft
Building from source:
rocFFT is compiled with AMD's clang++ and uses CMake. You can specify several options to customize your
build. The following commands build a shared library for supported AMD GPUs:
mkdir build &&cd build
cmake -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_C_COMPILER=amdclang ..
make -j
You can compile a static library using the -DBUILD_SHARED_LIBS=off option.
With rocFFT, you can use indirect function calls by default; this requires ROCm 4.3 or higher. You can
use -DROCFFT_CALLBACKS_ENABLED=off with CMake to prevent these calls on older ROCm
compilers. Note that with this configuration, callbacks won't work correctly.
rocFFT includes the following clients:
rocfft-bench: Runs general transforms and is useful for performance analysis
rocfft-test: Runs various regression tests
Various small samples
Client
CMake option
Dependencies
rocfft-bench
-DBUILD_CLIENTS_BENCH=on
hipRAND
rocfft-test
-DBUILD_CLIENTS_TESTS=on
hipRAND, FFTW, GoogleTest
samples
-DBUILD_CLIENTS_SAMPLES=on
None
coverage
-DBUILD_CODE_COVERAGE=ON
clang, llvm-cov
Clients are not built by default. To build them, use -DBUILD_CLIENTS=on. The build process
downloads and builds GoogleTest and FFTW if they are not already installed.
Clients can be built separately from the main library. For example, you can build all the clients with
an existing rocFFT library by invoking CMake from within the rocFFT-src/clients folder:
mkdir build &&cd build
cmake -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_PREFIX_PATH=/path/to/rocFFT-lib ..
make -j