Main Navigation
Apply Now Request Info


Loading...

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.

Prerequisite

CS 250/CS 280A1 (Computer Systems Foundations) or CS 270 (Computer Organization); CS 320 (Algorithms--Theory and Practice); CT 301 (C++ Fundamentals); Prerequisite course(s) must be completed with a grade of C 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.

Instructors

Sanjay Rajopadhye
Sanjay Rajopadhye

9704917323 | 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.