• Publications
  • Influence
Polyhedral parallel code generation for CUDA
TLDR
A novel source-to-source compiler called PPCG is presented, which introduces a multilevel tiling strategy and a code generation scheme for the parallelization and locality optimization of imperfectly nested loops, managing memory and exposing concurrency according to the constraints of modern GPUs.
Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions
TLDR
A language close to the mathematics of deep learning called Tensor Comprehensions offering both imperative and declarative styles, a polyhedral Just-In-Time compiler to convert a mathematical description of a deep learning DAG into a CUDA kernel with delegated memory management and synchronization, and a compilation cache populated by an autotuner are contributed.
MLIR: A Compiler Infrastructure for the End of Moore's Law
TLDR
Evaluation of MLIR as a generalized infrastructure that reduces the cost of building compilers-describing diverse use-cases to show research and educational opportunities for future programming languages, compilers, execution environments, and computer architecture.
Semi-Automatic Composition of Loop Transformations for Deep Parallelism and Memory Hierarchies
TLDR
This work leverages on algorithmic advances in polyhedral code generation and has been implemented in a modern research compiler, using a semi-automatic optimization approach to demonstrate that current compilers suffer from unnecessary constraints and intricacies that can be avoided in a semantically richer transformation framework.
Iterative optimization in the polyhedral model: part ii, multidimensional time
TLDR
A genetic algorithm with specialized operators that leverage the polyhedral representation of program dependences is introduced, providing experimental evidence that the genetic algorithm effectively traverses huge optimization spaces, achieving good performance improvements on large loop nests.
The Polyhedral Model Is More Widely Applicable Than You Think
TLDR
This work concentrates on extending the code generation step and does not compromise the expressiveness of the model, presenting experimental evidence that the extension is relevant for program optimization and parallelization, showing performance improvements on benchmarks that were thought to be out of reach of the polyhedral model.
Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time
TLDR
This work defines a systematic exploration method to enumerate the space of all legal, distinct transformations in the class of loop transformation which can be expressed as one-dimensional affine schedules and demonstrates orders of magnitude improvements in the size of the search space and in the convergence speed of a dedicated iterative optimization heuristic.
MLIR: Scaling Compiler Infrastructure for Domain Specific Computation
This work presents MLIR, a novel approach to building reusable and extensible compiler infrastructure. MLIR addresses software fragmentation, compilation for heterogeneous hardware, significantly
Loop transformations: convexity, pruning and optimization
TLDR
This work first presents a convex characterization of all distinct, semantics-preserving, multidimensional affine transformations, then brings together algebraic, algorithmic, and performance analysis results to design a tractable optimization algorithm over this highly expressive space.
Facilitating the search for compositions of program transformations
TLDR
The purpose of this article is to facilitate the automatic search for compositions of program transformations, introducing a richer framework which improves on classical polyhedral representations, suitable for iterative optimization on a simpler, structured search space, and to illustrate that complex compositions of transformations can be necessary to achieve significant performance benefits.
...
...