Demo Data from EDBT 2026 / reviewers in the wild / expert
Rafael Martins de Souza
dblp:123/0045
· DBLP profile ↗
3ranked-venue papers
0as first author
0since 2021 · last 2015
—ORCID · unresolved
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 1Databases, data management, data science and information retrieval · 1Theory of computation · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
GPUs and heterogeneous computing · 56% Processor architecture and microarchitecture · 44% | |
| Software engineering, system software, and programming languages
1 paper |
Compilers and program optimization · 100% |
Topics — the 3 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
register allocation |
0.2 | 1 | 2013 | Divergence analysis · ACM Trans. Program. Lang. Syst. 2013 |
GPUs and heterogeneous computing
control flow divergence |
0.2 | 1 | 2013 | Divergence analysis · ACM Trans. Program. Lang. Syst. 2013 |
Processor architecture and microarchitecture
SIMD |
0.2 | 1 | 2013 | Divergence analysis · ACM Trans. Program. Lang. Syst. 2013 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.3rematerialization · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | A case for a fast trip count predictor
Péricles Rafael Oliveira Alves, Raphael Ernani Rodrigues, Rafael Martins de Souza, Fernando Magno Quintão Pereira |
Inf. Process. Lett. | 3 |
| 2013 | Divergence analysisabstractGrowing interest in graphics processing units has brought renewed attention to the Single Instruction Multiple Data (SIMD) execution model. SIMD machines give application developers tremendous computational power; however, programming them is still challenging. In particular, developers must deal with memory and control-flow divergences. These phenomena stem from a condition that we call data divergence, which occurs whenever two processing elements (PEs) see the same variable name holding different values. This article introduces divergence analysis, a static analysis that discovers data divergences. This analysis, currently deployed in an industrial quality compiler, is useful in several ways: it improves the translation of SIMD code to non-SIMD CPUs, it helps developers to manually improve their SIMD applications, and it also guides the automatic optimization of SIMD programs. We demonstrate this last point by introducing the notion of a divergence-aware register spiller. This spiller uses information from our analysis to either rematerialize or share common data between PEs. As a testimony of its effectiveness, we have tested it on a suite of 395 CUDA kernels from well-known benchmarks. The divergence-aware spiller produces GPU code that is 26.21% faster than the code produced by the register allocator used in the baseline compiler. Diogo Sampaio, Rafael Martins de Souza, Caroline Collange, Fernando Magno Quintão Pereira |
ACM Trans. Program. Lang. Syst. | 2 |
| 2012 | Divergence Analysis with Affine ConstraintsabstractThe rising popularity of graphics processing units is bringing renewed interest in code optimization techniques for SIMD processors. Many of these optimizations rely on divergence analyses, which classify variables as uniform, if they have the same value on every thread, or divergent, if they might not. This paper introduces a new kind of divergence analysis, that is able to represent variables as affine functions of thread identifiers. We have implemented this analysis in Ocelot, an open source compiler, and use it to analyze a suite of 177 CUDA kernels from well-known benchmarks. We can mark about one fourth of all program variables as affine functions of thread identifiers. In addition to the novel divergence analysis, we also introduce the notion of a divergence aware register allocator. This allocator uses information from our analysis to either rematerialize affine variables, or to move uniform variables to shared memory. As a testimony of its effectiveness, our divergence aware allocator produces GPU code that is 29.70% faster than the code produced by Ocelot's register allocator. Divergence analysis with affine constraints is publicly available in the Ocelot compiler since June/2012. Diogo Sampaio, Rafael Martins de Souza, Caroline Collange, Fernando Magno Quintão Pereira |
SBAC-PAD | 2 |