StarPU Handbook
|
StarPU provides libstarpufft
, a library whose design is very similar to both fftw
and cufft
, the difference being that it takes benefit from both CPUs and GPUs. It should however be noted that GPUs do not have the same precision as CPUs, so the results may be different by a negligible amount.
Different precisions are available, namely float
, double
and long double
precisions, with the following fftw
naming conventions:
The documentation below is given with names for double precision, replace starpufft_
with starpufftf_
or starpufftl_
as appropriate.
Only complex numbers are supported at the moment.
The application has to call starpu_init() before calling starpufft
functions.
Either main memory pointers or data handles can be provided.
All functions are defined in FFT Support.
Some examples illustrating the usage of FFT API are available in the directory starpufft/tests
.
The flags required to compile or link against the FFT library are accessible with the following commands:
$ pkg-config --cflags starpufft-1.4 # options for the compiler $ pkg-config --libs starpufft-1.4 # options for the linker
Also pass the option –static
if the application is to be linked statically.