Andre Bannwart Perina

Doutor em Ciências da Computação e Matemática Computacional pela Universidade de São Paulo, campus de São Carlos - SP. Também bacharel em Ciências de Computação pela mesma instituição. Tem experiência na área de Arquitetura de Sistemas de Computação, Computação Reconfigurável, Síntese de Alto Nível.

Informações coletadas do Lattes em 11/08/2025

Acadêmico

Formação acadêmica

Doutorado em Ciências da Computação e Matemática Computacional

2017 - 2022

Universidade de São Paulo
Título: Lina: uma ferramenta de otimização de projeto para programação de FPGAs baseada em software
Vanderlei Bonato. Bolsista do(a): Fundação de Amparo à Pesquisa do Estado de São Paulo, FAPESP, Brasil. Palavras-chave: Computação Reconfigurável; Computação Heterogênea; Computação de Alto Desempenho.Grande área: Ciências Exatas e da Terra

Mestrado interrompido em 2017 em Ciências da Computação e Matemática Computacional

2016 - Atual

Universidade de São Paulo
Vanderlei Bonato.Bolsista do(a): Conselho Nacional de Desenvolvimento Científico e Tecnológico, CNPq, Brasil. Ano de interrupção: 2017

Graduação em Ciências de Computação

2010 - 2016

Universidade de São Paulo
Bolsista do(a): Fundação de Amparo à Pesquisa do Estado de São Paulo, FAPESP, Brasil.

Ensino Médio (2º grau)

2006 - 2008

Colégio Líder

Formação complementar

2014 - 2014

Extensão universitária em Computer Science (BSc). , Lancaster University, LANCASTER, Inglaterra.

Idiomas

Bandeira representando o idioma Inglês

Compreende Bem, Fala Bem, Lê Bem, Escreve Bem.

Bandeira representando o idioma Espanhol

Compreende Pouco, Fala Pouco, Lê Pouco, Escreve Pouco.

Bandeira representando o idioma Português

Compreende Bem, Fala Bem, Lê Bem, Escreve Bem.

Bandeira representando o idioma Alemão

Compreende Razoavelmente, Fala Pouco, Lê Bem, Escreve Pouco.

Áreas de atuação

Grande área: Ciências Exatas e da Terra / Área: Ciência da Computação / Subárea: Sistemas de Computação/Especialidade: Arquitetura de Sistemas de Computação.

Produções bibliográficas

  • BANNWART PERINA, ANDRÉ ; BECKER, JÜRGEN ; BONATO, VANDERLEI . Memory Aware Design Optimisation for High-Level Synthesis. JOURNAL OF SIGNAL PROCESSING SYSTEMS FOR SIGNAL, IMAGE, AND VIDEO TECHNOLOGY (ONLINE) , v. 97, p. 1, 2024.

  • BANNWARTPERINA, ANDRE ; SILITONGA, ARTHUR ; BECKER, JURGEN ; BONATO, Vanderlei . Fast Resource and Timing Aware Design Optimisation for High-Level Synthesis. Ieee Transactions On Computers , v. 70, p. 1-1, 2021.

  • PERINA, A. B. ; ARANTES, J. S. ; BONATO, V. . NovaCORE vFPGA: Virtualização e Reconfiguração Instantânea. SISTEMAS DE INFORMAÇÃO (MACAÉ) , v. 20, p. 38-45, 2017.

  • GOIS, MARCILYANNE M. ; MATIAS, PAULO ; PERINA, ANDRÉ B. ; BONATO, VANDERLEI ; DELBEM, ALEXANDRE C. B. . A Parallel Hardware Architecture based on Node-Depth Encoding to Solve Network Design Problems. International Journal of Natural Computing Research , v. 4, p. 54-75, 2014.

  • BANNWART PERINA, ANDRE ; BECKER, JURGEN ; BONATO, Vanderlei . Lina: Timing-Constrained High-Level Synthesis Performance Estimator for Fast DSE. In: 2019 International Conference on FieldProgrammable Technology (ICFPT), 2019, Tianjin. 2019 International Conference on Field-Programmable Technology (ICFPT), 2019. p. 343.

  • PERINA, ANDRE BANNWART ; BECKER, JURGEN ; BONATO, Vanderlei . ProfCounter: Line-Level Cycle Counter for Xilinx OpenCL High-Level Synthesis. In: 2019 26th IEEE International Conference on Electronics, Circuits and Systems (ICECS), 2019, Genoa. 2019 26th IEEE International Conference on Electronics, Circuits and Systems (ICECS), 2019. p. 618.

  • BANNWART PERINA, ANDRE ; BONATO, Vanderlei . Mapping Estimator for OpenCL Heterogeneous Accelerators. In: 2018 International Conference on FieldProgrammable Technology (FPT), 2018, Naha. 2018 International Conference on Field-Programmable Technology (FPT), 2018. p. 294.

  • PERINA, ANDRE BANNWART ; MATIAS, PAULO ; MARQUES, EDUARDO ; BONATO, VANDERLEI ; LIMA, JOAO MIGUEL GAGO PONTES DE BRITO . Exploiting Kant and Kimura?s Matrix Inversion Algorithm on FPGA. In: 2017 Euromicro Conference on Digital System Design (DSD), 2017, Vienna. 2017 Euromicro Conference on Digital System Design (DSD), 2017. p. 516.

  • PERINA, ANDRÉ B. ; GOIS, MARCILYANNE M. ; MATIAS, PAULO ; CARDOSO, J. M. P. ; DELBEM, ALEXANDRE C. B. ; BONATO, VANDERLEI . Representation of Evolutionary Algorithms in FPGA Cluster for Project of Large-Scale Networks. In: Escola Regional de Alto Desempenho de São Paulo, 2014, São Bernardo do Campo. ERAD-SP 2014 - Sessão de Iniciação Científica (), 2014.

