Demo Data from VLDB 2026 / reviewers in the wild / expert
Muthu Manikandan Baskaran
dblp:99/5359
· DBLP profile ↗
17ranked-venue papers
8as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 13 · 7 first-authorSoftware engineering, systems software and programming languages · 5 · 2 first-authorHuman-computer interaction and ubiquitous computing · 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
4 papers |
Parallel and multicore computing · 54% GPUs and heterogeneous computing · 37% High-performance computing · 9% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% |
Topics — the 15 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › memory optimization
data movement optimization |
0.2 | 2 | 2012 | Automatic communication optimizations through memory reuse strategies · PPoPP 2012 Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories · PPoPP 2008 |
Compilers and program optimization › parallel program optimization
communication optimization |
0.1 | 1 | 2012 | Automatic communication optimizations through memory reuse strategies · PPoPP 2012 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.1 | 1 | 2012 | Automatic communication optimizations through memory reuse strategies · PPoPP 2012 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.1 | 1 | 2009 | Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors · PPoPP 2009 |
Parallel and multicore computing
load balancing |
0.1 | 1 | 2009 | Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors · PPoPP 2009 |
Parallel and multicore computing › parallelizing compiler
polyhedral compilation |
0.1 | 1 | 2009 | Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors · PPoPP 2009 |
GPUs and heterogeneous computing
GPU programming |
0.1 | 1 | 2008 | Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories · PPoPP 2008 |
Parallel and multicore computing › parallel algorithms › parallel algorithm design
parallel algorithm mapping |
0.1 | 1 | 2008 | Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories · PPoPP 2008 |
Compilers and program optimization › parallelization
automatic parallelization |
0.1 | 1 | 2007 | Effective automatic parallelization of stencil computations · PLDI 2007 |
Compilers and program optimization
loop transformation |
0.1 | 1 | 2007 | Effective automatic parallelization of stencil computations · PLDI 2007 |
Compilers and program optimization
stencil computation |
0.1 | 1 | 2007 | Effective automatic parallelization of stencil computations · PLDI 2007 |
GPUs and heterogeneous computing
GPU computing |
0.0 | 1 | 2012 | Automatic communication optimizations through memory reuse strategies · PPoPP 2012 |
High-performance computing
stencil computation |
0.0 | 1 | 2012 | Automatic communication optimizations through memory reuse strategies · PPoPP 2012 |
Parallel and multicore computing › parallelization strategies
multi-level parallelism |
0.0 | 1 | 2008 | Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories · PPoPP 2008 |
High-performance computing
scientific computing |
0.0 | 1 | 2007 | Effective automatic parallelization of stencil computations · PLDI 2007 |
Methods — techniques the papers use, named apart from their topics
source-to-source compilation · 0.3automatic parallelization · 0.3computation mapping · 0.2automatic data movement · 0.2pipelining · 0.1loop tiling · 0.1polyhedral compilation · 0.1dynamic dependence extraction · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | POSTER: Automatic Parallelization Targeting Asynchronous Task-Based RuntimesabstractIn a post-Moore world, asynchronous task-based parallelism has become a popular paradigm for parallel programming. Auto-parallelizing compilers are also an active area of research, promising improved developer productivity and application performance. This work seeks to unify these efforts by delivering an end-to-end path for auto-parallelization through a generic runtime layer for asynchronous task-based systems. First, we extend R-Stream, an auto-parallelizing polyhedral compiler, to express task-based parallelism and data management for a broader class of task-based runtimes. We additionally introduce a generic runtime layer for asynchronous task-based parallelism, which provides an abstract target for the compiler backend. We implement this generic runtime layer using OpenMP for shared memory systems and Legion for distributed memory systems. Starting from sequential source, we obtain geometric mean speedups of 23.0x (OpenMP) and 9.5x (Legion) on a wide range of applications, from deep learning to scientific kernels. Charles Jin, Muthu Manikandan Baskaran, Benoît Meister |
PACT | 2 |
| 2019 | Enhancing Network Visibility and Security through Tensor Analysis
Muthu Manikandan Baskaran, Thomas Henretty, James R. Ezick, Richard A. Lethin, David Bruns-Smith |
Future Gener. Comput. Syst. | 1 |
| 2016 | Scalable Hierarchical Polyhedral CompilationabstractComputers across the board, from embedded to future exascale computers, are consistently designed with deeper memory hierarchies. While this opens up exciting opportunities for improving software performance and energy efficiency, it also makes it increasingly difficult to efficiently exploit the hardware. Advanced compilation techniques are a possible solution to this difficult problem and, among them, the polyhedral compilation technology provides a pathway for performing advanced automatic parallelization and code transformations. However, the polyhedral model is also known for its poor scalability with respect to the number of dimensions in the polyhedra that are used for representing programs. Although current compilers can cope with such limitation when targeting shallow hierarchies, polyhedral optimizations often become intractable as soon as deeper hardware hierarchies are considered. We address this problem by introducing two new operators for polyhedral compilers: focalisation and defocalisation. When applied in the compilation flow, the new operators reduce the dimensionality of polyhedra, which drastically simplifies the mathematical problems solved during the compilation. We prove that the presented operators preserve the original program semantics, allowing them to be safely used in compilers. We implemented the operators in a production compiler, which drastically improved its performance and scalability when targeting deep hierarchies. Benoît Pradelle, Benoît Meister, Muthu Manikandan Baskaran, Athanasios Konstantinidis 0001, Thomas Henretty, Richard A. Lethin |
ICPP | 3 |
| 2015 | Polyhedral user mapping and assistant visualizer tool for the r-stream auto-parallelizing compilerabstractExisting high-level, source-to-source compilers can accept input programs in a high-level language (e.g., C) and perform complex automatic parallelization and other mappings using various optimizations. These optimizations often require trade-offs and can benefit from the user's involvement in the process. However, because of the inherent complexity, the barrier to entry for new users of these high-level optimizing compilers can often be high. We propose visualization as an effective gateway for non-expert users to gain insight into the effects of parameter choices and so aid them in the selection of levels best suited to their specific optimization goals. Eric Papenhausen, Bing Wang 0007, Harper Langston, Muthu Manikandan Baskaran, Thomas Henretty, Taku Izubuchi, Ann Johnson, Chulwoo Jung, Meifeng Lin, Benoît Meister, Klaus Mueller 0001, Richard A. Lethin |
VISSOFT | 4 |
| 2014 | Parallelizing and optimizing sparse tensor computationsabstractIrregular computations over large-scale sparse data are prevalent in critical data applications and they have significant room for improvement on modern computer systems from the aspects of parallelism and data locality. We introduce new techniques to efficiently map large irregular computations with multi-dimensional sparse arrays (or sparse tensors) onto modern multi-core systems with non-uniform memory access (NUMA) behavior. We implement a static-cum-dynamic task scheduling scheme with low overhead for effective parallelization of sparse computations. We introduce locality-aware optimizations to the task scheduling mechanism that are driven by the sparse input data pattern. We evaluate our techniques on key sparse tensor decomposition methods that are widely used in areas such as data mining, graph analysis, and elsewhere. We achieve around 4-5x improvement in performance over existing parallel approaches and observe scalable parallel performance on modern multi-core systems with up to 32 processor cores. Muthu Manikandan Baskaran, Benoît Meister, Richard A. Lethin |
ICS | 1 |
| 2012 | Automatic communication optimizations through memory reuse strategiesabstractModern parallel architectures are emerging with sophisticated hardware consisting of hierarchically placed parallel processors and memories. The properties of memories in a system vary wildly, not only quantitatively (size, latency, bandwidth, number of banks) but also qualitatively (scratchpad, cache). Along with the emergence of such architectures comes the need for effectively utilizing the parallel processors and properly managing data movement across memories to improve memory bandwidth and hide data transfer latency. In this paper, we describe some of the high-level optimizations that are targeted at the improvement of memory performance in the R-Stream compiler, a high-level source-to-source automatic parallelizing compiler. We direct our focus in this paper on optimizing communications (data transfers) by improving memory reuse at various levels of an explicit memory hierarchy. This general concept is well-suited to the hardware properties of GPGPUs, which is the architecture that we concentrate on for this paper. We apply our techniques and obtain performance improvement on various stencil kernels including an important iterative stencil kernel in seismic processing applications where the performance is comparable to that of the state-of-the-art implementation of the kernel by a CUDA expert. Muthu Manikandan Baskaran, Nicolas Vasilache, Benoît Meister, Richard A. Lethin |
PPoPP | 1 |
| 2010 | Automatic C-to-CUDA Code Generation for Affine Programs
Muthu Manikandan Baskaran, J. Ramanujam, P. Sadayappan |
CC | 1 |
| 2010 | Parameterized tiling revisitedabstractTiling, a key transformation for optimizing programs, has been widely studied in literature. Parameterized tiled code is important for auto-tuning systems since they often execute a large number of runs with dynamically varied tile sizes. Previous work on tiled code generation has addressed parameterized tiling for the sequential context, and the parallel case with fixed compile-time constants for tile sizes. In this paper, we revisit the problem of generating tiled code using parametric tile sizes. We develop a systematic approach to formulate tiling transformations through manipulation of linear inequalities and develop a novel approach to overcoming the fundamental obstacle faced by previous approaches regarding generation of parallel parameterized tiled code. To the best of our knowledge, the approach proposed in this paper is the first compile-time solution to the problem of parallel parameterized code generation for affine imperfectly nested loops. Experimental results demonstrate the effectiveness of the implemented system. Muthu Manikandan Baskaran, Albert Hartono, Sanket Tavarageri, Thomas Henretty, J. Ramanujam, P. Sadayappan |
CGO | 1 |
| 2010 | DynTile: Parametric tiled loop generation for parallel execution on multicore processorsabstractLoop tiling is an important compiler transformation used for enhancing data locality and exploiting coarse-grained parallelism. Tiled codes in which tile sizes are runtime parameters - called parametrically-tiled codes - are important for empirical tuning systems like ATLAS. Some recent work has addressed the problem of generating sequential parametric tiled code. In this paper we describe DynTile, a system for transforming untiled sequential input C code containing affine imperfectly nested loops to parametrically tiled code for parallel execution on multicore processors. The effectiveness of the system is demonstrated using a number of benchmarks on an eight-core system. Albert Hartono, Muthu Manikandan Baskaran, J. Ramanujam, P. Sadayappan |
IPDPS | 2 |
| 2010 | Optimal loop unrolling for GPGPU programsabstractGraphics Processing Units (GPUs) are massively parallel, many-core processors with tremendous computational power and very high memory bandwidth. With the advent of general purpose programming models such as NVIDIA's CUDA and the new standard OpenCL, general purpose programming using GPUs (GPGPU) has become very popular. However, the GPU architecture and programming model have brought along with it many new challenges and opportunities for compiler optimizations. One such classical optimization is loop unrolling. Current GPU compilers perform limited loop unrolling. In this paper, we attempt to understand the impact of loop unrolling on GPGPU programs. We develop a semi-automatic, compile-time approach for identifying optimal unroll factors for suitable loops in GPGPU programs. In addition, we propose techniques for reducing the number of unroll factors evaluated, based on the characteristics of the program being compiled and the device being compiled to. We use these techniques to evaluate the effect of loop unrolling on a range of GPGPU programs and show that we correctly identify the optimal unroll factors. The optimized versions run up to 70 percent faster than the unoptimized versions. Giridhar Sreenivasa Murthy, Mahesh Ravishankar, Muthu Manikandan Baskaran, P. Sadayappan |
IPDPS | 3 |
| 2009 | Parametric multi-level tiling of imperfectly nested loopsabstractTiling is a crucial loop transformation for generating high performance code on modern architectures. Efficient generation of multi-level tiled code is essential for maximizing data reuse in systems with deep memory hierarchies. Tiled loops with parametric tile sizes (not compile-time constants) facilitate runtime feedback and dynamic optimizations used in iterative compilation and automatic tuning. Previous parametric multi-level tiling approaches have been restricted to perfectly nested loops, where all assignment statements are contained inside the innermost loop of a loop nest. Previous solutions to tiling for imperfect loop nests have only handled fixed tile sizes. In this paper, we present an approach to parametric multi-level tiling of imperfectly nested loops. The tiling technique generates loops that iterate over full rectangular tiles, making them amenable to compiler optimizations such as register tiling. Experimental results using a number of computational benchmarks demonstrate the effectiveness of the developed tiling approach. Albert Hartono, Muthu Manikandan Baskaran, Cédric Bastoul, Albert Cohen 0001, Sriram Krishnamoorthy, Boyana Norris, J. Ramanujam, P. Sadayappan |
ICS | 2 |
| 2009 | Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processorsabstractRecent advances in polyhedral compilation technology have made it feasible to automatically transform affine sequential loop nests for tiled parallel execution on multi-core processors. However, for multi-statement input programs with statements of different dimensionalities, such as Cholesky or LU decomposition, the parallel tiled code generated by existing automatic parallelization approaches may suffer from significant load imbalance, resulting in poor scalability on multi-core systems. In this paper, we develop a completely automatic parallelization approach for transforming input affine sequential codes into efficient parallel codes that can be executed on a multi-core system in a load-balanced manner. In our approach, we employ a compile-time technique that enables dynamic extraction of inter-tile dependences at run-time, and dynamic scheduling of the parallel tiles on the processor cores for improved scalable execution. Our approach obviates the need for programmer intervention and re-writing of existing algorithms for efficient parallel execution on multi-cores. We demonstrate the usefulness of our approach through comparisons using linear algebra computations: LU and Cholesky decomposition. Muthu Manikandan Baskaran, Nagavijayalakshmi Vydyanathan, Uday Bondhugula, J. Ramanujam, Atanas Rountev, P. Sadayappan |
PPoPP | 1 |
| 2008 | Automatic Transformations for Communication-Minimized Parallelization and Locality Optimization in the Polyhedral Model
Uday Bondhugula, Muthu Manikandan Baskaran, Sriram Krishnamoorthy, J. Ramanujam, Atanas Rountev, P. Sadayappan |
CC | 2 |
| 2008 | A compiler framework for optimization of affine loop nests for gpgpusabstractGPUs are a class of specialized parallel architectures with tremendous computational power. The new Compute Unified Device Architecture (CUDA) programming model from NVIDIA facilitates programming of general purpose applications on their GPUs. However, manual development of high-performance parallel code for GPUs is still very challenging. In this paper, a number of issues are addressed towards the goal of developing a compiler framework for automatic parallelization and performance optimization of affine loop nests on GPGPUs: 1) approach to program transformation for efficient data access from GPU global memory, using a polyhedral compiler model of data dependence abstraction and program transformation; 2) determination of optimal padding factors for conflict-minimal data access from GPU shared memory; and 3) model-driven empirical search to determine optimal parameters for unrolling and tiling. Experimental results on a number of kernels demonstrate the effectiveness of the compiler optimization approaches developed. Muthu Manikandan Baskaran, Uday Bondhugula, Sriram Krishnamoorthy, J. Ramanujam, Atanas Rountev, P. Sadayappan |
ICS | 1 |
| 2008 | Towards effective automatic parallelization for multicore systemsabstractThe ubiquity of multicore processors in commodity computing systems has raised a significant programming challenge for their effective use. An attractive but challenging approach is automatic parallelization of sequential codes. Although virtually all production C compilers have automatic shared-memory parallelization capability, it is rarely used in practice by application developers because of limited effectiveness. In this paper we describe our recent efforts towards developing an effective automatic parallelization system that uses a polyhedral model for data dependences and program transformations. Uday Bondhugula, Muthu Manikandan Baskaran, Albert Hartono, Sriram Krishnamoorthy, J. Ramanujam, Atanas Rountev, P. Sadayappan |
IPDPS | 2 |
| 2008 | Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memoriesabstractSeveral parallel architectures such as GPUs and the Cell processor have fast explicitly managed on-chip memories, in addition to slow off-chip memory. They also have very high computational power with multiple levels of parallelism. A significant challenge in programming these architectures is to effectively exploit the parallelism available in the architecture and manage the fast memories to maximize performance. Muthu Manikandan Baskaran, Uday Bondhugula, Sriram Krishnamoorthy, J. Ramanujam, Atanas Rountev, P. Sadayappan |
PPoPP | 1 |
| 2007 | Effective automatic parallelization of stencil computationsabstractPerformance optimization of stencil computations has been widely studied in the literature, since they occur in many computationally intensive scientific and engineering applications. Compiler frameworks have also been developed that can transform sequential stencil codes for optimization of data locality and parallelism. However, loop skewing is typically required in order to tile stencil codes along the time dimension, resulting in load imbalance in pipelined parallel execution of the tiles. In this paper, we develop an approach for automatic parallelization of stencil codes, that explicitly addresses the issue of load-balanced execution of tiles. Experimental results are provided that demonstrate the effectiveness of the approach. Sriram Krishnamoorthy, Muthu Manikandan Baskaran, Uday Bondhugula, J. Ramanujam, Atanas Rountev, P. Sadayappan |
PLDI | 2 |