-
Notifications
You must be signed in to change notification settings - Fork 59
InstallingFFTW3
FFTW3 library provides the default way to perform the FFTs in ADDA, significantly outperforming alternative built-in algorithm. Its installation is straightforward and therefore is highly recommended. The following guidelines are bases on FFTW version 3.2.2.
The easiest is to install a package, available in many Unix/Linux distributions (be sure to also install development package, which includes headers). On Ubuntu install the package libfftw3-dev.
Alternatively, you may compile it yourself. You may install FFTW3 for the entire system, using the root
account. Alternatively, if root
is unavailable, FFTW3 can be installed under any user account (in $HOME
directory) 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 the Makefile, as described in CompilingADDA.
- Get the package from Homebrew or other package manager.
- Otherwise, follow the Unix instructions.
If you just want to use ADDA executables for 64-bit 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, we recommed to set up a complete MinGW-w64 environment.
Alternatively, follow these steps:
- 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
. - 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 does 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 the Makefile 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
.
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 ...