EECS 583: Homework Assignments

Fall 2018

Home / announcements | Course syllabus | Reading list |
Schedule | Lecture Notes | Homeworks | Links

Homework 0

Assigned Sep 5, 2018 ; Due Sep 12, 2018

A. Download and install LLVM on your favorite Linux system. We'll use version 6.0.1, which is the latest version for regular download. You should download and build the LLVM sources, but can use prebuilt binaries for the rest. See http://www.llvm.org. Browse this website to familiarize yourself with what resources are available.

B. Skim over the following LLVM documentation,

C. Go through writing a pass tutorial: Writing a Pass

Homework 1

Assigned Sep 12, 2018 ; Due Sep 24, 2018(11:59:59pm)pdf

Additional materials: Note the HW1 links below are only accessible from umich.edu computers

Benchmarks (gzip'd tarball consisting of benchmark source code, input for profiling, and correct output; Note these are the updated files to support profiling in Clang and are consistent with those provided by Ze on piazza): 583simple.tgz, 583wc.tgz, 583compress.tgz

Homework 2

Assigned Sep 26, 2018; Due Oct 12, 2018 (11:59pm)pdf

Additional materials: 2 sets of benchmarks are provided: correctness and performance. Correctness benchmarks are designed to help you test and debug your implementation, but are too small to notice any performance change with optimization. Performance benchmarks have high trip count loops to assess performance of your optimization. Some performance improvement should be observed particularly with the Bonus Implementation. See the 2 README files for more info about each group of benchmarks.

The second tgz file contains an implementation template to get you started including all the necessary files to build the template optimization pass. In addition, the file run.sh is provided that provides a list of the LLVM commands used in HW2.

Last, some slides that go over the implementation template and steps in more detail are provided. Ze will present these Monday Oct 1 in class.

Benchmarks - 583-HW2bench.tgz

Implementation template - 583-HW2template.tgz

Slides to help with template - fplicm_hw2.pptx


Home / announcements | Course syllabus | Reading list |
Schedule | Lecture Notes | Homeworks | Links