2025 |
Hoffmann, Renato B; Faé, Leonardo G; Griebler, Dalvan; Li, Xinliang David; Pereira, Fernando Magno Quintão Automatic Synthesis of Specialized Hash Functions Inproceedings doi Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, pp. 317–330, Association for Computing Machinery, Las Vegas, NV, USA, 2025, ISBN: 9798400712753. @inproceedings{HOFFMANN:CGO:25, title = {Automatic Synthesis of Specialized Hash Functions}, author = {Renato B Hoffmann and Leonardo G Faé and Dalvan Griebler and Xinliang David Li and Fernando Magno Quintão Pereira}, url = {https://doi.org/10.1145/3696443.3708940}, doi = {10.1145/3696443.3708940}, isbn = {9798400712753}, year = {2025}, date = {2025-03-01}, booktitle = {Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization}, pages = {317–330}, publisher = {Association for Computing Machinery}, address = {Las Vegas, NV, USA}, series = {CGO '25}, abstract = {This paper introduces a technique for synthesizing hash functions specialized to particular byte formats. This code generation method leverages three prevalent patterns: (i) fixed-length keys, (ii) keys with common subsequences, and (iii) keys ranging on predetermined sequences of bytes. Code generation involves two algorithms: one identifies relevant regular expressions within key examples, and the other generates specialized hash functions based on these expressions. Comparative analysis demonstrates that the synthetic functions outperform the general-purpose hashes in the C++ Standard Template Library and the Google Abseil Library when keys are given in ascending, normal or uniform distribution. In applications where low-mixing hashes are acceptable, the synthetic functions achieve speedups ranging from 2% to 11% on full benchmarks, and speedups of almost 50x once only hashing speed is considered.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } This paper introduces a technique for synthesizing hash functions specialized to particular byte formats. This code generation method leverages three prevalent patterns: (i) fixed-length keys, (ii) keys with common subsequences, and (iii) keys ranging on predetermined sequences of bytes. Code generation involves two algorithms: one identifies relevant regular expressions within key examples, and the other generates specialized hash functions based on these expressions. Comparative analysis demonstrates that the synthetic functions outperform the general-purpose hashes in the C++ Standard Template Library and the Google Abseil Library when keys are given in ascending, normal or uniform distribution. In applications where low-mixing hashes are acceptable, the synthetic functions achieve speedups ranging from 2% to 11% on full benchmarks, and speedups of almost 50x once only hashing speed is considered. |
2024 |
Hoffmann, Renato B; Griebler, Dalvan; da Righi, Rodrigo Rosa; Fernandes, Luiz G Benchmarking parallel programming for single-board computers Journal Article doi Future Generation Computer Systems, 161 , pp. 119-134, 2024, ISSN: 0167-739X. @article{HOFFMANN:single-board-computers:FGCS:24, title = {Benchmarking parallel programming for single-board computers}, author = {Renato B Hoffmann and Dalvan Griebler and Rodrigo Rosa da Righi and Luiz G Fernandes}, url = {https://www.sciencedirect.com/science/article/pii/S0167739X24003650}, doi = {https://doi.org/10.1016/j.future.2024.07.003}, issn = {0167-739X}, year = {2024}, date = {2024-12-01}, journal = {Future Generation Computer Systems}, volume = {161}, pages = {119-134}, abstract = {Within the computing continuum, SBCs (single-board computers) are essential in the Edge and Fog, with many featuring multiple processing cores and GPU accelerators. In this way, parallel computing plays a crucial role in enabling the full computational potential of SBCs. However, selecting the best-suited solution in this context is inherently complex due to the intricate interplay between PPI (parallel programming interface) strategies, SBC architectural characteristics, and application characteristics and constraints. To our knowledge, no solution presents a combined discussion of these three aspects. To tackle this problem, this article aims to provide a benchmark of the best-suited parallelism PPIs given a set of hardware and application characteristics and requirements. Compared to existing benchmarks, we introduce new metrics, additional applications, various parallelism interfaces, and extra hardware devices. Therefore, our contributions are the methodology to benchmark parallelism on SBCs and the characterization of the best-performing parallelism PPIs and strategies for given situations. We are confident that parallel computing will be mainstream to process edge and fog computing; thus, our solution provides the first insights regarding what kind of application and parallel programming interface is the most suited for a particular SBC hardware.}, keywords = {}, pubstate = {published}, tppubtype = {article} } Within the computing continuum, SBCs (single-board computers) are essential in the Edge and Fog, with many featuring multiple processing cores and GPU accelerators. In this way, parallel computing plays a crucial role in enabling the full computational potential of SBCs. However, selecting the best-suited solution in this context is inherently complex due to the intricate interplay between PPI (parallel programming interface) strategies, SBC architectural characteristics, and application characteristics and constraints. To our knowledge, no solution presents a combined discussion of these three aspects. To tackle this problem, this article aims to provide a benchmark of the best-suited parallelism PPIs given a set of hardware and application characteristics and requirements. Compared to existing benchmarks, we introduce new metrics, additional applications, various parallelism interfaces, and extra hardware devices. Therefore, our contributions are the methodology to benchmark parallelism on SBCs and the characterization of the best-performing parallelism PPIs and strategies for given situations. We are confident that parallel computing will be mainstream to process edge and fog computing; thus, our solution provides the first insights regarding what kind of application and parallel programming interface is the most suited for a particular SBC hardware. |
Araujo, Gabriell; Griebler, Dalvan; Fernandes, Luiz Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 103–104, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{ARAUJO:ERAD:24, title = {Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream}, author = {Gabriell Araujo and Dalvan Griebler and Luiz Fernandes}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28014}, doi = {10.5753/eradrs.2024.238670}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {103--104}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Este trabalho apresenta resultados parciais da pesquisa em andamento, a qual está utilizando a Linguagem Específica de Domínio (DSL) SPar para prototipar um modelo de programação paralela único direcionado a CPUs e GPUs em processamento de stream. Por meio do protótipo inicial, já é possível gerar código paralelo para CPUs e GPUs em processamento de stream.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Este trabalho apresenta resultados parciais da pesquisa em andamento, a qual está utilizando a Linguagem Específica de Domínio (DSL) SPar para prototipar um modelo de programação paralela único direcionado a CPUs e GPUs em processamento de stream. Por meio do protótipo inicial, já é possível gerar código paralelo para CPUs e GPUs em processamento de stream. |
Fim, Gabriel; Griebler, Dalvan Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 101–102, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{FIM:ERAD:24, title = {Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores}, author = {Gabriel Fim and Dalvan Griebler}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28013}, doi = {10.5753/eradrs.2024.238680}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {101--102}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Considerando a necessidade de tempos de processamento mais rápidos, a utilização de ambientes multi-aceleradores vem se tornando cada vez mais proeminente na literatura, infelizmente programar para estes tipos de ambientes apresenta uma série de desafios que fazem com que o desenvolvimento de códigos direcionados a multi-GPUs exija um maior esforço de programação. Propomos investigar como utilizar anotações C++ para simplificar a geração de código multi-GPU sem comprometer o desempenho.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Considerando a necessidade de tempos de processamento mais rápidos, a utilização de ambientes multi-aceleradores vem se tornando cada vez mais proeminente na literatura, infelizmente programar para estes tipos de ambientes apresenta uma série de desafios que fazem com que o desenvolvimento de códigos direcionados a multi-GPUs exija um maior esforço de programação. Propomos investigar como utilizar anotações C++ para simplificar a geração de código multi-GPU sem comprometer o desempenho. |
Hoffmann, Renato; Griebler, Dalvan Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 121–122, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. @inproceedings{HOFFMANN:ERAD:24, title = {Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes}, author = {Renato Hoffmann and Dalvan Griebler}, url = {https://sol.sbc.org.br/index.php/eradrs/article/view/28023}, doi = {10.5753/eradrs.2024.238734}, issn = {2595-4164}, year = {2024}, date = {2024-04-24}, booktitle = {Anais da XXIV Escola Regional de Alto Desempenho da Região Sul}, pages = {121--122}, publisher = {SBC}, address = {Florianópolis/SC}, abstract = {Sistemas multi-agentes são compostos por múltiplos agentes autônomos que interagem com um ambiente e entre si para atingir objetivos específicos. Jason, uma linguagem multi-agentes popular modela esses sistemas através de crenças, metas e planos, que é atualmente realizada através de uma varredura linear. Sendo assim, essa pesquisa propõem investigar a seleção dos planos de maneira paralela e em um sistema distribuído.}, keywords = {}, pubstate = {published}, tppubtype = {inproceedings} } Sistemas multi-agentes são compostos por múltiplos agentes autônomos que interagem com um ambiente e entre si para atingir objetivos específicos. Jason, uma linguagem multi-agentes popular modela esses sistemas através de crenças, metas e planos, que é atualmente realizada através de uma varredura linear. Sendo assim, essa pesquisa propõem investigar a seleção dos planos de maneira paralela e em um sistema distribuído. |
Parallel Applications Modelling Group
GMAP is a research group at the Pontifical Catholic University of Rio Grande do Sul (PUCRS). Historically, the group has conducted several types of research on modeling and adapting robust, real-world applications from different domains (physics, mathematics, geology, image processing, biology, aerospace, and many others) to run efficiently on High-Performance Computing (HPC) architectures, such as Clusters.
In the last decade, new abstractions of parallelism are being created through domain-specific languages (DSLs), libraries, and frameworks for the next generation of computer algorithms and architectures, such as embedded hardware and servers with accelerators like Graphics Processing Units (GPUs) or Field-Programmable Gate Array (FPGAs). This has been applied to stream processing and data science-oriented applications. Concomitantly, since 2018, research is being conducted using artificial intelligence to optimize applications in the areas of Medicine, Ecology, Industry, Agriculture, Education, Smart Cities, and others.
Research Lines
Applied Data Science
Parallelism Abstractions
The research line HSPA (High-level and Structured Parallelism Abstractions) aims to create programming interfaces for the user/programmer who is not able in dealing with the parallel programming paradigm. The idea is to offer a higher level of abstraction, where the performance of applications is not compromised. The interfaces developed in this research line go toward specific domains that can later extend to other areas. The scope of the study is broad as regards the use of technologies for the development of the interface and parallelism.
Parallel Application Modeling
Team

Prof. Dr. Luiz Gustavo Leão Fernandes
General Coordinator

Prof. Dr. Dalvan Griebler
Research Coordinator
Last Papers
2025 |
Automatic Synthesis of Specialized Hash Functions Inproceedings doi Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, pp. 317–330, Association for Computing Machinery, Las Vegas, NV, USA, 2025, ISBN: 9798400712753. |
2024 |
Benchmarking parallel programming for single-board computers Journal Article doi Future Generation Computer Systems, 161 , pp. 119-134, 2024, ISSN: 0167-739X. |
Em direção a um modelo de programação paralela único para CPUs e GPUs em processamento de stream Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 103–104, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Proposta de Paralelismo de Stream Multi-GPU em Multi-Cores Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 101–102, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Em Direção à Programação Distribuída na Seleção de Planos em Sistemas Multi-Agentes Inproceedings doi Anais da XXIV Escola Regional de Alto Desempenho da Região Sul, pp. 121–122, SBC, Florianópolis/SC, 2024, ISSN: 2595-4164. |
Projects
Software
Last News
Contact us!
Or, feel free to use the form below to contact us.