Sanjay Rajopadhye

a picture of Sanjay Rajopadhye

Professor, Computer Science
Professor, (by courtesy) Electrical and Computer Engineering
Computer Science Graduate Director
Colorado State University
Office: CSB 340
Voice: (970) 491-7323
Fax: (970) 491-2466


Hello. I joined the faculty of the CS department , Colorado State University in fall 2001. I also hold a joint appointment in the Electrical and Computer Engineering Department. Previously, I was a CNRS researcher at Irisa, Rennes, France, where I headed the COSI research group. You may also view my old home page at Irisa. Before that, I was Assistant profesor in Oregon State University (1991-92) and at University of Oregon (1986-91). I received my Ph.D. from the University of Utah (1986), and my B. Tech (hons) from IIT Kharagpur (1980).

Research Interests:

My research is an amalgam (mélange, in French) of a number of topics in Computer Science and Engineering: programming laguages, algorithms, compilers, computer architecture, VLSI algorithms, embedded systems and FPGAs. With such a broad set of topics, I do not claim to be a generalist, rather I focus on a very particular view of the sub-discipline. This is called the polyhedral model, a mathemtical formalism that can be used to "reason about" in the most general sense a precise class of computations. I have been working on this model since its inception: my Ph.D. dissertation contributed to the establishement of the model.

My research group is called Mélange, and you will find more information at the Mélange wiki page. In adition, this brief research statement which is rather dated in motivation, but whose foundational ideas remain valid, will give you an idea of where I come from, and where I hope to go (it also has instructions for prospective students). Broadly speaking I'm interested in the following topics.

  • Systolic arrays
  • Embedded Systems
  • (co) Design of VLSI systems, systolic arrays
  • Functional Programming and Formal methods
  • Computer architecture
  • Mapping Algorithms to Architectures
  • Automatic Parallelization and tiling
  • Parallel Algorithms/Architectures (notably for the knapsack problem)