fftw-3.3.10
Introdução ao 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 corretamente
usando uma plataforma LFS 12.2.
Informação do Pacote
-
Transferência (HTTP): https://www.fftw.org/fftw-3.3.10.tar.gz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
8ccbf6a5ea78a16dbc3e1306e234cc5c
-
Tamanho da transferência: 4,0 MB
-
Espaço em disco estimado exigido: 59 MB
-
Tempo de construção estimado: 1,6 UPC (adicionar 3,4 UPC para
testes, ambos usando paralelismo=4)
Instalação da fftw
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
AVX2. 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-17.0.
--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 executar em uma
CPU sem o AVX512F. Use essa opção se a construção da FFTW será
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(a)
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
|