Introduction à fftw
FFTW est une bibliothèque de sous-routines C pour calculer la
transformée de Fourier discrète (DFT) en une ou plusieurs
dimensions, d'une taille d'entrée quelconque, et pour des données
réelles ou complexes (mais aussi pour les données pair/impair
c'est-à-dire la transformée cosinus / sinus (DCT/DST)).
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-1.0.
Informations sur le paquet
-
Téléchargement (HTTP) : http://www.fftw.org/fftw-3.3.8.tar.gz
-
Téléchargement (FTP) : ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
-
Somme de contrôle MD5 du téléchargement :
8aac833c943d8e90d51b697b27d4384d
-
Taille du téléchargement : 3.9 Mo
-
Estimation de l'espace disque requis : 57 Mo (plus 1 Mo
pour les tests)
-
Estimation du temps de construction : 1.6 SBU (avec
parallélisme = 4 ; plus 1.9 SBU pour les tests)
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/fftw
Installation de fftw
Note
Nous construisons fftw trois fois pour construire plusieurs
bibliothèques dans des précisions numériques différentes :
la précision en double flottant par défaut, l'ancienne version
32-bits (en simple précision) nommée float qui sacrifie la
précision pour la vitesse et la double précision longue qui offre
une meilleure précision contre une exécution plus lente.
La première construction correspond à l'arithmétique en double
précision. Installez fftw en
lançant les commandes suivantes :
./configure --prefix=/usr \
--enable-shared \
--disable-static \
--enable-threads \
--enable-sse2 \
--enable-avx &&
make
Pour tester les résultats, lancez : make check. Sur les systèmes 32
bits, les tests peuvent prendre bien plus de temps que pour les
machines 64 bits.
Maintenant, en tant qu'utilisateur root
:
make install
Maintenant construisez la simple précision :
make clean &&
./configure --prefix=/usr \
--enable-shared \
--disable-static \
--enable-threads \
--enable-sse2 \
--enable-avx \
--enable-float &&
make
En tant qu'utilisateur root
:
make install
Enfin, construisez la double précision longue :
make clean &&
./configure --prefix=/usr \
--enable-shared \
--disable-static \
--enable-threads \
--enable-long-double &&
make
En tant qu'utilisateur root
:
make install
Explication des commandes
--enable-shared
--disable-static
: Utilise les bibliothèques
partagées plutôt que les bibliothèques statiques.
--enable-threads
:
Ceci active la compilation de libfftw3_threads.so
. Elle est utilisée par
exemple par le greffon gimp
G'MIC.
--enable-float
: Cela
active la compilation de la bibliothèque qui utilise l'arithmétique
des flotants en simple précision. Elle est plus rapide mais moins
précise que la bibliothèque en double précision par défaut. La
bibliothèque s'appellera libhfftw3f.so
et est requise par PulseAudio-13.0.
--enable-long-double
:
Cela active la compilation de la bibliothèque qui utilise
l'arithmétique des flotants en double précision longue. La
bibliothèque s'appellera libfftw3l.so
.