- Generic Installation
- Installing Dependencies
- Installing on Maverick
- Installing on Stampede
First get the latest version of AccFFT:
Then cd to the source directory and create a new folder called build.
Now to install the library use cmake as follows:
This is a short explanation:
- -D: Defines a symbol for cmake
- CMAKE_INSTALL_PREFIX=INSTALL_PATH: Sets where you want to install the library to INSTALL_PATH. By default it will be in the build directory you just created.
- FFTW_ROOT=$FFTW_PATH: Sets the path of where FFTW is installed in your machine.
- FFTW_USE_STATIC_LIBS=false/true: Depending on how you installed FFTW library (static or shared ).
- CXX_FLAGS=“-O3”: Passes compiler flags to CXX compiler.
- BUILD_GPU=true/false: If true the GPU part of the library will be installed as well (fasle by default). (For the GPU installation you need CUDA. If the cmake could not find it, you should pass -DCUDA_ROOT=CUDA_PATH)
- BUILD_STEPS=true/false: If true will compile all of the steps and puts in the build directory (fasle by default).
- BUILD_SHARED=true/false: If true will create shared library (fasle by default).
- PNETCDF_DIR=PATH_TO_PNETCDF: Path to PNETCDF library directory. This is an optional package which is used for dumping data for visualization.
After this step is finished without errors, make the library (you can use make -j to make in parallel):
Do not forget to set the following ot your ~/.bashrc (or equivalent):
And obviously source the changed bashrc!
- Optional: First your need to install PNETCDF library. You can download it from here.
Then add the installation path to your bashrc:
- Download FFTW from here, and install both double and single precision versions. To do so you need to install the library two times, once without enable-float option and once with it. Also note that if your hardware does not have support for AVX instructions then you should remove that option from the configure command.
Installing on Maverick
- Go to AccFFT directory and use cmake to build the library:
Installing on Stampede
Most of the steps are similar to Maverick. The only different is that PNETCDF may complain about a SEEK error. In that case, configure PNETCDF as follows: