course number |
instructor |
title |
CS 6304 |
C Jung |
Advanced Topics in Languages & Translators |
This course will explore advanced topics in compilers and computer
architecture whose synergy can enhance both capabilities and
efficiency of computing systems, with a focus on performance,
reliability, and security.
The goal is to understand the state-of-the-art, to learn basic
concepts and mechanisms for compiler-architecture interaction,
and to identify new ideas for advancing the state-of-the-art.
On the compilation side, the possible topics include program
analysis, program transformation, and the interaction between
the compiler and the rest of the system.
On the architecture side, the possible topics include processor
micro-architecture, memory hierarchy, multi-threading, and the impact
of emerging hardware trends such as nonvolatile memory (a.k.a. persistent
memory).
Any hands-on compilers/architecture experience, e.g., LLVM and Gem5,
will definitely help, but I will not assume this prior knowledge. You will be
expected to complete a major project using a compiler framework or an
architecture simulator framework. Since the frameworks are mostly written in
C/C++, students should be familiar with the language features.