高階合成技術於應用加速
Application Acceleration with High-Level-Synthesis
| 節 | 週三 |
|---|---|
6 14:20–15:10 | 高階合成技術於應用加速 ED417B 3 節連堂 |
7 15:30–16:20 | |
8 16:30–17:20 |
* 根據陽明交大上課時間表所列
(上課時間將修改為W678,週三下午14:20-17:20) 隨著設計週期的加快和應用驅動業務的發展,在ICT行業中,產品開發流程的典範移轉,已從以硬件設計為中心,轉變為以軟件應用程序導向的趨勢,並進一步由通過特殊硬件加速運算,來實現差異化的價值。 鑒於當前台灣IC設計理念仍停留在傳統的RTL設計,並且缺乏軟硬體整合的系統效能觀念。本課程“高階合成技術於應用加速”,使用一般開發應用程式的語言(C/C++),配合高階合成工具(Xilinx Vivida HLS),以設計出符合特殊需求的應用加速器,在現今需求龐大的機器學習、人工智慧,及運算科學(Computational Science)之運算上,皆能提供即時有效的解決方案。 本課程系統性的介紹設計觀念,工具使用,實驗課程,提供工程師基本開發能力。並提供業界開源資源,可以用來開發各種應用加速器方案。實驗課程使用兩種平台,一種是用於Edge端的嵌入式平台(Pynq),一種適用於雲端的 PCIe 加速卡 後續視需求提供進階專案討論課程,以實現應用加速器於各種智能解決方案。期待提升台灣產業的競爭力。
• Knowledge of C/C++ • The basic concept of digital logic, computer architecture • Knowledge of algorithms, and data structures • Experiences with RTL design for ASIC or FPGA would be helpful, but not required
(上課時間將修改為W678,週三下午14:20-17:20) 課程說明(Course Description) 隨著設計週期的加快和應用驅動業務的發展,在ICT行業中,產品開發流程的典範移轉,已從以硬件設計為中心,轉變為以軟件應用程序導向的趨勢,並進一步由通過特殊硬件加速運算,來實現差異化的價值。 鑒於當前台灣IC設計理念仍停留在傳統的RTL設計,並且缺乏軟硬體整合的系統效能觀念。本課程“高階合成技術於應用加速”,使用一般開發應用程式的語言(C/C++),配合高階合成工具(Xilinx Vivida HLS),以設計出符合特殊需求的應用加速器,在現今需求龐大的機器學習、人工智慧,及運算科學(Computational Science)之運算上,皆能提供即時有效的解決方案。 本課程系統性的介紹設計觀念,工具使用,實驗課程,提供工程師基本開發能力。並提供業界開源資源,可以用來開發各種應用加速器方案。實驗課程使用兩種平台,一種是用於Edge端的嵌入式平台(Pynq),一種適用於雲端的 PCIe 加速卡 後續視需求提供進階專案討論課程,以實現應用加速器於各種智能解決方案。期待提升台灣產業的競爭力。
• 作業/實驗:40% • 課堂考試:20 % • 上台口頭報告:10% • 分組期末專題:30%
- Tools & Platform
- Basic Design Concept and HLS
- FPGA Introduction (Xilinx)
- Concept of System Performance and Optimization
- Coding Style
- HLS Optimization Techniques
- Design Examples and Application
- Special topics
- Lab/Project Resources
- • Final Projects
| 週次 | 主題 |
|---|---|
| 第 0 週 | Tool Installation & Questionnaire form (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 1 週 | HLS Introduction & Course Plan From Logic Gate to HLS (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 2 週 | Introduction PYNQ & Lab2 Introduction to HLS (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 3 週 | Vitis OpenCL XRT and Lab3 Introduction to FPGA - CLB, Memory, DSP, Interconnect (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 4 週 | Vitis Development Flow Kernel IO Interface (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 5 週 | Kernel Optimization - Pipeline Kernel Optimization - Dataflow (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 6 週 | Structure Design Hierarchical Design (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 7 週 | Presentation Lab#A, Lab#B Data Type (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 8 週 | Midterm Exam (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 9 週 | From AI to Gate - I (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 10 週 | Lab#C - Vitis Library (selected) (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 11 週 | From AI to Gate - II (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 12 週 | RISC-V (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 13 週 | AAT / AIOT (Composable Pipeline) (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 14 週 | Memory Architecture Application Acceleration Best Practice (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 15 週 | Final Project Proposal (all) (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 16 週 | Application Acceleration Architecture Design Examples (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 17 週 | TBD: Application Examples (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 18 週 | Final Exam Week - Final Project Presentation 6/20 (grade for graduate) (上課時間將修改為W678,週三下午14:20-17:20) |
| 第 19 週 | Final Project Presentation (all) (上課時間將修改為W678,週三下午14:20-17:20) |
• HLS Textbook: https://www.boledu.org/textbooks/hls-textbook • Xilinx ug1399 Vitis High-Level Synthesis User Guide: https://docs.xilinx.com/r/en-US/ug1399-vitis-hls • Xilinx ug902: Vivado Design Suite User Guide: High-Level Synthesis, https://bit.ly/3x4r8mp