Minicurso WSCAD 2010
-
Upload
vitor-gomes -
Category
Documents
-
view
284 -
download
3
description
Transcript of Minicurso WSCAD 2010
![Page 1: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/1.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Minicurso WSCAD-SSC 2009
Computacao Heterogenea de Alto Desempenhocom FPGAs
Andrea Charao1 Vitor Gomes1,2 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 / 38
![Page 2: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/2.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
1 ContextualizacaoComputacao Heterogenea/HıbridaFPGA vs. GPU?
2 Sistemas Hıbridos Reconfiguraveis
3 Aplicacoes
4 Desenvolvimento HıbridoO que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
5 Caso: XD1 INPEEquipamentoAplicacoesDesenvolvimento
2 / 38
![Page 3: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/3.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
Computacao Heterogenea/HıbridaContextualizacao
Utiliza multiplos tipos deelementos de processamento(CPU, GPU, FPGA, etc)
Cada elemento processa atarefa mais adequada
Objetivo: aumento dedesempenho Figura: Computacao Hıbrida
3 / 38
![Page 4: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/4.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
Computacao Heterogenea/HıbridaContextualizacao
Utiliza multiplos tipos deelementos de processamento(CPU, GPU, FPGA, etc)
Cada elemento processa atarefa mais adequada
Objetivo: aumento dedesempenho
Figura: Computacao HıbridaReconfiguravel (FPGA)
4 / 38
![Page 5: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/5.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
Um pouco de historiaComputacao Hıbrida Reconfiguravel
Imaginado por Gerald Estrin em 62
Arquitetura Fixed-Plus-Variable
FPGAs disponıveis em 85 (Xilinx)
Primeiro Computador HıbridoReconfiguravel (91): AlgotronixCHS2X4
Tecnologia comprada pela Xilinx em93
Figura: Algotronix CHS2X45 / 38
![Page 6: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/6.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
FPGA vs. GPU?Google Trends
Figura: Google Trends
Figura: Google Trends:Regions
6 / 38
![Page 7: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/7.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
FPGA vs. GPU?SBAC-PAD Trends
SBAC-PAD’09
FPGA: 1
GPU: 5
WSCAD-SSC’09
FPGA: 6
GPU: 4
7 / 38
![Page 8: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/8.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Computacao Heterogenea/HıbridaFPGA vs. GPU?
FPGA vs. GPU?Caracterısticas
FPGA
Arquitetura customizada paraa aplicacao
Baixa frequencia
Baixo consumo de energia
Desenvolvimento ”difıcil”
Comunicacao e crıtica
GPU
Aplicacao precisa se adequara arquitetura
Alta frequencia
Alto consumo de energia
Desenvolvimento ”facil”
Comunicacao e crıtica
8 / 38
![Page 9: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/9.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Sistemas Hıbridos Reconfiguraveis
1 ContextualizacaoComputacao Heterogenea/HıbridaFPGA vs. GPU?
2 Sistemas Hıbridos Reconfiguraveis
3 Aplicacoes
4 Desenvolvimento HıbridoO que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
5 Caso: XD1 INPEEquipamentoAplicacoesDesenvolvimento
9 / 38
![Page 10: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/10.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Cray XD1Sistemas Hıbridos Reconfiguraveis
Lancado em 2004
6x blades2 AMD Opteron 64bits1 FPGA Xilinx Virtex II Pro
Figura: Cray XD1
10 / 38
![Page 11: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/11.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Cray XD1Sistemas Hıbridos Reconfiguraveis
Lancado em 2004
6x blades2 AMD Opteron 64bits1 FPGA Xilinx Virtex II Pro
Figura: Cray XD1
11 / 38
![Page 12: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/12.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Blade Cray XR1Sistemas Hıbridos Reconfiguraveis
Solucao generica da Cray
1 AMD Opteron
2 FPGAs Xilinx Virtex 4
Compatıvel com XT3, XT4 eXT5
Figura: Blade Cray XR1
12 / 38
![Page 13: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/13.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Blade SGI RASC RC100Sistemas Hıbridos Reconfiguraveis
Solucao generica da SGI
2 FPGAs Xilinx Virtex 4
Conectado diretamente aobarramento
Compatıvel com SGI Altix4700 e Altix 450
Figura: SGI RASC RC100
13 / 38
![Page 14: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/14.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Arquitetura SRC IMPLICIT + EXPLICITSistemas Hıbridos Reconfiguraveis
Arquitetura IMPLICIT +EXPLICIT
SRC Carte ProgrammingEnvironment
Figura: Arquitetura SRC IMPLICIT +EXPLICIT
14 / 38
![Page 15: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/15.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Cray XD1Blade Cray XR1Blade SGI RASC RC100Arquitetura SRC IMPLICIT + EXPLICITConvey HC-1
Convey HC-1Sistemas Hıbridos Reconfiguraveis
Arquitetura hıbrida recente(SC’09)
Green computing
Convey compiler
Figura: Convey HC-1
15 / 38
![Page 16: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/16.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Mitrionics: Information RetrievalOAK Ridge National Laboratory
Aplicacoes
1 ContextualizacaoComputacao Heterogenea/HıbridaFPGA vs. GPU?
2 Sistemas Hıbridos Reconfiguraveis
3 Aplicacoes
4 Desenvolvimento HıbridoO que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
5 Caso: XD1 INPEEquipamentoAplicacoesDesenvolvimento
16 / 38
![Page 17: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/17.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Mitrionics: Information RetrievalOAK Ridge National Laboratory
Mitrionics: Information Retrieval
Information Retrieval
”University of Glasgow Researchers Attain 20x Acceleration and 90%Power Savings for Information Retrieval Application.”
W. Vanderbauwhede, L. Azzopardi, and M. Moadeli.FPGA-Acclerated Information Retrieval: High-EfficiencyDocument Filtering . In: FPL09 Prague - 19th InternationalConference on Field Programmable Logic and Applications, Sep.2009
Filtragem de grandes quantidades de documentos
SGI RASC RC100
17 / 38
![Page 18: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/18.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Mitrionics: Information RetrievalOAK Ridge National Laboratory
OAK Ridge National Laboratory
18 / 38
![Page 19: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/19.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Mitrionics: Information RetrievalOAK Ridge National Laboratory
OAK Ridge National LaboratoryOnde estao executando?
19 / 38
![Page 20: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/20.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Mitrionics: Information RetrievalOAK Ridge National Laboratory
OAK Ridge National LaboratoryResultados
20 / 38
![Page 21: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/21.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
O que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
Desenvolvimento Hıbrido
1 ContextualizacaoComputacao Heterogenea/HıbridaFPGA vs. GPU?
2 Sistemas Hıbridos Reconfiguraveis
3 Aplicacoes
4 Desenvolvimento HıbridoO que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
5 Caso: XD1 INPEEquipamentoAplicacoesDesenvolvimento
21 / 38
![Page 22: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/22.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
O que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
O que executar no FPGA?Desenvolvimento Hıbrido
Nucleos computacionalmente intensivos
Custo de comunicacao vs Custo processamento
22 / 38
![Page 23: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/23.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
O que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
AbordagensDesenvolvimento Hıbrido
Figura: CPU ou FPGA Figura: CPU e FPGA
23 / 38
![Page 24: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/24.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
O que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
Fluxo de DesenvolvimentoDesenvolvimento Hıbrido
24 / 38
![Page 25: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/25.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
O que executar no FPGA?AbordagensFluxo de DesenvolvimentoDesafios
DesafiosDesenvolvimento Hıbrido
Comunicacao CPU - FPGA (Custo e abordagens)
Ponto Flutuante (area disponıvel no FPGA, N ciclos)
Utilizacao eficiente da hierarquia de memoria
Duplo paradigma
Particionamento de carga entre CPU e FPGA
25 / 38
![Page 26: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/26.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
EquipamentoCaso: XD1 INPE
Adquido pelo INPE em 2005
26 / 38
![Page 27: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/27.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
AplicacoesCaso: XD1 INPE
Solucao de Equacoes diferenciais parciaisTransformada Rapida de Fourier
Criptografia: SHA-2
27 / 38
![Page 28: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/28.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
Figura: Template para o FPGA
28 / 38
![Page 29: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/29.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
Biblioteca einlib
Abstrai o FPGA como um arquivo
Funcoes
Abertura: fd = fpga open (/dev/ufp0, ...);
Carga: fpga load (fd, top.bin.ufp , ...);
Escrita: fpga wrt appif val (fd, data, addr, ...);
Leitura: fpga rd appif val (fd, &data, addr, ...);
29 / 38
![Page 30: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/30.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
Funcoes
fpga wrt appif val(fd, 0x0F, 0x01);
fpga rd appif val(fd, &data, 0x01);
30 / 38
![Page 31: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/31.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
31 / 38
![Page 32: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/32.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
32 / 38
![Page 33: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/33.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
33 / 38
![Page 34: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/34.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
ufphdr
Convert
34 / 38
![Page 35: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/35.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
Submissao
Na fila, aguardando
Executando
35 / 38
![Page 36: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/36.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
DesenvolvimentoCaso: XD1 INPE
Saıda
36 / 38
![Page 37: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/37.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
EquipamentoAplicacoesDesenvolvimento
Consideracoes finais
Panorama da computacao hıbrida usando FPGA
Futuro dos FPGAs na computacao de alto desempenho?fabricantesdesenvolvedores e pesquisadoresusuarios
Desenvolvimento para FPGAs: pros e contras
37 / 38
![Page 38: Minicurso WSCAD 2010](https://reader033.fdocumentos.com/reader033/viewer/2022052907/5590a6d41a28ab6a528b460f/html5/thumbnails/38.jpg)
ContextualizacaoSistemas Hıbridos Reconfiguraveis
AplicacoesDesenvolvimento Hıbrido
Caso: XD1 INPE
Minicurso WSCAD-SSC 2009
Computacao Heterogenea de Alto Desempenhocom FPGAs
Andrea Charao Vitor Gomes Haroldo de Campos [email protected], [email protected], [email protected]
38 / 38