fftw-3.3.10
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)).
This package is known to build and work properly using an LFS 12.0
platform.
Informations sur le paquet
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
exécutant les commandes suivantes :
./configure --prefix=/usr \
--enable-shared \
--disable-static \
--enable-threads \
--enable-sse2 \
--enable-avx \
--enable-avx2 &&
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-avx2 \
--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 de
G'MIC.
--enable-{sse2,avx,avx2}
: ces
paramètres activent la construction des routines optimisées avec
les instructions SSE2, AVX et AVX2. FFTW vérifiera si ces routines
peuvent être utilisées sur le CPU actuel lorsque la bibliothèque
FFTW est chargée, donc une construction de FFTW avec ces routines
activées peut toujours fonctionner sur un CPU sans SSE2, AVX ou
AVX512. Ces options ne sont pas compatibles avec --enable-long-double
.
--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-16.1.
--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
.
--enable-avx512
: cela active la
construction des routines optimisées avec les instructions AVX512F.
FFTW vérifiera si ces routines peuvent être utilisées sur le CPU
actuel lorsque la bibliothèque FFTW est chargée, donc une
construction de FFTW avec ces routines activées peut toujours
fonctionner sur un CPU sans AVX512F. Utilisez cette option si FFTW
sera utilisé sur un CPU avec AVX512F. Cette option n'est pas
compatible avec --enable-long-double
.
Contenu
Programmes installés:
fftw-wisdom et fftw-wisdom-to-conf
Bibliothèques installées:
libfftw3.so, libfftw3_threads.so,
libfftw3f.so, libfftw3f_threads.so, libfftw3l.so et
libfftw3l_threads.so
Répertoires installés:
Aucun
Descriptions courtes
fftw-wisdom
|
est un utilitaire pour générer des fichiers FFTW wisdom,
qui contiennent les informations enregistrées sur le
calcul optimal de transformées de diverses tailles
|
fftw-wisdom-to-conf
|
est une utilitaire pour générer des routines de
configuration en C à partir des fichiers FFTW wisdom, ce
dernier contenant les informations enregistrées sur le
calcul optimal de transformées de diverses tailles
|
libfftw3.so
|
est la bibliothèque contenant la transformée de Fourier
rapide
|
libfftw3_threads.so
|
est la bibliothèque parallèle contenant la transformée de
Fourier rapide
|
libfftw3f.so
|
est la bibliothèque en précision simple contenant la
transformée de Fourier rapide, décrite comme étant
« float » pour des raisons
historiques
|
libfftw3f_threads.so
|
est la bibliothèque parallèle à simple précision
contenant la transformée de Fourier rapide
|
libfftw3l.so
|
est la bibliothèque contenant la transformée de Fourier
rapide en double flottant long
|
libfftw3l_threads.so
|
est la bibliothèque parallèle contenant la transformée de
Fourier rapide en double flottant long
|