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.]
    1. 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).