This is a graduate level course on parallel computing with the objective to familiarize students with the fundamental concepts, techniques and tools of parallel computing. Participation in this course will enable you to better use parallel computing in your application area, and will prepare you to take advanced courses in more specific areas of parallel computing.
Upon completion of this course you will;
- be able to understand and employ the fundamental concepts and mechanisms which form the basis of the design of parallel computation models and algorithms;
- be able to recognize problems and limitations to parallel systems, as well as possible solutions; and
- be familiar with some of the relevant papers in the area of parallel algorithms and systems, both current and classic.
CS 475 (Parallel Programming)
Sanjay Rajopadhye is Professor in the Computer Science Department. He also holds a joint appointment in the Electrical and Computer Engineering Department. He joined the faculty at CSU in 2001 and was previously a CNRS researcher at Irisa, Rennes, France, where he headed the COSI research group. Rajopadhye received the B. Tech (honors) degree in Electrical Engineering from the India Institute of Tech. , Kharagpur and a PhD in Computer Science from the University of Utah.
Rajopadhye’s interests cover parallel algorithms and architectures, embedded systems, functional programming, high performance computing on multi- and many-care architectures, automatic parallelization and optimization. He is one of the original developers of the polyhedral model, a formalism for reasoning about an important class of compute-and data-intensive programs. The model, originally developed in the context of automatic synthesis of systolic arrays from recurrence equations has found increasing application from compilation to multi- and many-core architectures.