fftw-3.3.10

Introdução a fftw

FFTW é uma biblioteca de sub-rotina C para calcular a transformada discreta de Fourier (DFT) em uma ou mais dimensões, de tamanho arbitrário de entrada gerada e de dados reais e complexos (bem como de dados pares/ímpares, ou seja, as transformações discretas de cosseno/seno ou DCT/DST).

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fftw

Instalação da fftw

[Nota]

Nota

Construímos a fftw três vezes para diferentes bibliotecas em diferentes precisões numéricas: o ponto flutuante de precisão dupla padrão, a versão mais antiga de 32 bits (precisão única) chamada "float", que sacrifica a precisão pela velocidade, e o duplo longo, que oferece maior precisão ao custo de execução mais lenta.

A primeira construção é para aritmética de precisão dupla. Instale a fftw executando os seguintes comandos:

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

Para testar os resultados, emita: make check. Em sistemas de 32 bits, os testes podem tomar substancialmente mais tempo que tomaria em máquinas de 64 bits.

Agora, como o(a) usuário(a) root:

make install

Agora construa precisão única:

make clean &&

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

Como o(a) usuário(a) root:

make install

Finalmente, construa precisão dupla longa:

make clean &&

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

Como o(a) usuário(a) root:

make install

Explicações do Comando

--enable-shared --disable-static: Use bibliotecas compartilhadas em vez de bibliotecas estáticas.

--enable-threads: Isso habilita libfftw3_threads.so para ser compilada. Ela é usada, por exemplo, pelo plugin gimp proveniente de G'MIC.

--enable-{sse2,avx,avx2}: Essas habilitam construir as rotinas otimizadas usando instruções SSE2, AVX e AVX2. O FFTW verificará se essas rotinas podem realmente ser usadas na CPU atual quando a biblioteca FFTW for carregada, de forma que uma construção da FFTW com essas rotinas habilitadas ainda possa ser executada em uma CPU sem SSE2, AVX ou AVX512. Essas opções não são compatíveis com --enable-long-double.

--enable-float: Isso habilita construir a biblioteca que usa aritmética de ponto flutuante de precisão simples. É mais rápido, mas menos preciso que a biblioteca padrão de precisão dupla. A biblioteca será chamada libfftw3f.so necessária para PulseAudio-16.1.

--enable-long-double: Isso habilita construir a biblioteca que usa aritmética de ponto flutuante longa-dupla de maior precisão. A biblioteca será chamada libfftw3l.so.

--enable-avx512: Isso habilita construir as rotinas otimizadas usando instruções AVX512F. O FFTW verificará se essas rotinas podem realmente ser usadas na CPU atual quando a biblioteca FFTW for carregada, de forma que uma construção da FFTW com essas rotinas habilitadas ainda possa ser executada em uma CPU sem o AVX512F. Use essa opção se a construção da FFTW for usada em uma CPU com AVX512F. Essa opção não é compatível com --enable-long-double.

Conteúdo

Aplicativos Instalados: fftw-wisdom e fftw-wisdom-to-conf
Bibliotecas Instaladas: libfftw3.so, libfftw3_threads.so, libfftw3f.so, libfftw3f_threads.so, libfftw3l.so e libfftw3l_threads.so
Diretórios Instalados: Nenhum

Descrições Curtas

fftw-wisdom

é um utilitário para gerar arquivos de sabedoria FFTW, que contém informação salva a respeito do como otimizadamente calcular transformações (Fourier) de vários tamanhos

fftw-wisdom-to-conf

é um utilitário para gerar rotinas de configuração C a partir de arquivos de sabedoria FFTW, onde os últimos contém informação salva a respeito do como otimizadamente calcular transformações (Fourier) de vários tamanhos

libfftw3.so

é a biblioteca Fast Fourier Transform

libfftw3_threads.so

é a biblioteca encadeada Fast Fourier Transform

libfftw3f.so

é a biblioteca Fast Fourier Transform de precisão simples, descrita como float por razões históricas

libfftw3f_threads.so

é a biblioteca encadeada de precisão simples Fast Fourier Transform

libfftw3l.so

é a biblioteca longa dupla Fast Fourier Transform

libfftw3l_threads.so

é a biblioteca encadeada longa dupla Fast Fourier Transform