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-11.1 platform.

Informations sur le paquet

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/fftw

Installation de fftw

[Note]

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     &&
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-15.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.

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

Last updated on