週次 |
日期 |
單元主題 |
Week 1 |
2/27 |
Holiday |
Week 2 |
3/06 |
Introduction |
Week 3 |
3/13 |
LLVM: Introduction, IR, and API
(Guest Speaker) |
Week 4 |
3/20 |
Basic optimizations: redundancy elimination, DCE, copy propagation |
Week 5 |
3/27 |
Register Allocations |
Week 6 |
4/03 |
Holiday
|
Week 7 |
4/10 |
Instruction Scheduling:
List scheduling, global scheduling, ILP exploitation |
Week 8 |
4/17 |
Instruction scheduling:
Control and data speculative loads,
Superblocks and hyperblocks,
loop unrolling and software pipelining
|
Week 9 |
4/24 |
Mid-term Exam (open book/open notes) |
Week 10 |
5/01 |
Machine Independent Optimizations:
data flow analysis
(Chapter 9)
|
Week 11 |
5/08 |
DFA: Data Flow Analysis
|
Week 12 |
5/15 |
TLP and DLP
Cache Prefetching (Chapter 11)
|
Week 13 |
5/22 |
iteration space, polyhedral model, data reuse, data dependence tests |
Week 14 |
5/29 |
Introduction to OpenCL
POCL Kernel Compiler |
Week 15 |
6/05 |
Whole System Optimization
Link-time Optimizations
Data Prefetching
|
Week 16 |
6/12 |
Auto-Vectorization and
GPGPU Compiler Optimizations |
Week 17 |
6/19 |
Holiday |
Week 18 |
6/26 |
Final Exam |