Performance evaluation of code optimizations in FPGA accelerators
| Main Author: | |
|---|---|
| Publication Date: | 2019 |
| Format: | Master thesis |
| Language: | eng |
| Source: | Repositório Institucional da UNESP |
| Download full: | http://hdl.handle.net/11449/190715 |
Summary: | Com o crescimento contínuo do consumo de energia em microprocessadores,cientistas e engenheiros da computação redirecionaram atenção a arquiteturas heterogêneas, onde dispositivos de classes diferentes são usados para acelerar a computação. Dentre eles, existem as FPGAs (Field-Programmable Gate Arrays) cujo hardware pode ser reconfigurado após sua fabricação. Esta classe de dispositivos demonstra desempenho comparável aos processadores convencionais enquanto consomem apenas uma fração de energia. O uso de FPGAs vem se proliferando nos últimos anos e a perspectiva é que o nível de adoção continue a crescer. No entanto, programar FPGAs e aprimorar os programas para obter maior desempenho continua uma tarefa não trivial. Este trabalho apresenta uma compilação das principais transformações de código para otimização de programas direcionados à FPGAs. Neste trabalho também é avaliado o desempenho de programas executando em FPGAs. Mais especificamente, um subconjunto das transformações de código são aplicadas em um kernel OpenCL e os tempos de execução são medidos em um dispositivo da Intel®. Os resultados mostram que, sem a aplicação das transformações, o desempenho dos dispositivos é abaixo do que é observado quando as transformações são de fato aplicadas. |
| id |
UNSP_dee25d244ce2b853befed3e5af830b69 |
|---|---|
| oai_identifier_str |
oai:repositorio.unesp.br:11449/190715 |
| network_acronym_str |
UNSP |
| network_name_str |
Repositório Institucional da UNESP |
| repository_id_str |
2946 |
| spelling |
Performance evaluation of code optimizations in FPGA acceleratorsAvaliação de desempenho de otimizações de código em aceleradores FPGAFPGAComputação de alto desempenhoOtimização de códigoHigh-performance computingCode optimizationCom o crescimento contínuo do consumo de energia em microprocessadores,cientistas e engenheiros da computação redirecionaram atenção a arquiteturas heterogêneas, onde dispositivos de classes diferentes são usados para acelerar a computação. Dentre eles, existem as FPGAs (Field-Programmable Gate Arrays) cujo hardware pode ser reconfigurado após sua fabricação. Esta classe de dispositivos demonstra desempenho comparável aos processadores convencionais enquanto consomem apenas uma fração de energia. O uso de FPGAs vem se proliferando nos últimos anos e a perspectiva é que o nível de adoção continue a crescer. No entanto, programar FPGAs e aprimorar os programas para obter maior desempenho continua uma tarefa não trivial. Este trabalho apresenta uma compilação das principais transformações de código para otimização de programas direcionados à FPGAs. Neste trabalho também é avaliado o desempenho de programas executando em FPGAs. Mais especificamente, um subconjunto das transformações de código são aplicadas em um kernel OpenCL e os tempos de execução são medidos em um dispositivo da Intel®. Os resultados mostram que, sem a aplicação das transformações, o desempenho dos dispositivos é abaixo do que é observado quando as transformações são de fato aplicadas.With the ever increasing power wall in microprocessor design, scientists and engineers shifted their attention to heterogeneous architectures, where in several classes of devices are used for different kinds of computation. Among them are FPGAs whose hardware can be reconfigured after manufacturing. These devices offer comparable performance to CPUs while consuming only a fraction of energy. Infact, the use of FPGAs have been proliferating in recent years and should continue to do so considering the amount of attention these devices are receiving. Still, programmability and performance engineering in FPGAs remain hard. This work presents acompilation of the most prominent code transformations for optimizing code aimed at FPGAs. In this work we also evaluate the performance of programs running on FPGAs. More specifically, we apply a subset of the code transformations to an OpenCL kernel and measure the execution time on a Intel® FPGA. We show that, without applying these transformations before execution, poor performance is observed and the devices are underutilized.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)FAPESP: 2017/09065-9FAPESP: 2018/08116-1CAPES: 001Universidade Estadual Paulista (Unesp)Baldassin, Alexandro José [UNESP]Universidade Estadual Paulista (Unesp)Leite, Gustavo2019-10-11T20:02:39Z2019-10-11T20:02:39Z2019-08-28info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfhttp://hdl.handle.net/11449/19071500092591633004153073P2enginfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESP2024-11-05T13:25:42Zoai:repositorio.unesp.br:11449/190715Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestrepositoriounesp@unesp.bropendoar:29462024-11-05T13:25:42Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false |
| dc.title.none.fl_str_mv |
Performance evaluation of code optimizations in FPGA accelerators Avaliação de desempenho de otimizações de código em aceleradores FPGA |
| title |
Performance evaluation of code optimizations in FPGA accelerators |
| spellingShingle |
Performance evaluation of code optimizations in FPGA accelerators Leite, Gustavo FPGA Computação de alto desempenho Otimização de código High-performance computing Code optimization |
| title_short |
Performance evaluation of code optimizations in FPGA accelerators |
| title_full |
Performance evaluation of code optimizations in FPGA accelerators |
| title_fullStr |
Performance evaluation of code optimizations in FPGA accelerators |
| title_full_unstemmed |
Performance evaluation of code optimizations in FPGA accelerators |
| title_sort |
Performance evaluation of code optimizations in FPGA accelerators |
| author |
Leite, Gustavo |
| author_facet |
Leite, Gustavo |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Baldassin, Alexandro José [UNESP] Universidade Estadual Paulista (Unesp) |
| dc.contributor.author.fl_str_mv |
Leite, Gustavo |
| dc.subject.por.fl_str_mv |
FPGA Computação de alto desempenho Otimização de código High-performance computing Code optimization |
| topic |
FPGA Computação de alto desempenho Otimização de código High-performance computing Code optimization |
| description |
Com o crescimento contínuo do consumo de energia em microprocessadores,cientistas e engenheiros da computação redirecionaram atenção a arquiteturas heterogêneas, onde dispositivos de classes diferentes são usados para acelerar a computação. Dentre eles, existem as FPGAs (Field-Programmable Gate Arrays) cujo hardware pode ser reconfigurado após sua fabricação. Esta classe de dispositivos demonstra desempenho comparável aos processadores convencionais enquanto consomem apenas uma fração de energia. O uso de FPGAs vem se proliferando nos últimos anos e a perspectiva é que o nível de adoção continue a crescer. No entanto, programar FPGAs e aprimorar os programas para obter maior desempenho continua uma tarefa não trivial. Este trabalho apresenta uma compilação das principais transformações de código para otimização de programas direcionados à FPGAs. Neste trabalho também é avaliado o desempenho de programas executando em FPGAs. Mais especificamente, um subconjunto das transformações de código são aplicadas em um kernel OpenCL e os tempos de execução são medidos em um dispositivo da Intel®. Os resultados mostram que, sem a aplicação das transformações, o desempenho dos dispositivos é abaixo do que é observado quando as transformações são de fato aplicadas. |
| publishDate |
2019 |
| dc.date.none.fl_str_mv |
2019-10-11T20:02:39Z 2019-10-11T20:02:39Z 2019-08-28 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/11449/190715 000925916 33004153073P2 |
| url |
http://hdl.handle.net/11449/190715 |
| identifier_str_mv |
000925916 33004153073P2 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Estadual Paulista (Unesp) |
| publisher.none.fl_str_mv |
Universidade Estadual Paulista (Unesp) |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNESP instname:Universidade Estadual Paulista (UNESP) instacron:UNESP |
| instname_str |
Universidade Estadual Paulista (UNESP) |
| instacron_str |
UNESP |
| institution |
UNESP |
| reponame_str |
Repositório Institucional da UNESP |
| collection |
Repositório Institucional da UNESP |
| repository.name.fl_str_mv |
Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP) |
| repository.mail.fl_str_mv |
repositoriounesp@unesp.br |
| _version_ |
1851765933339574272 |