Exportar registro bibliográfico


Metrics:

Lina: a fast design optimisation tool for software-based FPGA programming (2022)

  • Authors:
  • Autor USP: PERINA, ANDRE BANNWART - ICMC
  • Unidade: ICMC
  • Sigla do Departamento: SSC
  • DOI: 10.11606/T.55.2022.tde-23082022-101507
  • Subjects: CIRCUITOS FPGA; ARQUITETURA DE SOFTWARE; C++ (LINGUAGEM DE PROGRAMAÇÃO); C (LINGUAGEM DE PROGRAMAÇÃO); MONTADORES E COMPILADORES
  • Keywords: Design space exploration; Exploração de espaço de projeto; Exploração sem síntese de projeto; High-level synthesis; Síntese de alto nível; Synthesis- less design exploration
  • Agências de fomento:
  • Language: Inglês
  • Abstract: A contínua jornada da indústria de semicondutores levou ao desenvolvimento de diversas arquiteturas alternativas para uma computação eficiente. Field-Programmable Gate Arrays (FPGAs) e Graphics Processing Units (GPUs) são exemplos de dispositivos utilizados para acelerar aplicações. FPGAs são capazes de oferecer um paralelismo massivo para tarefas adequadas quando apropriadamente programados. No entanto, projetar para FPGA não é trivial e requer um conhecimento específico que foge do desenvolvimento usual em software. Como uma alternativa buscando aumentar a programabilidade, ferramentas de Síntese de Alto Nível (do inglês High-Level Synthesis, ou HLS) permitem o uso de linguagens de alto-nível como C/C++/OpenCL para programar FPGAs. No entanto, experimentos preliminares e outros estudos na literatura demonstram que ainda são necessárias diversas modificações no código de alto nível para que os resultados sejam minimamente aceitáveis. Tal aspecto mitiga a democratização e simplificação propostas pelas ferramentas HLS. A contribuição principal desta tese considera C/C++ como linguagem de entrada HLS, e é composta por uma ferramenta de exploração de espaço de projeto acoplada à um estimador denominado Lina. Baseado no estimador Lin-analyzer, Lina usa a execução instrumentada de um código em alto-nível para aproximar o método de compilação do Vivado HLS, um compilador HLS C/C++ para FPGAs da Xilinx. Para um dado kernel C/C++, Lina calcula uma rápida estimativa para métricas detempo de execução e recursos de FPGA ocupados. Junto com diretivas de otimização usadas pelo compilador HLS que o Lina também suporta, a metodologia aqui proposta permite a otimização não apenas do tempo de execução, mas também de recursos lógicos de FPGA. Considerando 16 kernels C/C++ do benchmark PolyBench, as soluções estimadas como ótimas pelo Lina estiveram dentro de 1% das melhores opções consideradas. Uma média de 14-16× de speedup de performance foi atingida, o que representa 70% do valor máximo alcançável considerando os espaços de projeto explorados. Adicionalmente, Lina suporta a exploração de transações com memórias off-chip em busca de otimizações como coalescência, empacotamento de dados, ou até informar sobre potenciais limitações do compilador HLS que possam degradar a performance.
  • Imprenta:
  • Data da defesa: 13.06.2022
  • Acesso à fonteAcesso à fonteDOI

    Informações sobre a disponibilidade de versões do artigo em acesso aberto coletadas automaticamente via oaDOI API (Unpaywall).

    Status:
    Artigo publicado em periódico de acesso aberto (Gold Open Access)
    Versão do Documento:
    Versão publicada (Published version)
    Acessar versão aberta:

    Por se tratar de integração com serviço externo, podem existir diferentes versões do trabalho (como preprints ou postprints), que podem diferir da versão publicada.


    How to cite
    A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas

    • ABNT

      PERINA, Andre Bannwart. Lina: a fast design optimisation tool for software-based FPGA programming. 2022. Tese (Doutorado) – Universidade de São Paulo, São Carlos, 2022. Disponível em: https://teses.usp.br/teses/disponiveis/55/55134/tde-23082022-101507/. Acesso em: 09 abr. 2026.
    • APA

      Perina, A. B. (2022). Lina: a fast design optimisation tool for software-based FPGA programming (Tese (Doutorado). Universidade de São Paulo, São Carlos. Recuperado de https://teses.usp.br/teses/disponiveis/55/55134/tde-23082022-101507/
    • NLM

      Perina AB. Lina: a fast design optimisation tool for software-based FPGA programming [Internet]. 2022 ;[citado 2026 abr. 09 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-23082022-101507/
    • Vancouver

      Perina AB. Lina: a fast design optimisation tool for software-based FPGA programming [Internet]. 2022 ;[citado 2026 abr. 09 ] Available from: https://teses.usp.br/teses/disponiveis/55/55134/tde-23082022-101507/


Digital Library of Intellectual Production of Universidade de São Paulo     2012 - 2026