Assignments
See the late assignment policy on the syllabus page
There will be about eight assignments. All assignments must be submitted
through the Checkin tab. The system accepts a single file, so multiple files
may have to be tar-ed up. For written assignments, the submitted file may be
scanned in with a scanner/photocopier, or from a camera, but pdf format is
preferred. By default, assignments are due at the
start of class on
the specified date (or at the time specified in the assignment). If the time
is not specified, the deadline is midnight at the end of the due date).
- Writing
Hints/Guidelines:
- HW0: [Modified
after first class. Since few people have parallelization experience, I
would like everyone to do the Ooption A.]
- Option A If you have a more parallel programming (CS)
background, you will be asked to optimize by hand, a simple code
kernel, to measure the performance and write a report about your
observations, and the answer a few simple questions.
Due Tuesday Sept 1.
- HW1: Review of parallel programming Please note that parallel
programming is a prerequisite of this class, but it is not enforced.
There may be students that do not have this background, but they are
expected to acquire this by the fifth week of class. As graduate students
that may have chosen to take this class without the prerequisite, I trust
that you are also mature enough to do this review independnetly.
The purpose of HW1 is for you to review parallel programming in
OpenMP (and, if you intend to do your project on GPUs, in CUDA as well).
This semester we have access to a small pool of Intel Xeon-Phi
accelerators, for which OpenMP plus additional accelerator-specific
directives are useful. We
found training/tutorial
material offered arranged by Colfax Research to be useful and
valuable. Please follow this or some similar training (e.g., the material
in CS 475) at your own pace, and submit via Checkin a short report HW1.pdf
that describes what you did.
Due Thursday Oct 08.
- HW2: Foundations of the polyhedral
model. Representation of polyhedra, and affine functions.
Operations on these mathematical objects: intersection, union, image,
preimage.
Due Thursday Sept 10.
- HW3: Advanced
foundations. Derive by hand, a simple, so called "systolic"
parallelization to implement a sorting SURE. You should be able to (i)
figure out a legal schedule and processor allocation, (2) use that to
build a CoB, (3) and apply the CoB to he SURE and rewrite the new SURE.
Due Thursday, Sept 24.
- HW4: Code generation using
Fourier-Motzkin elimination. Using tools to perform the previous
operations.
Due Thursday Oct 1 (no late submissions accepted on this one, since
the solution will be dicsussed for MT review).
- Midterm is on Oct 6
- HW5: Alpha and AlphaZ. Using tools to perform all tasks from the the
previous assignments.
Due Tuesday Oct 20.
What you should submit is a single tar file that contains your Alpha
source files (.ab) and a single command script (.cs). Please either
write your observations/report as a separate .pdf file, or in the
command script file itself, in the form of comments.
- HW6: Generating scheduled codes
in AlphaZ
Due Thursday Oct 29.
- Project interim report is due Nov 12
- HW7: Scheduling and Tiling.
Due Thursday Nov 19 (assignment
emailed to students).
- HW8: Advanced code generation using AlphaZ
Due Tuesday Dec 8
(assignment emailed to students).