Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Aravind Acharya

dblp:139/0976 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
1since 2021 · last 2021
0000-0001-6223-3625ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 3 · 1 first-authorTheory 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.

Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 100%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Parallel and multicore computing · 47% High-performance computing · 46% Performance modeling and evaluation · 7%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

Topics — the 15 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › loop transformation
polyhedral compilation
1.242020
Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs · ACM Trans. Archit. Code Optim. 2020
Polyhedral auto-transformation with no integer linear programming · PLDI 2018
An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations · ACM Trans. Archit. Code Optim. 2015
Compilers and program optimization
loop transformation
0.932020
Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs · ACM Trans. Archit. Code Optim. 2020
The Pluto+ Algorithm: A Practical Approach for Parallelization and Locality Optimization of Affine Loop Nests · ACM Trans. Program. Lang. Syst. 2016
PLUTO+: near-complete modeling of affine transformations for parallelism and locality · PPoPP 2015
Compilers and program optimization › loop transformation
loop fusion
0.412020
Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs · ACM Trans. Archit. Code Optim. 2020
Compilers and program optimization › program transformation
automatic transformation
0.312018
Polyhedral auto-transformation with no integer linear programming · PLDI 2018
Compilers and program optimization › memory optimization
data locality optimization
0.212016
The Pluto+ Algorithm: A Practical Approach for Parallelization and Locality Optimization of Affine Loop Nests · ACM Trans. Program. Lang. Syst. 2016
Parallel and multicore computing › parallelizing compiler
polyhedral compilation
0.212016
The Pluto+ Algorithm: A Practical Approach for Parallelization and Locality Optimization of Affine Loop Nests · ACM Trans. Program. Lang. Syst. 2016
Compilers and program optimization
code generation
0.212015
An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations · ACM Trans. Archit. Code Optim. 2015
High-performance computing › scientific computing systems › computational fluid dynamics
lattice boltzmann method
0.212015
An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations · ACM Trans. Archit. Code Optim. 2015
High-performance computing
scientific computing
0.212015
An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations · ACM Trans. Archit. Code Optim. 2015
Automated reasoning and model checking › model checking › infinite-state model checking
counter systems
0.212014
Checking Liveness Properties of Presburger Counter Systems Using Reachability Analysis · FM 2014
Parallel and multicore computing
parallelizing compiler
0.112020
Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs · ACM Trans. Archit. Code Optim. 2020
Parallel and multicore computing › parallelization strategies
coarse-grained parallelism
0.112015
PLUTO+: near-complete modeling of affine transformations for parallelism and locality · PPoPP 2015
Performance modeling and evaluation › analytical modeling
roofline model
0.112015
An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations · ACM Trans. Archit. Code Optim. 2015
Automated reasoning and model checking › temporal logic verification
liveness verification
0.112014
Checking Liveness Properties of Presburger Counter Systems Using Reachability Analysis · FM 2014
Automated reasoning and model checking
reachability
0.112014
Checking Liveness Properties of Presburger Counter Systems Using Reachability Analysis · FM 2014

Methods — techniques the papers use, named apart from their topics

