-
Notifications
You must be signed in to change notification settings - Fork 59
InstallingFFTW3
The following guidelines are bases on FFTW version 3.2.2.
The installation of FFTW3 on any Unix system is straightforward and therefore is highly recommended, since it greatly improves the performance of ADDA. The easiest is to install FFTW3 for the entire system, using root
account. Moreover, it is available as a standard package in many Unix/Linux distributions (be sure to also install development package, which includes headers).
If root
is unavailable, FFTW3 can also be installed under any user account as follows:
- Download the latest version of FFTW3
- Unpack it, cd into its directory, and type
where
./configure --prefix=$HOME [--enable-sse2]
'--enable'
option allows effective use of modern processors. You may also look through the whole list of configuration options. Then typemake make install
- Modify the initialization of internal variables
FFTW3_INC_PATH
andFFTW3_LIB_PATH
in theMakefile
, as described in CompilingADDA.
Installation of FFTW3 on non-Unix systems is slightly more complicated.
If you just want to use ADDA executables for Windows, do not worry about FFTW3 at all. An appropriate DLL is included in the corresponding package.
If you want to compile ADDA on Windows yourself, install FFTW3 on Windows. Although building FFTW3 from source is possible, a recommended simpler way is the following:
- Download a precompiled package, containing DLLs and header files. It contains a lot of files, some of which are needed for compilation in, e.g., Microsoft Visual Studio. However, we discuss below compilation by GNU compilers using the MinGW environment. For that you need only
fftw3.h
andlibfftw3-3.dll
. - If you are setting up the MinGW/MSYS environment with advanced instructions, keep the whole package and follow those instructions.
- Alternatively, do the following:
- Create a copy of
libfftw3-3.dll
and rename it tolibfftw3.dll
. On Windows Vista and newer you may instead create a symbolic link (administrator privileges may be required for that)This is required because the FFTW3 DLL package do not contain appropriate import-library file to use during linking. The DLL itself can be used for that, but it needs to be named a little bit differently to be automatically found by the linker.mklink libfftw3.dll libfftw3-3.dll
- modify the initialization of internal variables
FFTW3_INC_PATH
andFFTW3_LIB_PATH
in theMakefile
to point to the directory(ies) contatingfftw3.h
andlibfftw3.dll
respectively (see CompilingADDA). - To avoid need to move
libfftw3-3.dll
together with ADDA executables add the corresponding folder with to environmental variablePATH
- Create a copy of
Home (Getting started)
Frequently asked questions
Features
Tutorial
Comparison with other codes
Largest simulations
Compiling ADDA
Installing FFTW3
Installing MPI
Using OpenCL
Installing clFFT
Installing clBLAS
Using sparse mode
Installing MinGW
Using MSYS2
Papers that use ADDA
Awards
References
Links
Acknowledgements
Instruction for committers
Code design & structure
Style guide
Using VS Code
Using Eclipse
Early development history
Adding new ...