Welcome to the MICS 6001C - Custom Computing with FPGAs at HKUST(GZ), 2025 Fall
Course Information
- Instructor: Xinyu Chen
- TA: Chenyu Zhang, Tong Liu,
- Lectures:
- Time: Thursday 9:00am - 11:50am
- Location: Rm 202, E1
Course Description
Being able to customize hardware architecture to application’s exact needs, FPGA-based accelerators deliver better efficiency than general architectures such as CPUs. This course explores the latest advances in FPGA-based accelerators for computation-intensive applications. It covers FPGA architecture fundamentals, underlying structures, and key technologies for high-performance programming. Using C/C++ via HLS tools, the course aims to agile FPGA development. It showcases recent FPGA acceleration achievements across various domains, including DNNs. Learners will engage with multiple design examples, starting with basic designs and offering opportunities for further exploration. Optionally, this course will include accelerator/algorithm co-design, being an extremely important and promising research topic.
Course Schedule
| Week |
Date (Friday) |
Topics |
Paper Reading |
Recommended Readings |
| Week 1 |
Sept 4 |
1. Course Introduction |
|
|
- Domain Specific Architectures | | Domain-specific hardware accelerators. Communications of the ACM 2020.
Tpu v4: An optically reconfigurable supercomputer for machine learning with hardware support for embeddings. ISCA, 2023 |
| Week 2 | Sept 11 | 1. FPGA Architecture
- Hardware Programming Languages | | Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology, Proceedings of the IEEE, 2015 |
| Week 3 | Sept 18 | 1. HLS Overview
- Vitis HLS Tutorial (Bring your laptop) | | FPGA HLS today: successes, challenges, and opportunities. TRETS, 2022. |
| Week 4 | Sept 25 | Project Kickoff Presentation
(Topic; Preliminary results; Plan) | | TAPA: a scalable task-parallel dataflow programming framework for modern FPGAs with co-optimization of HLS and physical design. TRETS, 2023. |
| Week 5 | Oct 2 | National Day Holiday (No Class) | | |
| Week 6 | Oct 9 | 1. Loops and Optimizations in HLS
- Memory and Streaming in HLS | 1 pre. | Stream-HLS: Towards Automatic Dataflow Acceleration, FPGA 2025
AutoSA: A polyhedral compiler for high-performance systolic arrays on FPGA, FPGA 2021 |
| Week 7 | Oct 16 | 1. HLS Compilation Workflow
- Domain Specific Languages (DSL) | 2 pre. | MLIR: Scaling Compiler Infrastructure for Domain Specific Computation, CGO 2021
Allo: A Programming Model for Composable Accelerator Design. PLDI, 2024 |
| Week 8 | Oct 23 | 1. CNNs and LLMs
- Quantization | 2 pres. | FlightLLM: Efficient Large Language Model Inference with a Complete Mapping Flow on FPGAs, FPGA 2024 |
| Week 9 | Oct 30 | 1. Advanced Quantization in LLMs
- Convolution and GEMM
| 2 pres. | FIGNA: Integer Unit-Based Accelerator Design for FP-INT GEMM Preserving Numerical Accuracy, HPCA 2024
FIGLUT: An Energy-Efficient Accelerator Design for FP-INT GEMM Using Look-Up Tables, HPCA 2025 |
| Week 10 | Nov 6 | Project Midterm Presentation
(Progress; Findings; Problems; Plan) | | |
| Week 11 | Nov 13 | 1. Systolic Arrays
- Approximated Systolic Arrays | 2 pres. | |
| Week 12 | Nov 20 | 1. Graph processing on FPGAs
- Graph Mining accelerators | 2 pres. | Graphit: A high-performance graph dsl. OOPSLA 2018.
ReGraph: Scaling graph processing on HBM-enabled FPGAs with heterogeneous pipelines. MICRO, 2022. |
| Week 13 | Nov 27 | 1. Database Acceleration with FPGAs
- FPGAs In Cloud Computing | 2 pres. | Polardb serverless: A cloud native database for disaggregated data centers." SIGMOD, 2021.
Data processing with FPGAs on modern architectures, SIGMOD 2023
ACCL+ an FPGA-Based Collective Engine for Distributed Applications, OSDI 2024 |
| Week 14 | Dec 4 | Final Project Presentation | | |
Group Project Topics
- LLM Inference on FPGAs (we provide a baseline implementation)
- Graph Mining on FPGAs
- Compiler Support (MLIR) for FPGAs
Note: You can propose your own projects
Collecting Project and Paper Presentation Information
- Please fill your project information in shared Google Sheets below.
- As a gentle reminder, it's advisable to start your project as early as possible.
- Link:https://docs.google.com/spreadsheets/d/1_O_gCtVbqMIl4bCt0_IR8nSISDKpqyRgJ1BWgzGIeho/edit?usp=sharing
[https://docs.google.com/spreadsheets/d/1_O_gCtVbqMIl4bCt0_IR8nSISDKpqyRgJ1BWgzGIeho/edit?usp=sharing](https://docs.google.com/spreadsheets/d/1_O_gCtVbqMIl4bCt0_IR8nSISDKpqyRgJ1BWgzGIeho/preview?usp=sharing)
References to Learn HLS-based FPGA Programming