Outras produções

PERINA, A. B. ; SIMOES, E. V. ; KAMADA, M. K. . APx-BOARD. 2011. (Desenvolvimento de material didático ou instrucional - Módulos de Processamento, VGA e PS/2 em VHDL para uso em FPGAs).

Projetos de pesquisa

  • 2019 - 2020

    Ferramenta de Mapeamento em Alto-Nível para Arquiteturas Heterogêneas com FPGAs e GPUs, Descrição: Atualmente, arquiteturas heterogêneas são investigadas para aprimorar o desempenho de computação mantendo o consumo de energia em níveis aceitáveis. Ao utilizar unidades de processamento dedicadas para acelerar partes específicas de uma aplicação, os recursos de hardware são utilizados de uma maneira mais eficiente. Porém, o mapeamento da aplicação nos diferentes aceleradores ainda é um desafio, necessitando de conhecimentos além do domínio de software, de modo a entender quais segmentos de uma aplicação se adequam melhor ao hardware disponível. Atualmente, há ferramentas que dão suporte à linguagens unificadas para simplificar a programação destes sistemas heterogêneos. Porém, ainda há uma grande dependência do usuário para definir o processo de mapeamento. Neste trabalho, é proposta uma ferramenta para inferir as regiões mais adequadas de um código em alto-nível, para serem mapeadas em FPGA ou GPU através de estimações de performance e energia. Além disso, exploração de espaço de projeto é proposto para permitir ainda mais otimizações, com todas as etapas realizadas sem a necessidade de síntese em FPGA, uma tarefa demasiadamente demorada.. , Situação: Concluído; Natureza: Pesquisa. , Alunos envolvidos: Doutorado: (1) . , Integrantes: André Bannwart Perina - Integrante / BONATO, VANDERLEI - Integrante / Juergen Becker - Coordenador., Financiador(es): Fundação de Amparo à Pesquisa do Estado de São Paulo - Bolsa.

  • 2017 - 2022

    Lina: uma ferramenta de otimização de projeto para programação de FPGAs baseada em software, Descrição: A contínua jornada da indústria de semicondutores levou ao desenvolvimento de diversas arquiteturas alternativas para 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 conhecimento em hardware. Como uma alternativa buscando uma comunidade mais abrangente, ferramentas High-Level Synthesis (HLS) permitem o uso de linguagens de alto-nível como C/C++/OpenCL para programar FPGAs. Esta tese apresenta metodologias que buscam melhorar o uso de FPGAs via HLS. Os primeiros modelos implementados são baseados em aprendizado de máquina e foram utilizados para inferir a melhor plataforma entre FPGA e GPU para kernels OpenCL de teste. Apesar destes modelos terem atingido taxas de acerto médio variando entre 70% a 88%, notou-se posteriormente que praticamente todos os kernels OpenCL testados precisavam de uma quantidade significativa de otimização de código para FPGA, no caso dos kernels que não foram inicialmente projetados para esta tecnologia. A contribuição principal desta tese considera C/C++ como linguagem de entrada HLS, e é composto 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 de tempo 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 apresentada 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-16x 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. Finalmente, uma exploração de FPGA usando Lina visando uma comparação com GPU é apresentada. Cinco aplicações do benchmark Parboil foram avaliadas, sendo que cada aplicação é composta por uma versão em C/C++ e outra em CUDA. Para FPGA, Lina foi utilizado para explorar as aplicações em C/C++, e na GPU o código em CUDA foi utilizado. Enquanto as aplicações otimizadas para FPGA usando Lina tiveram piores resultados tanto em tempo de execução quanto consumo de energia para todos os kernels, os resultados ainda apontam para uma relativa competitividade de Lina, dado que a comparação foi feita contra aplicações otimizadas manualmente para GPUs.. , Situação: Concluído; Natureza: Pesquisa. , Alunos envolvidos: Doutorado: (1) . , Integrantes: André Bannwart Perina - Integrante / BONATO, VANDERLEI - Coordenador., Financiador(es): Fundação de Amparo à Pesquisa do Estado de São Paulo - Bolsa.

  • 2012 - 2013

    Representação de Algoritmos Evolutivos em Cluster de FPGAs para Projetos de Redes de Larga-Escala, Descrição: Vários problemas do mundo real estão relacionados ao projeto de redes, como projeto de circuitos de energia elétrica, malhas viárias, redes de telecomunicações, entre outros. Em geral, esses problemas podem ser modelados por meio de grafos, que manipulam milhares ou milhões de nós (variáveis de entrada), tornando impraticável a obtenção de soluções em tempo real. Esses cenários são classificados como Problemas de Projeto de Redes (PPRs), que envolvem problemas combinatórios em que se busca encontrar a rede de grafo mais adequada (menor custo, tempo, trajeto). A solução desses problemas é, em geral, computacionalmente complexa. Nesse sentido, metaheurísticas como Algoritmos Evolutivos (AEs) têm sido amplamente investigadas. Diversas pesquisas mostram que o desempenho de AEs para PPRs pode ser aumentado significativamente por meio de representações mais apropriada. O Objetivo deste trabalho é expandir uma implementação em FPGA (Field-Programmable Gate Array) baseada em uma representação denominada nó-profundidade (RNP) para resolver problemas compostos por mais de 100 mil nós. A implementação será realizada em uma plataforma composta por um Cluster de FPGAs.. , Situação: Concluído; Natureza: Pesquisa. , Alunos envolvidos: Graduação: (1) . , Integrantes: André Bannwart Perina - Integrante / Vanderlei Bonato - Coordenador., Financiador(es): Fundação de Amparo à Pesquisa do Estado de São Paulo - Bolsa.

  • 2012 - 2012

    Análise do Particionamento de um Projeto de Redes de Larga-escala em Cluster de FPGAs, Descrição: Vários problemas do mundo real estão relacionados ao projeto de redes, como projeto de circuitos de energia elétrica, malhas viárias, redes de telecomunicações, entre outros. Em geral, esses problemas podem ser modelados por meio de grafos, que manipulam milhares ou milhões de nós (variáveis de entrada), tornando impraticável a obtenção de soluções em tempo real. Esses cenários são classificados como Problemas de Projeto de Redes (PPRs), que envolvem problemas combinatórios em que se busca encontrar a rede de grafo mais adequada (menor custo, tempo, trajeto). A solução desses problemas é, em geral, computacionalmente complexa. Nesse sentido, metaheurísticas como Algoritmos Evolutivos (AEs) têm sido amplamente investigadas. Diversas pesquisas mostram que o desempenho de AEs para PPRs pode ser aumentado significativamente por meio de representações mais apropriada. O objetivo do projeto de Iniciação Científica vinculado à este pedido é expandir para até 100 mil nós uma implementação já feita por GOIS (2011) em um FPGA (Field-Programmable Gate Array), este sendo capaz de processar até 512 nós baseada em uma representação denominada nó-profundidade (RNP). Assim para alcançar o número desejado, será utilizada uma plataforma de computação composta por um Cluster de FPGAs. O objetivo deste estágio no exterior é de propor uma solução eficiente e flexível para o particionamento da implementação atual. Porém, tal particionamento deve ser analisado com cautela de modo a conseguir um resultado ótimo onde o circuito esteja melhor distribuído, utilizando menos recursos por nó de grafo e com a velocidade não comprometida pela comunicação. Este trabalho adicional será justamente encontrar a melhor maneira de se particionar e otimizar o circuito.. , Situação: Concluído; Natureza: Pesquisa. , Alunos envolvidos: Graduação: (1) / Especialização: (0) / Mestrado acadêmico: (0) / Mestrado profissional: (0) / Doutorado: (0) . , Integrantes: André Bannwart Perina - Integrante / Vanderlei Bonato - Integrante / João Manuel Paiva Cardoso - Coordenador., Financiador(es): Fundação de Amparo à Pesquisa do Estado de São Paulo - Bolsa.

