CS553: Algorithmic Language Compilers (Compilers for High-Performance Program Generation)

csu-logo
red-line
[Syllabus] [Grading] [Topics] [Assignments] [Home]

Spring 2024
CS553 Compilers for High-Performance Program Generation (currently listed as "Algorithmic Language Compilers") is a graduate class on using effectively modern optimizing compilers. The objective are twofold: learn how (and why) to write optimizable code, to best use the existing tools such as GNU GCC, LLVM or Intel ICC for generating high-performance code; and learn some key concepts in optimizing compilers, such as loop transformations for SIMD vectorization, to better understand the limitations of existing toolchains, and when manual code optimization should be implemented instead of relying on existing tools.
CS553 is geared towards graduate students. However, no prerequesite is needed.

Course Objectives
By the end of the course, students should:

  1. Know key optimizations for performance implemented in current production compilers, such as SIMD vectorization and auto-parallelization
  2. Know how to write optimizable C code, especially regarding how to use pointers without breaking the compiler's optimization
  3. Be autonomous in finding tools to assist with the generation of high-performance code

Past classes: CS553: Fall 2018, CS553: Spring 2020, CS553: Spring 2021 CS553: Spring 2022

Prerequisites
There is no explicit prerequesite for this course: material will be introduced as needed. However having passed CSU's CS453 introduction to compiler construction is a plus. Some basic skills on C programming are needed: most of the examples and exercises will be in C/C++.

Course material
All communications and distribution of material (lecture slides, project assignments, sample exams, etc.) are made available exclusively via the Piazza website for the class. The website is not accessible to the general public, if you wish to look at the material prior to deciding to enroll in CS553 contact Louis-Noel Pouchet directly.


Instructor Lecture Coordinates
 

Louis-Noel Pouchet
Office: Room 346, Computer Science
Office Hours: on request
E-mail: pouchet {AT} colostate.edu


 

Lectures: 12:30pm-1:45pm Tuesdays and Thursdays, CS130


Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2018 Colorado State University