Assignments will be posted here during the course of the semester as
they are made available to the class.
Project
Labs
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
Tasks.
- 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.
Discussions
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.
Programming Assignments
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
class.
- 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
Checkin Submission guidelines:
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.