Prêmios

2016

Diploma de Mérito Acadêmico, Universidade de São Paulo - Instituto de Ciências Matemáticas e de Computação.

Histórico profissional

Endereço profissional

  • Universidade de São Paulo. , Av. Trabalhor São-Carlense, 400, Centro, 13566590 - São Carlos, SP - Brasil, Telefone: (16) 33739565

Experiência profissional

2012 - 2013

Universidade de São Paulo

Vínculo: Outro (especifique), Enquadramento Funcional: Bolsista de Iniciação Científica, Carga horária: 12, Regime: Dedicação exclusiva.

Outras informações:
Houve interrupção de 08/2012 a 12/2012

2012 - 2012

Universidade do Porto

Vínculo: Investigador Externo, Enquadramento Funcional: Investigador Externo, Carga horária: 12, Regime: Dedicação exclusiva.

2015 - 2016

Kryptus Tecnologias

Vínculo: Estágio, Enquadramento Funcional: Desenvolvedor de Software, Carga horária: 40, Regime: Dedicação exclusiva.

2019 - 2020

Karlsruher Institut für Technologie

Vínculo: Pesquisador Visitante, Enquadramento Funcional: Pesquisador Visitante, Carga horária: 40, Regime: Dedicação exclusiva.

2022 - Atual

PST Eletrônica

Vínculo: Celetista, Enquadramento Funcional: Analista de FPGA, Carga horária: 44