Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
WSCAD2009
1. Roteiro
Transformada de Fourier
Cray XD1
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Uma FFT H´brida e Paralela para o
ı
Supercomputador Cray XD1
Vitor Gomes1,2 Andrea Charao1
˜ Haroldo de Campos Velho2
1
´ ¸˜
LSC - Laboratorio de Sistemas de Computacao
UFSM - Universidade Federal de Santa Maria
2
´ ¸˜ ´
LAC - Laboratorio Associado de Computacao e Matematica Aplicada
INPE - Instituto Nacional de Pesquisas Espaciais
1 / 17
2. Roteiro
Transformada de Fourier
Cray XD1
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Roteiro
1 Transformada de Fourier
2 Cray XD1
3 FFT H´brida e Paralela
ı
4 ˜
Conclusoes e Trabalhos Futuros
2 / 17
3. Roteiro
Transformada de Fourier
Transformada de Fourier
Cray XD1
´
Transformada Rapida de Fourier - FFT
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Transformada de Fourier
Transformada Linear
Nucleo Computacional
´
Processamento de Sinais
¸˜ ¸˜
Solucao de equacoes parciais
Processamento de Imagens
...
Mudanca de dom´nio:
¸ ı
Ex.: tempo ↔ frequencia
ˆ
3 / 17
4. Roteiro
Transformada de Fourier
Transformada de Fourier
Cray XD1
´
Transformada Rapida de Fourier - FFT
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Transformada de Fourier
´
Transformada Rapida de Fourier - FFT
Fast Fourier Transform - FFT
Cooley e Tukey (1965)
Complexidade O (N 2 ) → O (NlogN )
´
Nucleo basico: Borboleta
´
6 somas em ponto flutuante
¸˜
4 multiplicacoes em ponto flutuante
¸˜
Figura: Fluxo de execucao
4 / 17
5. Roteiro
Transformada de Fourier
Transformada de Fourier
Cray XD1
´
Transformada Rapida de Fourier - FFT
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Transformada de Fourier
´
Transformada Rapida de Fourier - FFT
Fast Fourier Transform - FFT
Cooley e Tukey (1965)
Complexidade O (N 2 ) → O (NlogN )
´
Nucleo basico: Borboleta
´
6 somas em ponto flutuante
¸˜
4 multiplicacoes em ponto flutuante
¸˜
Figura: Fluxo de execucao
5 / 17
6. Roteiro
Transformada de Fourier
Transformada de Fourier
Cray XD1
´
Transformada Rapida de Fourier - FFT
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Transformada de Fourier
Abordagem Paralela
Uso intensivo de processamento
Algoritmo binary-exchange
ˆ
Dependencia de dados entre passos
¸˜
Custo de comunicac ao
¸˜
Figura: Fluxo de execucao
6 / 17
7. Roteiro
Transformada de Fourier
Transformada de Fourier
Cray XD1
´
Transformada Rapida de Fourier - FFT
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Transformada de Fourier
Abordagem Paralela
Uso intensivo de processamento
Algoritmo binary-exchange
ˆ
Dependencia de dados entre passos
¸˜
Custo de comunicac ao
¸˜
Figura: Fluxo de execucao
7 / 17
8. Roteiro
Transformada de Fourier
Cray XD1
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Cray XD1
´
Sistema H´brido Reconfiguravel
ı
Rede de alto desempenho
˜
Inclusao de FPGAs
6x Blades
Blade
2 AMD Opteron 64bits 2.4GHz
1 FPGA Xilinx Virtex II Pro Figura: Cray XD1
8 / 17
10. Roteiro
Objetivo
Transformada de Fourier
¸˜
Implementacao
Cray XD1
Particionamento
FFT H´brida e Paralela
ı
Desempenho
˜
Conclusoes e Trabalhos Futuros
FFT H´brida e Paralela
ı
Objetivo
Objetivo
Aproveitar o poder computacional de CPU e FPGA
¸˜
Estabelecer um perfil de execucao da FFT nesta arquitetura
10 / 17
11. Roteiro
Objetivo
Transformada de Fourier
¸˜
Implementacao
Cray XD1
Particionamento
FFT H´brida e Paralela
ı
Desempenho
˜
Conclusoes e Trabalhos Futuros
FFT H´brida e Paralela
ı
Metodologia
1 ¸˜
Implementacao em Software
2 ¸˜
Implementacao em VHDL
3 ¸˜ ¸˜
Avaliar tempo de execucao de cada implementac ao
4 Particionamento de carga entre CPU e FPGA
5 ¸˜ ¸˜
Execucao e avaliacao da FFT H´brida e Paralela
ı
11 / 17
12. Roteiro
Objetivo
Transformada de Fourier
¸˜
Implementacao
Cray XD1
Particionamento
FFT H´brida e Paralela
ı
Desempenho
˜
Conclusoes e Trabalhos Futuros
FFT H´brida e Paralela
ı
Software
f o r passo from 1 to N by 2
f o r j from 0 to passo by 1
c a l c u l a f a t o r de g i r o
f o r i from j to N by passo ∗2
c a l c u l a b o r b o l e t a ( data [ i ] , data [ i + passo ] )
end f o r
end f o r
end f o r
Implementado em Linguagem C
˜
Compilado com GCC versao 3.3.3
12 / 17
13. Roteiro
Objetivo
Transformada de Fourier
¸˜
Implementacao
Cray XD1
Particionamento
FFT H´brida e Paralela
ı
Desempenho
˜
Conclusoes e Trabalhos Futuros
FFT H´brida e Paralela
ı
Hardware
¸˜
Descricao em VHDL ∼ 3h geracao bitstream
¸˜
´
+2000 linhas de codigo Ocupa 97% do FPGA
13 / 17
14. Roteiro
Objetivo
Transformada de Fourier
¸˜
Implementacao
Cray XD1
Particionamento
FFT H´brida e Paralela
ı
Desempenho
˜
Conclusoes e Trabalhos Futuros
FFT H´brida e Paralela
ı
Particionamento
Tabela: Particionamento entre CPU e FPGA
´
Tempo Medio (ms)
Amostras FPGA CPU ¸˜
Proporcao
1.024 0, 94 0, 19 3:1
4.096 3, 45 0, 79 3:1 FPGA 160MHz
16.384 14, 68 4, 33 3:1 CPU 2.4GHz
65.536 63, 76 20, 59 3:1
131.072 132, 73 47, 59 3:1
262.144 276, 76 191, 25 1:1
524.288 − 461, 59 1:1
1.048.576 − 979, 56 3:1
14 / 17
16. Roteiro
Transformada de Fourier
Cray XD1
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
˜
Conclusoes e Trabalhos Futuros
´
E poss´vel utilizar o poder de processamento de CPU combinado
ı
¸˜
com FPGA para computacao de FFT
¸˜
Foi obtido aumento de desempenho para execucoes com
262.144, 524.288 e 1.048.576 pontos
Em trabalhos futuros utilizar borboletas com radix-4
¸˜
Criar um pipeline na computacao interna da Borboleta
16 / 17
17. Roteiro
Transformada de Fourier
Cray XD1
FFT H´brida e Paralela
ı
˜
Conclusoes e Trabalhos Futuros
Uma FFT H´brida e Paralela para o
ı
Supercomputador Cray XD1
˜
Vitor Gomes Andrea Charao Haroldo de Campos Velho
{vconrado, andrea}@inf.ufsm, haroldo@lac.inpe.br
http://slideshare.net/vconrado/wscad2009
17 / 17