polyhedral optimization · 1.4integer linear programming · 1.2greedy heuristic · 0.9clustering heuristic · 0.9time tiling · 0.4cost modeling · 0.4linear programming · 0.3affine transformations · 0.2affine transformation · 0.2
YearPublicationVenuePosition
2021 A practical tile size selection model for affine loop nests
abstract
Loop tiling for locality is an important transformation for general-purpose and domain-specific compilation as it allows programs to exploit the benefits of deep memory hierarchies. Most code generation tools with the infrastructure to perform automatic tiling of loop nests rely on auto-tuning to find good tile sizes. Tile size selection models proposed in the literature either fall back to modeling complex non-linear optimization problems or tackle a narrow class of inputs. Hence, a fast and generic tile size selection model is desirable for it to be adopted into compiler infrastructures like those of GCC, LLVM, or MLIR.
Kumudha Narasimhan, Aravind Acharya, Abhinav Baid, Uday Bondhugula
ICS2
2020 Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs
abstract
Polyhedral auto-transformation frameworks are known to find efficient loop transformations that maximize locality and parallelism and minimize synchronization. While complex loop transformations are routinely modeled in these frameworks, they tend to rely on ad hoc heuristics for loop fusion. Although there exist multiple loop fusion models with cost functions to maximize locality and parallelism, these models involve separate optimization steps rather than seamlessly integrating with other loop transformations like loop permutation, scaling, and shifting. Incorporating parallelism-preserving loop fusion heuristics into existing affine transformation frameworks like Pluto, LLVM-Polly, PPCG, and PoCC requires solving a large number of Integer Linear Programming formulations, which increase auto-transformation times significantly. In this work, we incorporate polynomial time loop fusion heuristics into the Pluto-lp-dfp framework. We present a data structure called the fusion conflict graph (FCG), which enables us to efficiently model loop fusion in the presence of other affine loop transformations. We propose a clustering heuristic to group the vertices of the FCG, which further enables us to provide three different polynomial time greedy fusion heuristics, namely, maximal fusion , typed fusion , and hybrid fusion , while maintaining the compile time improvements of Pluto-lp-dfp over Pluto. Our experiments reveal that the hybrid fusion model, in conjunction with Pluto’s cost function, finds efficient transformations that outperform PoCC and Pluto by mean factors of 1.8× and 1.07×, respectively, with a maximum performance improvement of 14× over PoCC and 2.6× over Pluto.
Aravind Acharya, Uday Bondhugula, Albert Cohen 0001
ACM Trans. Archit. Code Optim.1
2018 Polyhedral auto-transformation with no integer linear programming
abstract
State-of-the-art algorithms used in automatic polyhedral transformation for parallelization and locality optimization typically rely on Integer Linear Programming (ILP). This poses a scalability issue when scaling to tens or hundreds of statements, and may be disconcerting in production compiler settings. In this work, we consider relaxing integrality in the ILP formulation of the Pluto algorithm, a popular algorithm used to find good affine transformations. We show that the rational solutions obtained from the relaxed LP formulation can easily be scaled to valid integral ones to obtain desired solutions, although with some caveats. We first present formal results connecting the solution of the relaxed LP to the original Pluto ILP. We then show that there are difficulties in realizing the above theoretical results in practice, and propose an alternate approach to overcome those while still leveraging linear programming. Our new approach obtains dramatic compile-time speedups for a range of large benchmarks. While achieving these compile-time improvements, we show that the performance of the transformed code is not sacrificed. Our approach to automatic transformation provides a mean compilation time improvement of 5.6× over state-of-the-art on relevant challenging benchmarks from the NAS PB, SPEC CPU 2006, and PolyBench suites. We also came across situations where prior frameworks failed to find a transformation in a reasonable amount of time, while our new approach did so instantaneously.
Aravind Acharya, Uday Bondhugula, Albert Cohen 0001
PLDI1
2016 The Pluto+ Algorithm: A Practical Approach for Parallelization and Locality Optimization of Affine Loop Nests
abstract
Affine transformations have proven to be powerful for loop restructuring due to their ability to model a very wide range of transformations. A single multidimensional affine function can represent a long and complex sequence of simpler transformations. Existing affine transformation frameworks such as the Pluto algorithm, which include a cost function for modern multicore architectures for which coarse-grained parallelism and locality are crucial, consider only a subspace of transformations to avoid a combinatorial explosion in finding transformations. The ensuing practical trade-offs lead to the exclusion of certain useful transformations: in particular, transformation compositions involving loop reversals and loop skewing by negative factors. In addition, there is currently no proof that the algorithm successfully finds a tree of permutable loop bands for all affine loop nests. In this article, we propose an approach to address these two issues (1) by modeling a much larger space of practically useful affine transformations in conjunction with the existing cost function of Pluto, and (2) by extending the Pluto algorithm in a way that allows a proof for its soundness and completeness for all affine loop nests. We perform an experimental evaluation of both, the effect on compilation time, and performance of generated codes. The evaluation shows that our new framework, Pluto+, provides no degradation in performance for any benchmark from Polybench. For the Lattice Boltzmann Method (LBM) simulations with periodic boundary conditions, it provides a mean speedup of 1.33 × over Pluto. We also show that Pluto+ does not increase compilation time significantly. Experimental results on Polybench show that Pluto+ increases overall polyhedral source-to-source optimization time by only 15%. In cases in which it improves execution time significantly, it increased polyhedral optimization time by only 2.04 × .
Uday Bondhugula, Aravind Acharya, Albert Cohen 0001
ACM Trans. Program. Lang. Syst.2
2015 PLUTO+: near-complete modeling of affine transformations for parallelism and locality
abstract
Affine transformations have proven to be very powerful for loop restructuring due to their ability to model a very wide range of transformations. A single multi-dimensional affine function can represent a long and complex sequence of simpler transformations. Existing affine transformation frameworks like the Pluto algorithm, that include a cost function for modern multicore architectures where coarse-grained parallelism and locality are crucial, consider only a sub-space of transformations to avoid a combinatorial explosion in finding the transformations. The ensuing practical trade-offs lead to the exclusion of certain useful transformations, in particular, transformation compositions involving loop reversals and loop skewing by negative factors. In this paper, we propose an approach to address this limitation by modeling a much larger space of affine transformations in conjunction with the Pluto algorithm's cost function. We perform an experimental evaluation of both, the effect on compilation time, and performance of generated codes. The evaluation shows that our new framework, Pluto+, provides no degradation in performance in any of the Polybench benchmarks. For Lattice Boltzmann Method (LBM) codes with periodic boundary conditions, it provides a mean speedup of 1.33x over Pluto. We also show that Pluto+ does not increase compile times significantly. Experimental results on Polybench show that Pluto+ increases overall polyhedral source-to-source optimization time only by 15%. In cases where it improves execution time significantly, it increased polyhedral optimization time only by 2.04x.
Aravind Acharya, Uday Bondhugula
PPoPP1
2015 An Optimizing Code Generator for a Class of Lattice-Boltzmann Computations
abstract
The Lattice-Boltzmann method (LBM), a promising new particle-based simulation technique for complex and multiscale fluid flows, has seen tremendous adoption in recent years in computational fluid dynamics. Even with a state-of-the-art LBM solver such as Palabos, a user has to still manually write the program using library-supplied primitives. We propose an automated code generator for a class of LBM computations with the objective to achieve high performance on modern architectures. Few studies have looked at time tiling for LBM codes. We exploit a key similarity between stencils and LBM to enable polyhedral optimizations and in turn time tiling for LBM. We also characterize the performance of LBM with the Roofline performance model. Experimental results for standard LBM simulations like Lid Driven Cavity, Flow Past Cylinder, and Poiseuille Flow show that our scheme consistently outperforms Palabos—on average by up to 3× while running on 16 cores of an Intel Xeon (Sandybridge). We also obtain an improvement of 2.47× on the SPEC LBM benchmark.
Irshad Pananilath, Aravind Acharya, Vinay Vasista, Uday Bondhugula
ACM Trans. Archit. Code Optim.2
2014 Checking Liveness Properties of Presburger Counter Systems Using Reachability Analysis
K. Vasanta Lakshmi, Aravind Acharya, Raghavan Komondoor
FM2