Subodh Kumar <subodh@cse.*>
With the growing number of cores on a chip, programming them efficiently has become an indispensable knowledge for the future. Modern Parallel Programming is a hands-on course involving significant parallel programming on compute-clusters, multi-core CPUs and massive-core GPUs.
Contents: Parallel performance metrics, Models of parallel computation, Parallel computer organization, Parallel programming environments, Load distribution, Throughput, Latency and Latency hiding, Memory and Data Organizations, Inter-process communication, Distributed memory architecture, Interconnection network and routing, Shared memory architecture, Memory consistency, Non-uniform memory, Parallel Algorithm techniques: Searching, Sorting, Prefix operations, Pointer Jumping, Divide-and-Conquer, Partitioning, Pipelining, Accelerated Cascading, Symmetry Breaking, Synchronization (Locked/Lock-free).
This means you must protect your code from access by others. Do not leave it where others can find it. Do not give it to someone for submission on your behalf. Do not use any fragment of code obtained online or from someone else, except what is explicitly authorised as a part of the course. When authorised, any non-original code that you do use must be clearly identified with due reference to the source. Falsifying program output or results is cheating also.
Please see your professor if there are any questions about what is
Students who are caught cheating will be given a 0 and a letter grade
penalty. Second violation will result in summary failure from the course.
Students who are caught cheating will be given a 0 and a letter grade penalty. Second violation will result in summary failure from the course.
|Assignment 1||10|| Due |
|Assignment 2||10|| Due |
|Assignment 3||10||Due Oct 6, 1159p.|
|Project||20||Due Nov 17, 1159p.|
Late Policy: A total of six days of late submission is allowed for the three assignments. Use them where you need them. Beyond six days, you lose 1 mark per day of delay.
Attendance Policy: 100% attendance is required. prior permission must be taken for any absence.
Audit Policy: A grade of C or better is required for Audit Pass.
Parallel Programming in C with MPI and OpenMP by M J Quinn Introduction to Parallel Computing by Ananth Grama, George Karypis, Vipin Kumar, and Anshul Gupta Programming Massively Parallel Processors by D. Kirk and W. Hwu