EDBT 2026 Demo / reviewers in the wild / expert
Pramod Ganapathi
dblp:01/8576
· DBLP profile ↗
17ranked-venue papers
2as first author
7since 2021 · last 2023
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 3 since 2021Theory of computation · 4 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 2 first-author · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | A Unified Framework to Discover Permutation Generation AlgorithmsabstractAbstract We present two simple, intuitive and general algorithmic frameworks that can be used to design a wide variety of permutation generation algorithms. The frameworks can be used to produce 19 existing permutation algorithms, including the well-known algorithms of Heap, Wells, Langdon, Zaks, Tompkins and Lipski. We use the frameworks to design two new sorting-based permutation generation algorithms, one of which is optimal. Pramod Ganapathi, Rezaul Alam Chowdhury |
Comput. J. | 1 |
| 2022 | FOURST: A code generator for FFT-based fast stencil computationsabstractStencil computations are ubiquitous in modern grid-based physical simulations. In this paper, we present FOURST – a compiler to generate programs computing time iterated linear periodic and aperiodic stencil computations with fast Fourier transform methods. This paper outlines the design and implementation of the code generation approach in FOURST, to automatically generate FFT-based stencil solvers. We present experimental results on the state-of-the-art Ookami supercomputer housing Fujitsu A64FX and Intel Skylake processors, to study the performance of FOURST and a state-of-the-art tiling-based optimized code generator PLuTo on various stencil shapes and varying the number of time iterations. We discuss the performance profiles, and limitations, of both approaches on high-end modern hardware. Zafar Ahmad, Mohammad Mahdi Javanmard, Gregory Thomas Croisdale, Aaron Gregory, Pramod Ganapathi, Louis-Noël Pouchet, Rezaul Alam Chowdhury |
ISPASS | 5 |
| 2022 | Brief Announcement: Faster Stencil Computations using Gaussian ApproximationsabstractStencil computations are widely used to simulate the change of state of physical systems. The current best algorithm for performing aperiodic linear stencil computations on a d (≥ 1)-dimensional grid of size N for T timesteps does Θ(TN1-1/d+N Log N) work. We introduce novel techniques based on random walks and Gaussian approximations for an asymptotic improvement of this work bound for a class of linear stencils. We also improve the span (i.e., parallel running time on an unbounded number of processors) asymptotically from the current state of the art. Zafar Ahmad, Rezaul Alam Chowdhury, Rathish Das, Pramod Ganapathi, Aaron Gregory, Yimin Zhu 0003 |
SPAA | 4 |
| 2022 | Parallel Divide-and-Conquer Algorithms for Bubble Sort, Selection Sort and Insertion SortabstractAbstract We present efficient parallel recursive divide-and-conquer algorithms for bubble sort, selection sort, and insertion sort. Our algorithms have excellent data locality and are highly parallel. The computational complexity of our insertion sort is ${{\mathcal{O}}}\left ({n^{\log _2 3}}\right )$ in contrast to ${{\mathcal{O}}}\left ({n^2}\right )$ of standard insertion sort. Pramod Ganapathi, Rezaul Alam Chowdhury |
Comput. J. | 1 |
| 2022 | An Algorithm for the Sequence Alignment with Gap Penalty Problem using Multiway Divide-and-Conquer and Matrix Transposition
Surya Prakash 0001, Pramod Ganapathi |
Inf. Process. Lett. | 3 |
| 2021 | Low-Span Parallel Algorithms for the Binary-Forking ModelabstractThe binary-forking model is a parallel computation model, formally defined by Blelloch et al., in which a thread can fork a concurrent child thread, recursively and asynchronously. The model incurs a cost of Θ(łog n) to spawn or synchronize n tasks or threads. The binary-forking model realistically captures the performance of parallel algorithms implemented using modern multithreaded programming languages on multicore shared-memory machines. In contrast, the widely studied theoretical PRAM model does not consider the cost of spawning and synchronizing threads, and as a result, algorithms achieving optimal performance bounds in the PRAM model may not be optimal in the binary-forking model. Often, algorithms need to be redesigned to achieve optimal performance bounds in the binary-forking model and the non-constant synchronization cost makes the task challenging. Zafar Ahmad, Rezaul Alam Chowdhury, Rathish Das, Pramod Ganapathi, Aaron Gregory, Mohammad Mahdi Javanmard |
SPAA | 4 |
| 2021 | Fast Stencil Computations using Fast Fourier TransformsabstractStencil computations are widely used to simulate the change of state of physical systems across a multidimensional grid over multiple timesteps. The state-of-the-art techniques in this area fall into three groups: cache-aware tiled looping algorithms, cache-oblivious divide-and-conquer trapezoidal algorithms, and Krylov subspace methods. Zafar Ahmad, Rezaul Alam Chowdhury, Rathish Das, Pramod Ganapathi, Aaron Gregory, Yimin Zhu 0003 |
SPAA | 4 |
| 2019 | Toward efficient architecture-independent algorithms for dynamic programs: posterabstractRecursive divide-&-conquer algorithms are known for solving dynamic programming (DP) problems efficiently on shared-memory multicore machines. In this work, we extend them to run efficiently also on manycore GPUs and distributed-memory machines without changing their basic structure. Mohammad Mahdi Javanmard, Pramod Ganapathi, Rathish Das, Zafar Ahmad, Stephen L. Tschudi, Rezaul Alam Chowdhury |
PPoPP | 2 |
| 2018 | The range 1 query (R1Q) problem
Michael A. Bender, Rezaul Alam Chowdhury, Pramod Ganapathi, Samuel McCauley |
Theor. Comput. Sci. | 3 |
| 2017 | POSTER: Provably Efficient Scheduling of Cache-Oblivious Wavefront AlgorithmsabstractStandard cache-oblivious recursive divide-and-conquer algorithms for evaluating dynamic programming recurrences have optimal serial cache complexity but often have lower parallelism compared with iterative wavefront algorithms due to artificial dependencies among subtasks. Very recently cache-oblivious recursive wavefront (COW) algorithms have been introduced which do not have any artificial dependencies. Though COW algorithms are based on fork-join primitives, they extensively use atomic operations, and as a result, performance guarantees provided by state-of-the-art schedulers for programs with fork-join primitives do not apply. Rezaul Alam Chowdhury, Pramod Ganapathi, Jesmin Jahan Tithi |
PPoPP | 2 |
| 2017 | Provably Efficient Scheduling of Cache-oblivious Wavefront AlgorithmsabstractIterative wavefront algorithms for evaluating dynamic programming recurrences exploit optimal parallelism but show poor cache performance. Tiled-iterative wavefront algorithms achieve optimal cache complexity and high parallelism but are cache-aware and hence are not portable and not cache-adaptive. On the other hand, standard cache-oblivious recursive divide-and-conquer algorithms have optimal serial cache complexity but often have low parallelism due to artificial dependencies among subtasks. Recently, we introduced cache-oblivious recursive wavefront (COW) algorithms, which do not have any artificial dependencies, but they are too complicated to develop, analyze, implement, and generalize. Though COW algorithms are based on fork-join primitives, they extensively use atomic operations for ensuring correctness, and as a result, performance guarantees (i.e., parallel running time and parallel cache complexity) provided by state-of-the-art schedulers (e.g., the randomized work-stealing scheduler) for programs with fork-join primitives do not apply. Also, extensive use of atomic locks may result in high overhead in implementation. Rezaul Alam Chowdhury, Pramod Ganapathi, Jesmin Jahan Tithi |
SPAA | 2 |
| 2016 | An Efficient Cache-oblivious Parallel Viterbi Algorithm
Rezaul Alam Chowdhury, Pramod Ganapathi, Vivek Pradhan, Jesmin Jahan Tithi |
Euro-Par | 2 |
| 2016 | The I/O Complexity of Computing Prime Tables
Michael A. Bender, Rezaul Alam Chowdhury, Alexander Conway 0001, Martin Farach-Colton, Pramod Ganapathi, Rob Johnson 0001, Samuel McCauley, Bertrand Simon 0001, Shikha Singh 0002 |
LATIN | 5 |
| 2016 | AUTOGEN: automatic discovery of cache-oblivious parallel recursive algorithms for solving dynamic programsabstractWe present AUTOGEN---an algorithm that for a wide class of dynamic programming (DP) problems automatically discovers highly efficient cache-oblivious parallel recursive divide-and-conquer algorithms from inefficient iterative descriptions of DP recurrences. AUTOGEN analyzes the set of DP table locations accessed by the iterative algorithm when run on a DP table of small size, and automatically identifies a recursive access pattern and a corresponding provably correct recursive algorithm for solving the DP recurrence. We use AUTOGEN to autodiscover efficient algorithms for several well-known problems. Our experimental results show that several autodiscovered algorithms significantly outperform parallel looping and tiled loop-based algorithms. Also these algorithms are less sensitive to fluctuations of memory and bandwidth compared with their looping counterparts, and their running times and energy profiles remain relatively more stable. To the best of our knowledge, AUTOGEN is the first algorithm that can automatically discover new nontrivial divide-and-conquer algorithms. Rezaul Alam Chowdhury, Pramod Ganapathi, Jesmin Jahan Tithi, Charles Bachmeier, Bradley C. Kuszmaul, Charles E. Leiserson, Armando Solar-Lezama |
PPoPP | 2 |
| 2015 | High-Performance Energy-Efficient Recursive Dynamic Programming with Matrix-Multiplication-Like Flexible KernelsabstractDynamic Programming (DP) problems arise in wide range of application areas spanning from logistics to computational biology. In this paper, we show how to obtain high-performing parallel implementations for a class of Problems by reducing them to highly utilizable flexible kernels through cache-oblivious recursive divide- and-conquer(CORDAC). We implement parallel CORDAC algorithms for four non-trivial DP problems, namely the parenthesization problem, Floyd-Warshall's all-pairs shortest path (FW-APSP), sequence alignment with general gap penalty (gap problem)and protein accordion folding. To the best of our knowledge our algorithms for protein accordion folding and the gap problem are novel. All four algorithms have asymptotically optimal cache performance, and all but FW-APSP have asymptotically more parallelism than their looping counterparts. We show that the base cases of our CORDAC algorithms are predominantly matrix-multiplication-like (MM-like) flexible kernels that expose many optimization opportunities not offered by traditional looping DP codes. As a result, one can obtain highly efficient DP implementations by optimizing those flexible kernels only. Our implementations achieve 5 -- 150× speedup over their standard loop based DP counterparts while consuming order-of-magnitude less energy on modern multicore machines with 16 -- 32 cores. We also compareour implementations with parallel tiled codes generated by existing polyhedral compilers: Polly, PoCC and PLuTo, and show that our implementations run significantly faster. Finally, we present results on manicures (Intel Xeon Phi) and clusters of multicores obtained using simple extensions for SIMD and shared-distributed-shared-memory architectures, respectively, demonstrating the versatility of our approach. Our optimization approach is highly systematic and suitable for automation. Jesmin Jahan Tithi, Pramod Ganapathi, Aakrati Talati, Sonal Aggarwal, Rezaul Alam Chowdhury |
IPDPS | 2 |
| 2015 | Cache-oblivious wavefront: improving parallelism of recursive dynamic programming algorithms without losing cache-efficiencyabstractState-of-the-art cache-oblivious parallel algorithms for dynamic programming (DP) problems usually guarantee asymptotically optimal cache performance without any tuning of cache parameters, but they often fail to exploit the theoretically best parallelism at the same time. While these algorithms achieve cache-optimality through the use of a recursive divide-and-conquer (DAC) strategy, scheduling tasks at the granularity of task dependency introduces artificial dependencies in addition to those arising from the defining recurrence equations. We removed the artificial dependency by scheduling tasks ready for execution as soon as all its real dependency constraints are satisfied, while preserving the cache-optimality by inheriting the DAC strategy. We applied our approach to a set of widely known dynamic programming problems, such as Floyd-Warshall's All-Pairs Shortest Paths, Stencil, and LCS. Theoretical analyses show that our techniques improve the span of 2-way DAC-based Floyd Warshall's algorithm on an $n$ node graph from $Thn^2n$ to $Thn$, stencil computations on a $d$-dimensional hypercubic grid of width $w$ for $h$ time steps from $Th(d^2 h) w^ (d+2) - 1$ to $Thh$, and LCS on two sequences of length $n$ each from $Thn^_2 3$ to $Thn$. In each case, the total work and cache complexity remain asymptotically optimal. Experimental measurements exhibit a $3$ - $5$ times improvement in absolute running time, $10$ - $20$ times improvement in burdened span by Cilkview, and approximately the same L1/L2 cache misses by PAPI. Ronghui You, Haibin Kan, Jesmin Jahan Tithi, Pramod Ganapathi, Rezaul Alam Chowdhury |
PPoPP | 5 |
| 2014 | The Range 1 Query (R1Q) Problem
Michael A. Bender, Rezaul Alam Chowdhury, Pramod Ganapathi, Samuel McCauley |
COCOON | 3 |