FFTW

Nom: 
FFTW
Version: 
2.1.5 - 3.3.3
Informations: 

FFTW est disponible en 2 versions sur le centre :

  • En version 2.1.5 :
    • Le module fftw/2.1.5 donne accés à la librairie v. 2.1.5 compilée avec les compilateurs GNU 4.4.6 et OpenMPI 1.6.2 (compilé GCC)
    • Le module fftw/intel/2.1.5 donne accés à la librairie v. 2.1.5 compilée avec les compilateurs Intel 12.1 et Intel MPI 4.0.3
  • En version 3.3.3 :
    • Le module fftw/3.3.3 donne accés à la librairie v. 3.3.3 compilée avec les compilateurs GNU 4.4.6 et OpenMPI 1.6.2 (compilé GCC)
    • Le module fftw/intel/3.3.3 donne accés à la librairie v. 3.3.3 compilée avec les compilateurs GNU 4.4.6 et OpenMPI 1.6.2 (compilé GCC)

Tableau récapitulatif des différentes versions de librairies installées

Pour la version 2.1.5

Transformée Précision Séquentiel Threaded MPI
complexe double libdfftw.a libdfftw_threads.a libdfftw_mpi.a
réel double libdrfftw.a libdrfftw_threads.a libdrfftw_mpi.a
complexe single libsfftw.a libsfftw_threads.a libsfftw_mpi.a
réel single libsrfftw.a libsrfftw_threads.a libsrfftw_mpi.a

Cette version a été compilée avec l'option --enable-type-prefix qui permet de séparer par les noms les versions complexes et réelles.
Pour chaque librairie statique libx.a, il existe la version dynamique correspondante libx.so.
La librairie threaded utilise les Threads POSIX, si vous avez besoin d'une version OpenMP, il faut en faire la demande expresse.

Pour la version 3.3.3

Précision Séquentiel Threaded OpenMPI MPI
double libfftw3.a libfftw3_threads.a libfftw3_omp.a libfftw3_mpi.a
single libfftw3f.a libfftw3f_threads.a libfftw3f_omp.a libfftw3f_mpi.a
long double libfftw3l.a libfftw3l_threads.a libfftw3l_omp.a libfftw3l_mpi.a

Cette version n'a pas été compilée en quadruple précision, les compilateurs pour l'instant installés sur le centre ne le permettant pas.
Pour chaque librairie statique libx.a, il existe la version dynamique correspondante libx.so.
La librairie a été compilée avec les Threads POSIX mais aussi en OpenMP.

Ces 4 modules sont disponibles sur login{01-02}, node{001-072}, smp{01} et visu{01-08}.

Dependances: 
  • Pour fftw/2.1.5 :

Aucune dépendance pour la version séquentielle ou threaded de la librairie

Pour la version MPI dépendant de openmpi/1.6.2 :

module load openmpi/1.6.2
module load fftw/2.1.5
  • Pour fftw/intel/2.1.5 :

Dépendant de intel/12.1 (et intelmpi/4.0 pour la version MPI de la librairie)

module load intel/12.1
module load intelmpi/4.0
module load fftw/intel/2.1.5
  • Pour fftw/3.3.3 :

Dépendant de openmpi/1.6.2 pour la version MPI de la librairie sinon aucune dépendance

module load openmpi/1.6.2
module load fftw/3.3.3
  • Pour fftw/intel/3.3.3 :

Dépendant de intel/12.1 (et intelmpi/4.0 pour la version MPI de la librairie)

module load intel/12.1
module load intelmpi/4.0
module load fftw/intel/2.1.5

Lors du chargement du module, 3 variables d'environnement spécifique à FFTW sont exportées :

  • Pour FFTW 3 : FFTW3_DIR, FFTW3_INC et FFTW3_LIB

Pour compiler :

gcc monprog.c -I$FFTW3_INC -L$FFTW3_LIB -lfftw3
  • Pour FFTW 2 : FFTW_DIR, FFTW_INC et FFTW_LIB

Pour compiler :

gcc monprog.c -I$FFTW_INC -L$FFTW_LIB -lfftw

 

Adresse

Université de Nice Sophia-Antipolis
D.S.I.
28 Avenue de Valrose
B.P. 2135
06103 NICE Cedex 02