WSCAD2009
-
Upload
vitor-gomes -
Category
Documents
-
view
292 -
download
0
Transcript of WSCAD2009
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Uma FFT Hıbrida e Paralela para oSupercomputador Cray XD1
Vitor Gomes1,2 Andrea Charao1 Haroldo de Campos Velho2
1LSC - Laboratorio de Sistemas de ComputacaoUFSM - Universidade Federal de Santa Maria
2LAC - Laboratorio Associado de Computacao e Matematica AplicadaINPE - Instituto Nacional de Pesquisas Espaciais
1 / 17
RoteiroTransformada de Fourier
Cray XD1FFT 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
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Transformada de FourierTransformada Rapida de Fourier - FFT
Transformada de Fourier
Transformada Linear
Nucleo ComputacionalProcessamento de SinaisSolucao de equacoes parciaisProcessamento de Imagens...
Mudanca de domınio:Ex.: tempo ↔ frequencia
3 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Transformada de FourierTransformada Rapida de Fourier - FFT
Transformada de FourierTransformada Rapida de Fourier - FFT
Fast Fourier Transform - FFT
Cooley e Tukey (1965)
Complexidade O(N2) → O(NlogN)
Nucleo basico: Borboleta6 somas em ponto flutuante4 multiplicacoes em ponto flutuante
Figura: Fluxo de execucao
4 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Transformada de FourierTransformada Rapida de Fourier - FFT
Transformada de FourierTransformada Rapida de Fourier - FFT
Fast Fourier Transform - FFT
Cooley e Tukey (1965)
Complexidade O(N2) → O(NlogN)
Nucleo basico: Borboleta6 somas em ponto flutuante4 multiplicacoes em ponto flutuante
Figura: Fluxo de execucao
5 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Transformada de FourierTransformada Rapida de Fourier - FFT
Transformada de FourierAbordagem Paralela
Uso intensivo de processamento
Algoritmo binary-exchange
Dependencia de dados entre passos
Custo de comunicacao
Figura: Fluxo de execucao
6 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Transformada de FourierTransformada Rapida de Fourier - FFT
Transformada de FourierAbordagem Paralela
Uso intensivo de processamento
Algoritmo binary-exchange
Dependencia de dados entre passos
Custo de comunicacao
Figura: Fluxo de execucao
7 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Cray XD1
Sistema Hıbrido Reconfiguravel
Rede de alto desempenho
Inclus ao de FPGAs
6x Blades
Blade
2 AMD Opteron 64bits 2.4GHz1 FPGA Xilinx Virtex II Pro Figura: Cray XD1
8 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Cray XD1Arquitetura Blade Cray XD1
Figura: Arquitetura Blade Cray XD1
9 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaObjetivo
Objetivo
Aproveitar o poder computacional de CPU e FPGA
Estabelecer um perfil de execucao da FFT nesta arquitetura
10 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaMetodologia
1 Implementacao em Software
2 Implementacao em VHDL
3 Avaliar tempo de execucao de cada implementacao
4 Particionamento de carga entre CPU e FPGA
5 Execucao e avaliacao da FFT Hıbrida e Paralela
11 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaSoftware
fo r passo from 1 to N by 2fo r j from 0 to passo by 1
ca l cu la f a t o r de g i r ofo r i from j to N by passo∗2
ca l cu la borbo le ta ( data [ i ] , data [ i + passo ] )end for
end fo rend fo r
Implementado em Linguagem C
Compilado com GCC versao 3.3.3
12 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaHardware
Descricao em VHDL
+2000 linhas de codigo
∼ 3h geracao bitstream
Ocupa 97% do FPGA13 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaParticionamento
Tabela: Particionamento entre CPU e FPGA
Tempo Medio (ms)Amostras FPGA CPU Proporcao
1.024 0,94 0,19 3 : 14.096 3,45 0,79 3 : 1
16.384 14,68 4,33 3 : 165.536 63,76 20,59 3 : 1
131.072 132,73 47,59 3 : 1262.144 276,76 191,25 1 : 1524.288 − 461,59 1 : 1
1.048.576 − 979,56 3 : 1
FPGA 160MHz
CPU 2.4GHz
14 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
ObjetivoImplementacaoParticionamentoDesempenho
FFT Hıbrida e ParalelaDesempenho
Tabela: Tempos da FFT Hıbrida e Paralela
Tempo Medio (ms)Amostras Hıbrida CPU Speedup
1.024 0,66 0,19 0,294.096 1,72 0,79 0,46
16.384 5,66 4,33 0,7765.536 23,29 20,59 0,88
131.072 49,77 47,59 0,96262.144 150,63 191,25 1,27524.288 310,48 461,59 1,49
1.048.576 813,57 979,56 1,20
15 / 17
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Conclusoes e Trabalhos Futuros
E possıvel utilizar o poder de processamento de CPU combinadocom FPGA para computacao de FFT
Foi obtido aumento de desempenho para execucoes com262.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
RoteiroTransformada de Fourier
Cray XD1FFT Hıbrida e Paralela
Conclusoes e Trabalhos Futuros
Uma FFT Hıbrida e Paralela para oSupercomputador Cray XD1
Vitor Gomes Andrea Charao Haroldo de Campos Velho{vconrado, andrea}@inf.ufsm, [email protected]
http://slideshare.net/vconrado/wscad2009
17 / 17