CS 475 - Parallel Programming

Parallel programming techniques for shared-memory and message-passing systems; process synchronization, communication; example languages. Programming in C with MPI OpenMP.

This course can be applied toward:


CS 370 (System Architecture and Software) with a C [2.0] or better.

Important Information

Software/Hardware requirements: Reliable access to the Internet and email access to computer for lessons and programming assignments.

Textbooks and Materials

See https://www.cs.colostate.edu/~cs475 for detailed course information and required textbooks.


Sanjay Rajopadhye
Sanjay Rajopadhye

(970) 491-7323 | sanjay.rajopadhye@colostate.edu

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.