WSCAD2009

17
Roteiro Transformada de Fourier Cray XD1 FFT H´ ıbrida e Paralela Conclus ˜ oes e Trabalhos Futuros Uma FFT H´ ıbrida e Paralela para o Supercomputador Cray XD1 Vitor Gomes 1,2 Andrea Char ˜ ao 1 Haroldo de Campos Velho 2 1 LSC - Laborat ´ orio de Sistemas de Computac ¸˜ ao UFSM - Universidade Federal de Santa Maria 2 LAC - Laborat ´ orio Associado de Computac ¸˜ ao e Matem ´ atica Aplicada INPE - Instituto Nacional de Pesquisas Espaciais 1 / 17

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