LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs
Main Author: | |
---|---|
Publication Date: | 2015 |
Format: | Master thesis |
Language: | por |
Source: | Repositório Institucional da UFSCAR |
Download full: | https://repositorio.ufscar.br/handle/20.500.14289/603 |
Summary: | The physical limitations of silicon forced the industry to develop solutions that exploit the processing power of combining several general purpose processors. Even complex supercomputers that have multiple processors, they are still considered to inefficient processes that require large amounts of arithmetic operations using floating point data. Reconfigurable computing is gaining more space to have a performance close to a specific purpose devices (ASIC), and yet keep the flexibility provided by the architecture of general purpose processors. However, the complexity of hardware description languages often becomes a problem to the development of new projects. Tools for high-level synthesis have become more popular, they allow the transformation code in high-level hardware simply and quickly. However, solutions found in current tools generate simple hardware that does not exploit the techniques to improve the pipeline in hardware. This paper presents the development of techniques to exploit processing parallelism of the reconfigurable devices through programs described in language C. These techniques identify loops and improve the performance in hardware. As a result, we have improved in the high-level synthesis process generating optimized hardware. |
id |
SCAR_4376346e402b95a9585fc65a7f034e2b |
---|---|
oai_identifier_str |
oai:repositorio.ufscar.br:20.500.14289/603 |
network_acronym_str |
SCAR |
network_name_str |
Repositório Institucional da UFSCAR |
repository_id_str |
4322 |
spelling |
Porto, Lucas FariaMenotti, Ricardohttp://lattes.cnpq.br/2509766431540422http://lattes.cnpq.br/238336039205724786af63a5-be7f-44fb-9900-d70d313f037b2016-06-02T19:06:23Z2015-05-182016-06-02T19:06:23Z2015-02-04PORTO, Lucas Faria. LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs. 2015. 92 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2015.https://repositorio.ufscar.br/handle/20.500.14289/603The physical limitations of silicon forced the industry to develop solutions that exploit the processing power of combining several general purpose processors. Even complex supercomputers that have multiple processors, they are still considered to inefficient processes that require large amounts of arithmetic operations using floating point data. Reconfigurable computing is gaining more space to have a performance close to a specific purpose devices (ASIC), and yet keep the flexibility provided by the architecture of general purpose processors. However, the complexity of hardware description languages often becomes a problem to the development of new projects. Tools for high-level synthesis have become more popular, they allow the transformation code in high-level hardware simply and quickly. However, solutions found in current tools generate simple hardware that does not exploit the techniques to improve the pipeline in hardware. This paper presents the development of techniques to exploit processing parallelism of the reconfigurable devices through programs described in language C. These techniques identify loops and improve the performance in hardware. As a result, we have improved in the high-level synthesis process generating optimized hardware.A limitação física do silício forçou a indústria a desenvolver soluções que explorassem o poder de processamento de combinação de vários processadores de propósito geral. Mesmo os supercomputadores complexos que dispõem de vários processadores, eles ainda são considerados ineficientes para processamentos que exigem grandes quantidades de operações aritméticas utilizando dados em ponto flutuante. A computação reconfigurável vem ganhando cada vez mais espaço por ter um desempenho próximo aos dispositivos de propósito específico (ASIC), e ainda assim, manter a flexibilidade proporcionada pela arquitetura dos processadores de propósito geral. Entretanto, a complexidade das linguagens de descrição de hardware se torna muitas vezes uma barreira para o desenvolvimento de novos projetos. Ferramentas de síntese de alto nível vem se popularizando, elas permitem a transformação de códigos em alto nível em hardware de maneira simples e rápida. Entretanto, soluções encontradas nas ferramentas atuais, geram hardware simples que não exploram as técnicas que permitam melhorar o pipeline em hardware. Este trabalho apresenta o desenvolvimento de técnicas que permitem explorar o poder do paralelismo nos dispositivos reconfiguráveis por meio de programas descritos em uma linguagem C. Essas técnicas identificam laços de repetição e melhoram o desempenho em hardware. Como resultado, temos a melhora no processo de síntese de alto nível gerando hardware otimizado.application/pdfporUniversidade Federal de São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarBRCompiladores (Computadores)FPGAsLoop pipelineFPGACompilerCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOLALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis-1-12fae81fb-dd66-4b84-8ede-bde4ad27deb9info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINAL6777.pdfapplication/pdf1533148https://repositorio.ufscar.br/bitstreams/a276e7c9-17a0-45e8-ae8d-eafe03aa2daa/download25830198cf2d72379370c2466a0688ccMD51trueAnonymousREADTEXT6777.pdf.txt6777.pdf.txtExtracted texttext/plain0https://repositorio.ufscar.br/bitstreams/2a36cf36-7c05-4f1d-8d83-3377a453d432/downloadd41d8cd98f00b204e9800998ecf8427eMD54falseAnonymousREADTHUMBNAIL6777.pdf.jpg6777.pdf.jpgIM Thumbnailimage/jpeg10216https://repositorio.ufscar.br/bitstreams/32b2fec4-620c-4738-9d9e-e732a236fe8a/download978fa761edd430a82de3387b79bc51f9MD55falseAnonymousREAD20.500.14289/6032025-02-05 15:06:52.06open.accessoai:repositorio.ufscar.br:20.500.14289/603https://repositorio.ufscar.brRepositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestrepositorio.sibi@ufscar.bropendoar:43222025-02-05T18:06:52Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false |
dc.title.por.fl_str_mv |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
title |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
spellingShingle |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs Porto, Lucas Faria Compiladores (Computadores) FPGAs Loop pipeline FPGA Compiler CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
title_short |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
title_full |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
title_fullStr |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
title_full_unstemmed |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
title_sort |
LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs |
author |
Porto, Lucas Faria |
author_facet |
Porto, Lucas Faria |
author_role |
author |
dc.contributor.authorlattes.por.fl_str_mv |
http://lattes.cnpq.br/2383360392057247 |
dc.contributor.author.fl_str_mv |
Porto, Lucas Faria |
dc.contributor.advisor1.fl_str_mv |
Menotti, Ricardo |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/2509766431540422 |
dc.contributor.authorID.fl_str_mv |
86af63a5-be7f-44fb-9900-d70d313f037b |
contributor_str_mv |
Menotti, Ricardo |
dc.subject.por.fl_str_mv |
Compiladores (Computadores) FPGAs Loop pipeline |
topic |
Compiladores (Computadores) FPGAs Loop pipeline FPGA Compiler CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
dc.subject.eng.fl_str_mv |
FPGA Compiler |
dc.subject.cnpq.fl_str_mv |
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
description |
The physical limitations of silicon forced the industry to develop solutions that exploit the processing power of combining several general purpose processors. Even complex supercomputers that have multiple processors, they are still considered to inefficient processes that require large amounts of arithmetic operations using floating point data. Reconfigurable computing is gaining more space to have a performance close to a specific purpose devices (ASIC), and yet keep the flexibility provided by the architecture of general purpose processors. However, the complexity of hardware description languages often becomes a problem to the development of new projects. Tools for high-level synthesis have become more popular, they allow the transformation code in high-level hardware simply and quickly. However, solutions found in current tools generate simple hardware that does not exploit the techniques to improve the pipeline in hardware. This paper presents the development of techniques to exploit processing parallelism of the reconfigurable devices through programs described in language C. These techniques identify loops and improve the performance in hardware. As a result, we have improved in the high-level synthesis process generating optimized hardware. |
publishDate |
2015 |
dc.date.available.fl_str_mv |
2015-05-18 2016-06-02T19:06:23Z |
dc.date.issued.fl_str_mv |
2015-02-04 |
dc.date.accessioned.fl_str_mv |
2016-06-02T19:06:23Z |
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.citation.fl_str_mv |
PORTO, Lucas Faria. LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs. 2015. 92 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2015. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufscar.br/handle/20.500.14289/603 |
identifier_str_mv |
PORTO, Lucas Faria. LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs. 2015. 92 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de São Carlos, São Carlos, 2015. |
url |
https://repositorio.ufscar.br/handle/20.500.14289/603 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.confidence.fl_str_mv |
-1 -1 |
dc.relation.authority.fl_str_mv |
2fae81fb-dd66-4b84-8ede-bde4ad27deb9 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de São Carlos |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação em Ciência da Computação - PPGCC |
dc.publisher.initials.fl_str_mv |
UFSCar |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
Universidade Federal de São Carlos |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSCAR instname:Universidade Federal de São Carlos (UFSCAR) instacron:UFSCAR |
instname_str |
Universidade Federal de São Carlos (UFSCAR) |
instacron_str |
UFSCAR |
institution |
UFSCAR |
reponame_str |
Repositório Institucional da UFSCAR |
collection |
Repositório Institucional da UFSCAR |
bitstream.url.fl_str_mv |
https://repositorio.ufscar.br/bitstreams/a276e7c9-17a0-45e8-ae8d-eafe03aa2daa/download https://repositorio.ufscar.br/bitstreams/2a36cf36-7c05-4f1d-8d83-3377a453d432/download https://repositorio.ufscar.br/bitstreams/32b2fec4-620c-4738-9d9e-e732a236fe8a/download |
bitstream.checksum.fl_str_mv |
25830198cf2d72379370c2466a0688cc d41d8cd98f00b204e9800998ecf8427e 978fa761edd430a82de3387b79bc51f9 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR) |
repository.mail.fl_str_mv |
repositorio.sibi@ufscar.br |
_version_ |
1834468919155359744 |