EECS 583: Homework Assignments

Fall 2019

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

Homework 0

Assigned Sep 4, 2019 ; Due Sep 11, 2019

A. Download and install LLVM on your favorite Linux system. We'll use version 8.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 11, 2019 ; Due Sep 20, 2019(11:59:59pm)pdf

Additional materials: Note the HW1 links below are only accessible from umich.edu computers. This restriction is no longer in place since it makes access difficult from home, so the benchmarks should be accessible anywhere.

Benchmarks (gzip'd tarball consisting of benchmark source code, input for profiling, and correct output): 583simple.tgz, 583wc.tgz, 583compress.tgz

Homework 2

Assigned Sep 25, 2019; Due Oct 16, 2019 (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. Sung presented these Monday Sep 23 in class.

Benchmarks - F19_EECS583_HW2Bench.tar.gz

Implementation template - F19_EECS583_HW2Template.tar.gz

Slides to help with template - See second set of ppt/pdf files for Lecture 6


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