課程名稱 |
高等編譯器設計 Advanced Compiler Design |
開課學期 |
104-2 |
授課對象 |
電機資訊學院 資訊工程學研究所 |
授課教師 |
徐慰中 |
課號 |
CSIE5054 |
課程識別碼 |
922 U1220 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期一A,B,C(18:25~21:05) |
上課地點 |
資107 |
備註 |
外校生修課,需先email取得授課教師同意,使得修課。 總人數上限:50人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1042CSIE5054_ |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
http://www.csie.ntu.edu.tw/~hsuwc/ |
課程目標 |
|
課程要求 |
|
預期每週課後學習時數 |
|
Office Hours |
|
指定閱讀 |
|
參考書目 |
|
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
Week 1 |
2/22 |
Introduction |
Week 2 |
2/29 |
Holiday |
Week 3 |
3/07 |
LLVM, LLVM IR, API |
Week 4 |
3/14 |
Basic optimizations: redundancy elimination, DCE, copy propagation |
Week 4 |
2017/03/05 |
Traditional optimizations |
Week 5 |
3/21 |
Register Allocation |
Week 6 |
3/28 |
Instruction Scheduling |
Week 7 |
4/04 |
Holiday |
Week 8 |
4/11 |
Instruction scheduling:
Control and data speculative loads,
Superblocks and hyperblocks,
loop unrolling and software pipelining
|
Week 9 |
4/18 |
Data Flow Analysis (Chapter 9) |
Week 10 |
4/25 |
Mid-term Exam
|
Week 11 |
5/02 |
Auto-Vectorization |
Week 12 |
5/09 |
TLP and DLP
Cache Prefetching (Chapter 11)
|
Week 13 |
5/16 |
Iteration space, Polyhedral model, data reuse, data dependence tests (Chapter 11) |
Week 14 |
5/23 |
Data Reuse and Data Dependence |
Week 15 |
5/30 |
Guest Speaker (Skymizer CTO)
|
Week 16 |
6/06 |
GPGPU Compiler Optimizations |
Week 17 |
6/13 |
Machine learning guided compiler optimization |
Week 18 |
6/20 |
Final Exam |
|