Quarter
Course Type
Course Area
Systems
Enrollment Code
57257
Location
Phelp 2510
Units
4
Day and Time
TR 3:00 - 4:50
Course Description

With the increasing diversity and complexity of modern computers and irregular applications from domains like graphics, social networks, and data mining, the development of efficient, reliable software has become increasingly dependent on automatic support from compilers and other program analysis and translation tools. This course covers principal topics in programming languages and compiler technology for program understanding, optimization, and parallelization.
In particular, it will include topics like compiler optimization techniques (e.g., data flow analysis, redundancy elimination dependence theory), parallelism and locality in algorithms, memory hierarchies and locality exploitation, (Speculative) parallelization, and GPU optimization.