LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs

Bibliographic Details
Main Author: Porto, Lucas Faria
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