Installation¶
Prerequisites¶
The SFFT library was only tested on Linux systems and is only guaranteed to work there. However, the library should also be able to compile on other platforms and operating systems.
The following packages have to be installed to compile the library:
- Python (any version > 2.3, including Python 3), used by the waf build system
- FFTW 3
- (optionally) Intel Integrated Performance Primitives
If you want to build benchmark tools, also install
The SFFT library is known to work the following compilers:
- GCC (tested with GCC 4.4 and 4.7)
- Intel C++ Compiler (only versions >= 13, does NOT work with ICC 12)
Compiling From Source and Installation¶
Unpack the tarball and change into the newly created directory (sfft-version). Then, the SFFT library can be built with a simple:
$ ./configure
$ make
and installed with:
$ make install
Some configuration options can be passed to the configuration script. The most important are:
$ ./configure --help
[...]
--debug compile in debug mode
--profile add source-level profiling to instruction counting programs
--without-ipp do not the Intel Performance Primitives library
[...]
Use --debug and --profile are only useful when developing (see Development). The option --without-ipp is to be used when you do not have Intel IPP installed.
When these steps succeded, you should be ready to use the SFFT library.
Linking against the SFFT Library¶
Two versions of the SFFT library are built when compiling the sourcecode: a static library (libsfft.a) and a shared library (libsfft.so). You can link these libraries in your programs like any other library, but you have to make sure that you link dependencies as well.
Do not forget to link:
- FFTW, for example via pkg-config: pkg-config --cflags --libs fftw3
- Intel IPP (if not disabled via --without-ipp), e.g. -lippvm -lipps -pthread
- Your compilers OpenMP library, for example -lgomp for GCC
- libm and librt (-lm -lrt)