高階合成技術於應用加速
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
• Application Acceleration Development Flow • Introduction to PYNQ & Lab2 • Vitis OpenCL XRT and Lab3
Basic Design Concept and HLS
• From Logic Gate to HLS • Introduction to High Level Synthesis
FPGA Introduction (Xilinx)
• Introduction to FPGA • FPGA – CLB • FPGA – Memory • FPGA – DSP • FPGA – Interconnect
Concept of System Performance and Optimization
• System Performance - Host • System Performance - Kernel
Coding Style
• Memory Architecture • Structure Design • Hierarchical Design
HLS Optimization Techniques
• Introduction to High Level Synthesis • Kernel IO Interface • Kernel Optimization – Pipeline & Dataflow • Data Type
Design Examples and Application
• Design Examples • Application Cases
Special topics
• From AI to Gate – FINN • HLS RISC-V • Accelerated Algorithmic Trading – Xilinx AAT
Lab/Project Resources
• Lab Platform o PYNQ-Z2 - Embedded System o U50 (PCIe) – Cloud Application (Linux) • Lab Group#1 – Platform / Tool Setup o Lab#1 – Tools Installation and implementation flow, includingVivado-HLS, Vivado Design Suite, Vitis IDE/Makefile, PYNQ-Z2 o Lab#2 – Application Acceleration for Embedded System – PYNQ-Z2 o Lab#3 – Application Acceleration for Cloud Environment – U50 with Vitis & XRT • Lab Group#2 – Advanced Tool Usage, Kernel Optimization, SW/HW Co-design o Lab#A – ug871 – Basic HLS, Tool Usage, Analysis o Lab#B – Vitis Tutorial – System Design Issues, HLS optimization o Lab#C – Vitis Library – SW/HW co-design • Lab Group#3 – Application cases o Lab#D – FINN o Lab#E – HLS RISC-V (optional) o Lab#F – Accelerated Algorithmic Trading (optional)
• Final Projects
Upon completion of the course, students will be able to (1) use HLS tools to design complex digital circuit (2) Independently analyze and optimize the design (3) Independently research on specific application area, evaluate and use open-source resource to develop end-to-end application acceleration (4) Collaborate with other members in a small team to develop a solution for an application acceleration.
| 週次 | 主題 |
|---|---|
| 第 0 週 | Tool Installation & Questionnaire form (上課時間將修改為W678,週三下午14:20-17:20) 2022/207(三)-ED417 |
| 第 1 週 | HLS Introduction & Course Plan From Logic Gate to HLS (上課時間將修改為W678,週三下午14:20-17:20) 2022/2/16(三)-ED417 |
| 第 2 週 | Introduction PYNQ & Lab2 Introduction to HLS (上課時間將修改為W678,週三下午14:20-17:20) 2022/2/23(三)-ED417 |
| 第 3 週 | Vitis OpenCL XRT and Lab3 Introduction to FPGA - CLB, Memory, DSP, Interconnect (上課時間將修改為W678,週三下午14:20-17:20) 2022/3/2(三)-ED417 |
| 第 4 週 | Vitis Development Flow Kernel IO Interface (上課時間將修改為W678,週三下午14:20-17:20) 2022/3/9(三)-ED417 |
| 第 5 週 | Kernel Optimization - Pipeline Kernel Optimization - Dataflow (上課時間將修改為W678,週三下午14:20-17:20) 2022/3/16(三)-ED417 |
| 第 6 週 | Structure Design Hierarchical Design (上課時間將修改為W678,週三下午14:20-17:20) 2022/3/23(三)-ED417 |
| 第 7 週 | Presentation Lab#A, Lab#B Data Type (上課時間將修改為W678,週三下午14:20-17:20) 2022/3/30(三)-ED417 |
| 第 8 週 | Midterm Exam (上課時間將修改為W678,週三下午14:20-17:20) 2022/4/6(三)-ED417 |
| 第 9 週 | From AI to Gate - I (上課時間將修改為W678,週三下午14:20-17:20) 2022/4/13(三)-ED417 |
| 第 10 週 | Lab#C - Vitis Library (selected) (上課時間將修改為W678,週三下午14:20-17:20) 2022/4/20(三)-ED417 |
| 第 11 週 | From AI to Gate - II (上課時間將修改為W678,週三下午14:20-17:20) 2022/4/27(三)-ED417 |
| 第 12 週 | RISC-V (上課時間將修改為W678,週三下午14:20-17:20) 2022/5/4(三)-ED417 |
| 第 13 週 | AAT / AIOT (Composable Pipeline) (上課時間將修改為W678,週三下午14:20-17:20) 2022/5/11(三)-ED417 |
| 第 14 週 | Memory Architecture Application Acceleration Best Practice (上課時間將修改為W678,週三下午14:20-17:20) 2022/5/18(三)-ED417 |
| 第 15 週 | Final Project Proposal (all) (上課時間將修改為W678,週三下午14:20-17:20) 2022/5/25(三)-ED417 |
| 第 16 週 | Application Acceleration Architecture Design Examples (上課時間將修改為W678,週三下午14:20-17:20) 2022/6/1(三)-ED417 |
| 第 17 週 | TBD: Application Examples (上課時間將修改為W678,週三下午14:20-17:20) 2022/6/8(三)-ED417 |
| 第 18 週 | Final Exam Week - Final Project Presentation 6/20 (grade for graduate) (上課時間將修改為W678,週三下午14:20-17:20) 2022/6/15(三)-ED417 |
| 第 19 週 | Final Project Presentation (all) (上課時間將修改為W678,週三下午14:20-17:20) 2022/6/22(三)-ED417 |
• 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
- 地點
- 教師未提供此項資料
- 時間
- 教師未提供此項資料
- 聯絡方式
- 教師未提供此項資料
