Pramod Ganapathi
Pramod Ganapathi
Research Assistant Professor

Department of Computer Science
Room 105
Stony Brook, NY 11794-2424

Phone
631-632-1728
Email
pramod.ganapathi [at] cs.stonybrook.edu
Interests
Counterintuitive Mathematical Puzzles, Algorithms to Discover Algorithms, Algorithm Design Techniques, Parallel Algorithms, Cache-Efficient Algorithms
Biography

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.

Research

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 the patterns/templates/structures underlying algorithm design techniques,
  2. understanding counterintuitive mathematical puzzles, and
  3. designing highly efficient algorithms for matrix-based problems.
Teaching Summary
CSE/ISE 102, CSE 214, CSE 215, CSE 303, CSE 350, CSE 582, CSE 595 (Algorithmic Problem-Solving)