10ago2026
14:00 Defesa de Doutorado sala 85 do IC2
Tema
OMPC-F: Multi-FPGA Programming Using OpenMP
Aluno
Pedro Henrique Di Francia Rosso
Orientador / Docente
Guido Costa Souza de Araújo
Breve resumo
O desenvolvimento de aplicações científicas de alto desempenho tornou-se uma tarefa complexa, uma vez que as CPUs tradicionais já não são suficientes para atender às crescentes demandas por desempenho e eficiência energética. Esse cenário impulsionou a adoção de arquiteturas heterogêneas baseadas em aceleradores como GPUs (Graphics Processing Units) e FPGAs (Field-Programmable Gate Arrays). No entanto, integrar e programar eficientemente múltiplos aceleradores em clusters distribuídos continua sendo um desafio complexo. No caso das FPGAs, além de dominar a linguagem de escrita da aplicação (como C/C++), o desenvolvedor precisa dominar bibliotecas de suporte à execução (como XRT da AMD ou SYCL da Intel). Adicionalmente, se o foco for ambientes distribuídos, adiciona-se ainda mais uma pilha de ferramentas de comunicação. Esta tese apresenta uma solução focada em FPGAs baseada no framework OMPC (OpenMP Cluster), estendendo o modelo OpenMP padrão para abstrair a complexidade de ambientes heterogêneos e distribuídos. A primeira contribuição introduz o offloading transparente para FPGAs, permitindo ao desenvolvedor alternar kernels entre CPUs, GPUs e FPGAs com poucas linhas de código. A segunda contribuição introduz o suporte à computação baseada em streaming no framework, permitindo a criação de pipelines de dados eficientes em FPGAs ao sintetizar streams como buffers OpenMP a partir do binário dos kernels. O framework proposto também simplifica a integração dos processos de compilação de software (OpenMP) e hardware (FPGA) ao mantê-los separados, vinculando os binários apenas durante a execução. Por fim, a solução permite a integração automática de duas bibliotecas de comunicação acelerada em FPGAs, com foco na transferência de vetores de dados e em canais de streaming entre instâncias de kernels na mesma ou em diferentes FPGAs. As propostas foram avaliadas utilizando benchmarks sintéticos, aplicações reais e métricas de software. Os resultados demonstram que a abordagem reduz o esforço de programação em até 59% em relação ao modelo com ferramentas tradicionais (XRT e MPI). Além disso, o framework superou o mecanismo padrão de comunicação usado no OMPC (MPI) em até 1,41x em aplicações fortemente limitadas por comunicação. O framework também é o primeiro a incluir no modelo de programação o suporte para streaming de dados entre kernels de FPGA. O código OpenMP permanece totalmente compatível com os modelos que utilizam tanto streaming quanto vetores em memória, visto que o suporte para streaming é totalmente abstraído, cabendo ao framework decidir o mecanismo ideal com base no que está implementado na FPGA. Os testes contra o modelo tradicio nal XRT+MPI demonstraram que a solução mantém a escalabilidade com um overhead constante médio de apenas 4,3%.
Banca examinadora
Titulares:
Guido Costa Souza de Araújo IC/UNICAMP
Calebe de Paula Bianchini MACKENZIE
Fernando Gehm Moraes PUCRS
Ricardo Pannain IC/UNICAMP
Luiz Eduardo Busato IC/UNICAMP
Suplentes:
Isaias Bittencourt Felzmann IC/UNICAMP
Alfredo Goldman vel Lejbman IME/USP
Samuel Xavier de Souza DCA/UFRN
Instituto de Computação
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.