Pramod Ganapathi

Pramod Ganapathi
Pramod Ganapathi
Research Assistant Professor

Department of Computer Science
Stony Brook University
Room 105, New Computer Science Building
100 Nicolls Road, Stony Brook 11794-2424
New York, USA

pramod.ganapathi [at]


Mathematical and Algorithmic Puzzles, Algorithms to Discover Algorithms, Algorithm Design Techniques, Parallel Algorithms, Cache-Efficient Algorithms


Pramod Ganapathi is a Research Assistant Professor in the Department of Computer Science at Stony Brook University (SBU). Prior to joining SBU, he was an Assistant Professor at the Indian Institute of Technology, Indore. Prior to joining IIT, he founded and ran an animation-based online higher education startup called "Learning is Beautiful", in India. Prior to founding his startup, he received his Ph.D. in computer science at SBU, specializing in parallel algorithms. His Ph.D. work is entitled "Automatic Discovery of Efficient Divide-and-Conquer Algorithms for Dynamic Programming Problems" and was supervised by Prof. Rezaul A. Chowdhury. Before pursuing Ph.D., he was a Software Engineer at IBM India Software Labs.


Pramod Ganapathi was previously involved in designing algorithms/frameworks such as Autogen, Autogen-Wave, and Autogen-Fractile that can automatically/semi-automatically discover correct, nontrivial, efficient algorithms for a wide class of dynamic programming problems. The algorithms take as input iterative algorithms and output nontrivial recursive divide-and-conquer algorithms. The auto-discovered recursive divide-and-conquer algorithms are efficient (highly parallel, communication-efficient, energy-efficient) and portable (cache-oblivious, processor-oblivious, cache-adaptive, processor-adaptive). The algorithmic frameworks can be easily adapted to discover algorithms for several architectures such as multicores, GPUs, and multidimensional grids/meshes of nodes.

Pramod Ganapathi is currently involved in:

  1. understanding counterintuitive mathematical and algorithmic puzzles,
  2. understanding the patterns/templates/structures underlying algorithm design techniques, and
  3. designing highly efficient algorithms for matrix-based problems.

Teaching Summary

SBU 102, CSE/ISE 102, CSE 214, CSE 215, CSE 303, CSE 350, CSE 373, CSE 582, CSE 595 (Algorithmic Problem-Solving)