Demo Data from EDBT 2026 / reviewers in the wild / expert
Ivan Korostelev
dblp:297/0916
· DBLP profile ↗
3ranked-venue papers
1as first author
3since 2021 · last 2023
0000-0002-3451-1920ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021
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
2 papers |
High-performance computing · 55% Memory systems · 45% | |
| Software engineering, system software, and programming languages
2 papers |
Compilers and program optimization · 100% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
cache |
0.7 | 1 | 2023 | YaConv: Convolution with Low Cache Footprint · ACM Trans. Archit. Code Optim. 2023 |
High-performance computing › tensor computation
convolution |
0.7 | 1 | 2023 | YaConv: Convolution with Low Cache Footprint · ACM Trans. Archit. Code Optim. 2023 |
Compilers and program optimization › compiler analysis
idiom recognition |
0.5 | 1 | 2021 | KernelFaRer: Replacing Native-Code Idioms with High-Performance Library Calls · ACM Trans. Archit. Code Optim. 2021 |
Compilers and program optimization
program transformation |
0.5 | 1 | 2021 | KernelFaRer: Replacing Native-Code Idioms with High-Performance Library Calls · ACM Trans. Archit. Code Optim. 2021 |
Compilers and program optimization › memory optimization
memory hierarchy optimization |
0.2 | 1 | 2023 | YaConv: Convolution with Low Cache Footprint · ACM Trans. Archit. Code Optim. 2023 |
High-performance computing
scientific computing systems |
0.1 | 1 | 2021 | KernelFaRer: Replacing Native-Code Idioms with High-Performance Library Calls · ACM Trans. Archit. Code Optim. 2021 |
Methods — techniques the papers use, named apart from their topics
im2col · 1.3GEMM microkernels · 1.3pattern matching · 1.0LLVM · 1.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Fast matrix multiplication via compiler-only layered data reorganization and intrinsic loweringabstractAbstract The resurgence of machine learning has increased the demand for high‐performance basic linear algebra subroutines (BLAS), which have long depended on libraries to achieve peak performance on commodity hardware. High‐performance BLAS implementations rely on a layered approach that consists of tiling and packing layers—for data (re)organization—and micro kernels that perform the actual computations. The algorithm for the tiling and packing layers is target independent but is parameterized to the memory hierarchy and register‐file size. The creation of high‐performance micro kernels requires significant development effort to write tailored assembly code for each architecture. This hand optimization task is complicated by the recent introduction of matrix engines by 's (Matrix Multiply Assist—MMA), (Advanced Matrix eXtensions—AMX), and (Matrix Extensions—ME) to deliver high‐performance matrix operations. This article presents a compiler‐only alternative to the use of high‐performance libraries by incorporating, to the best of our knowledge and for the first time, the automatic generation of the layered approach into LLVM, a production compiler. Modular design of the algorithm, such as the use of LLVM's matrix‐multiply intrinsic for a clear interface between the tiling and packing layers and the micro kernel, makes it easy to retarget the code generation to multiple accelerators. The parameterization of the tiling and packing layers is demonstrated in the generation of code for the MMA unit on IBM's POWER10. This article also describes an algorithm that lowers the matrix‐multiply intrinsic to the MMA unit. The use of intrinsics enables a comprehensive performance study. In processors without hardware matrix engines, the tiling and packing delivers performance up to (Intel)—for small matrices—and more than (POWER9)—for large matrices—faster than PLuTo, a widely used polyhedral optimizer. The performance also approaches high‐performance libraries and is only slower than OpenBLAS and on‐par with Eigen for large matrices. With MMA in POWER10 this solution is, for large matrices, over faster the vector‐extension solution, matches Eigen performance, and achieves up to ofBLASpeak performance. Braedy Kuzma, Ivan Korostelev, João P. L. de Carvalho, José E. Moreira, Christopher Barton, Guido Araujo, José Nelson Amaral |
Softw. Pract. Exp. | 2 |
| 2023 | YaConv: Convolution with Low Cache FootprintabstractThis article introduces YaConv , a new algorithm to compute convolution using GEMM microkernels from a Basic Linear Algebra Subprograms library that is efficient for multiple CPU architectures. Previous approaches either create a copy of each image element for each filter element or reload these elements into cache for each GEMM call, leading to redundant instances of the image elements in cache. Instead, YaConv loads each image element once into the cache and maximizes the reuse of these elements. The output image is computed by scattering results of the GEMM microkernel calls to the correct locations in the output image. The main advantage of this new algorithm—which leads to better performance in comparison to the existing im2col approach on several architectures—is a more efficient use of the memory hierarchy. The experimental evaluation on convolutional layers from PyTorch, along with a parameterized study, indicates an average 24% speedup over im2col convolution. Increased performance comes as a result of 3× reduction in L3 cache accesses and 2× fewer branch instructions. Ivan Korostelev, João P. L. de Carvalho, José E. Moreira, José Nelson Amaral |
ACM Trans. Archit. Code Optim. | 1 |
| 2021 | KernelFaRer: Replacing Native-Code Idioms with High-Performance Library CallsabstractWell-crafted libraries deliver much higher performance than code generated by sophisticated application programmers using advanced optimizing compilers. When a code pattern for which a well-tuned library implementation exists is found in the source code of an application, the highest performing solution is to replace the pattern with a call to the library. Idiom-recognition solutions in the past either required pattern matching machinery that was outside of the compilation framework or provided a very brittle solution that would fail even for minor variants in the pattern source code. This article introduces Kernel Find & Replacer ( KernelFaRer ), an idiom recognizer implemented entirely in the existing LLVM compiler framework. The versatility of KernelFaRer is demonstrated by matching and replacing two linear algebra idioms, general matrix-matrix multiplication (GEMM), and symmetric rank-2k update (SYR2K). Both GEMM and SYR2K are used extensively in scientific computation, and GEMM is also a central building block for deep learning and computer graphics algorithms. The idiom recognition in KernelFaRer is much more robust than alternative solutions, has a much lower compilation overhead, and is fully integrated in the broadly used LLVM compilation tools. KernelFaRer replaces existing GEMM and SYR2K idioms with computations performed by BLAS, Eigen, MKL (Intel’s x86), ESSL (IBM’s PowerPC), and BLIS (AMD). Gains in performance that reach 2000× over hand-crafted source code compiled at the highest optimization level demonstrate that replacing application code with library call is a performant solution. João P. L. de Carvalho, Braedy Kuzma, Ivan Korostelev, José Nelson Amaral, Christopher Barton, José E. Moreira, Guido Araujo |
ACM Trans. Archit. Code Optim. | 3 |