fftw-3.3.10

Introduksjon til fftw

FFTW er et C subrutinebibliotek for å beregne den diskrete Fourier transform (DFT) i en eller flere dimensjoner, av vilkårlig inngangsstørrelse, og av både reelle og komplekse data (så vel som partall/oddetallsdata, dvs diskrete cosinus/sinus transformasjoner eller DCT/DST).

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://www.fftw.org/fftw-3.3.10.tar.gz

  • Nedlasting MD5 sum: 8ccbf6a5ea78a16dbc3e1306e234cc5c

  • Nedlastingsstørrelse: 4.0 MB

  • Estimert diskplass som kreves: 59 MB

  • Estimert byggetid: 1.6 SBU (legg til 3,4 SBU for tester, begge med parallellisme=4)

Installasjon av fftw

[Notat]

Notat

Vi bygger fftw tre ganger for ulike biblioteker i ulike numeriske presisjoner: standard flytepunkt med dobbel presisjon, den eldre 32-biters (enkel presisjon) versjon kalt float som ofrer presisjon for hastighet, og den lange doble som tilbyr økt presisjon på bekostning av tregere utførelse.

Det første bygget er for aritmetikk med dobbel presisjon. Installere fftw ved å kjøre følgende kommandoer:

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    &&
make

For å teste resultatene, utsted: make check. På 32-bits systemer kan testene ta betydelig lengre tid enn de ville på 64-bits maskiner.

Nå, som root bruker:

make install

Bygg nå enkeltpresisjon:

make clean &&

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    \
            --enable-float   &&
make

Som root bruker:

make install

Bygg til slutt lang dobbel presisjon:

make clean &&

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-long-double &&
make

Som root bruker:

make install

Parameterforklaringer

--enable-shared --disable-static: Bruk delte biblioteker i stedet for statiske biblioteker.

--enable-threads: Dette aktiverer libfftw3_threads.so til å bli kompilert. Det brukes av f.eks. gimp programtillegget fra G'MIC.

--enable-{sse2,avx,avx2}: Disse aktiverer bygging av de optimaliserte rutinene ved å bruke SSE2, AVX og AVX2 instruksjoner. FFTW vil sjekke om disse rutinene virkelig kan brukes på gjeldende CPU når FFTW biblioteket er lastet, så et FFTW bygg med disse rutinene aktivert kan fortsatt kjøre på en CPU uten SSE2, AVX eller AVX2. Disse alternativene er ikke kompatible med --enable-long-double.

--enable-float: Dette aktiverer bygging av biblioteket som bruker enkeltpresisjon flytepunktaritmetikk. Det er raskere, men mindre presis enn standard dobbel presisjonsbibliotek. Biblioteket blir kalt libfftw3f.so som trengs av PulseAudio-17.0.

--enable-long-double: Dette aktiverer bygging av biblioteket som bruker høyere presisjon lang-dobbel flytende punkt-aritmetikk. Biblioteket blir kalt libfftw3l.so.

--enable-avx512: Dette aktiverer bygging av optimaliserte rutiner ved hjelp av AVX512F instruksjoner. FFTW vil sjekke om disse rutinene virkelig kan brukes på gjeldende CPU når FFTW biblioteket er lastet, så et FFTW bygg med disse rutinene aktivert kan fortsatt kjøres på en CPU uten AVX512F. Bruk dette alternativet hvis FFTW bygget skal brukes på en CPU med AVX512F. Dette alternativet er ikke kompatibelt med --enable-long-double.

Innhold

Installerte Programmer: fftw-wisdom og fftw-wisdom-to-conf
Installerte Biblioteker: libfftw3.so, libfftw3_threads.so, libfftw3f.so, libfftw3f_threads.so, libfftw3l.so og libfftw3l_threads.so
Installerte Mapper: Ingen

Korte Beskrivelser

fftw-wisdom

er et verktøy for å generere FFTW wisdomfiler, som inneholder lagrede informasjon om hvordan man optimalt kan beregne (Fourier) transformasjoner av ulike størrelser

fftw-wisdom-to-conf

er et verktøy for å generere C konfigurasjonsrutiner fra FFTW wisdom filer, der sistnevnte inneholder lagret informasjon om hvordan beregne (Fourier) transformasjoner av forskjellige størrelser optimalt

libfftw3.so

er Fast Fourier Transform biblioteket

libfftw3_threads.so

er det trådete Fast Fourier Transform biblioteket

libfftw3f.so

er enkeltpresisjon Fast Fourier Transform biblioteket, beskrevet som «float» av historiske årsaker

libfftw3f_threads.so

er det trådete enkeltpresisjon Fast Fourier Transform biblioteket

libfftw3l.so

er det lange doble Fast Fourier Transform biblioteket

libfftw3l_threads.so

er det trådete lange doble Fast Fourier Transform biblioteket