Instructor: Keshav Pingali (pingali@cs.utexas.edu)
Office hours: Tuesday 3-4PM in POB 4.126
TA: Sridhar Gopinath (sridhar@cs.utexas.edu)
Office hours: Thursday 3:00 to 4:00 PM at GDC 5.728C
Assignments link
Projects
Canvas link for assignment submissions and grades
Course
Description
The objective of the course is to
study and master advanced techniques for program analysis and optimization on
multicore and manycore processors. This semester, our focus is on
optimizing machine learning programs for parallel platforms, and on exploiting
machine learning to optimize programs.
A detailed breakdown of topics is the following.
·
The
first one-fourth of the course is a fast recap of classical compiler topics
including syntax analysis, intraprocedural and intraprocedural dataflow
analysis, and optimization techniques for uniprocessors.
·
The
second one-fourth of the course covers analysis techniques like dependence and
points-to analysis, and transformations such as loop and data reorganization
for optimizing performance on multicore and manycore processors.
·
The
last half of the course consists of presentations by students of papers in two
areas: (i) optimizing machine learning applications for parallel platforms, and
(ii) exploiting machine learning to optimize programs for any platform. The
goal is to address some of the questions raised in this blog
post.
Prerequisites
An undergraduate compiler
course or permission of instructor. Programming experience in the context of a
larger system is helpful because some of the programming assignments require
the use of the LLVM infrastructure.
Coursework
In the first half of the
course, students will do written and programming assignments. There will be one
mid-semester exam. In the second half of the course, students will present
papers and do a final project. There may be a final exam at the discretion of
the instructor. Your course grade will depend on your performance in the
assignments (30%), class presentations and participation (15%), mid-semester
exam (15%) and final project/exam (40%).
Academic
honesty policy
You may discuss concepts with
classmates, but all written work and programming assignments must be your own or
your project team's work when teamwork is permitted. You may not search
online for existing implementations of algorithms related to the programming
assignments, even as a reference. Students caught cheating will automatically
fail the course and will be reported to the university. If in doubt about the
ethics of any particular action, talk to the instructor or the TA
Notice
about students with disabilities
The University of Texas at
Austin provides upon request appropriate academic accommodations for qualified
students with disabilities. For more information, contact the Division of
Diversity and Community Engagement — Services for Students with Disabilities at
512-471-6529.