Course Information

CS 421: Parallel Programming Paradigms

Motivation for parallel computing

Current many-core, multi-core, heterogeneous computers: architecture

Analytical modeling of parallel programs

Basics of current programming models for computation in parallel with C or C++ (examples: pthreads, OpenMP, MPI, CUDA)

Basics of Java based parallel computing and Cloud Computing: (examples: Java 8 Map Reduce, Java Streams)

Implementation of classic and instructive algorithms using MPI,

OpenMP, and CUDA (examples: prefix sums, sorting, matrix multiplication, random numbers, image filtering, convex hulls)

Implementation of selected scientific algorithms using MPI, OpenMP, and CUDA (examples: differential equations, numerical linear algebra, Monte-carlo methods, fast fourier transform)

Implementation of selected graph algorithms using MPI, OpenMP, and CUDA (examples: minimum spanning tree, shortest paths, search)

Selected Industry or Government case studies (examples: Multithreading for
Visual Effects, Computational Biology, Molecular Dynamics, Big Data)

Central concepts in selected topics: Use of GPUs for Deep Learning, Automatic parallelization, Bulk Synchronous Parallel Abstract Machine

Will be provided on web page.
Home Page


CS101, CS213 or equivalent.Courses that are not enforced but exposure required: CS 347 or equivalent, CS 305 or equivalent
Other Details

Duration : Full Semester Total Credit : 6
Type : Theory
Current Semester (Autumn 2017-18)

Status : Not Offered Instructor : ---
Next Semester (Spring 2017-18)

Status : Offered Instructor : Prof. Sharat Chandran

Last Modified Date: 09-May-2016


Faculty CSE IT
Forgot Password
    [+] Sitemap     Feedback