Assignments will be posted here during the course of the semester as
they are made available to the class.
Labs serve two purposes. First, it is where you gather some (possibly
preliminary) data, typically by doing some hands-on programming work. This
provides input to the discussion. Second, labs are also the place where
you can get hands-on help with programming assignments.
- Lab 1:OpenMP, Mandelbrot: plotting time, speedup, and efficiency, scheduling.
- Lab 3:OpenMP
- Lab 4:Perfermance Evaluation, Plotting
- Lab 5:Wavefront Parallelization.
- Lab 6:Getting Started with MPI.
- Lab 7:Iso-efficiency.
- Lab 8:
Introduction to GPU and CUDA: coalescing.
All discussions will be conducted in Piazza. Typically, discussions will
follow a lab. All members in a dicussion group will discuss the results
and observations they took in the lab. The entire group will then
collaboratively write up a single group report and publish it on Piazza.
- Discussion 0: Form groups, create group names. Due 8:00 AM Mon, Aug 28.
- Discussion 1: OpenMP: plotting
time, speedup and efficiency. Scheduling. Due 8:00 AM Thu, Sep 7.
- Discussion 3: OpenMP OpenMP Tasking. Due 8:00 AM Mon, Sep 18.
- Discussion 4: Performance Evaluation. Due 8:00 AM Mon, Oct 9.
- Discussion 5: Wavefront Parallelization. Due 8:00 AM Mon, Oct 23.
- Discussion 7: Iso Efficiency. Due 8:00 AM Mon, Nov 13.
- Discussion 8 CUDA Coalescing. Due 8:00 AM Mon, Dec 04.
You will do most of your learning through the programming assignments.
there will be six assignments, roughly one every couple of weeks. There
will be no assignments in the week of the midterm and the last week of
Checkin Submission guidelines:
- PA1: Parallelization in
OpenMP. Due September 13. 11:59 PM
- PA2: Sequential and
OpenMP Prime Sieve. Due September 28. 11.59 PM
- PA3: Knapsack DP in
OpenMP. Due Thursday October 26. 11.59 PM
- PA4: JacMPI:
computation vs communication. Due Nov 9, 11:59 pm
- PA5: CUDA first steps.
Due Nov 30, 11:59PM
- Extra Credit PA6:
Matrix Chain Multiply, Due Dec 8, 11:59 pm
There are two ways to submit either through website
or the Checkin program
(example: ~cs475/bin/checkin PA1 PA1.tar). It is recommended to use the website method because the Preliminary Testing is available only for it.