====== FFTW ======
=== in parallel ===
''** --enable-threads **''
''** --with-openmp **''
http://www.fftw.org/fftw2_doc/fftw_4.html
fftw_threads_test 2 -s 128x128
== Test : best number of threads ==
== MPI ==
mpi enabled version of fftw required (no Fedora system lib available)
''** --enable-mpi **''
The order of the linked libraries is impotent as always:
-lrfftw_mpi -lfftw_mpi -lrfftw -lfftw -lm
== Test : best number of threads ==
mpirun -np 4 fftw_mpi_test -s 128x128x128
===== HPC / Woody =====
Download the current version of FFTW, unpack it and go to the folder via
mkdir -p "${HOME}/ww8src/fftw"
cd "${HOME}/ww8src/fftw"
wget http://www.fftw.org/fftw-3.3.4.tar.gz
tar -xzf fftw-3.3.4.tar.gz
rm fftw-3.3.4.tar.gz
cd fftw-3.3.4
Subsequently install the package via
./configure --enable-sse2 --enable-avx --enable-shared --prefix "/home/hpc/${GROUP}/${USER}/bin/fftw" CFLAGS="-O3 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math -mfpmath=both"
make
make install
To see whether everything is working accordingly create a file ''fftw_test.sh'' with the contents
#!/bin/bash -l
#
# allocate 16 nodes (64 CPUs) for 1 hours
#PBS -l nodes=1:ppn=4,walltime=01:00:00
#
# job name
#PBS -N fftw_test
#
# stdout and stderr files
#PBS -o fftw_test.out -e fftw_test.err
#
# first non-empty non-comment line ends PBS options
module load gcc/4.8.1
cd "/home/hpc/iww8/${GROUP}/${USER}/fftw/fftw-3.3.4"
make check
and submit it as job via
qsub fftw_test.sh
In the resulting ''fftw_test.out'' there should be a line telling you that all basic test for FFTW passed.