ECE 69500 - Programmable Accelerator Architectures

Lecture Hours: 3 Credits: 3

Areas of Specialization(s):

Counts as:

Experimental Course Offered: Spring 2018, Spring 2020

ECE 56500

Requisites by Topic:
Computer Architecture

Catalog Description:
This class builds on previous knowledge of general-purpose processor design to explore the space of programmable hardware accelerators. Hardware accelerators seek to fulfill the promise of continued performance and energy-efficiency gains in the era of a slowing Moore's law, larger problem sizes and an increased focused on energy-efficiency. These factors have caused hardware acceleration to become ubiquitous in today's computing world and critically important in computing's future. This class will introduce students to the architectures of programmable accelerators. We will delve deeply into the architectures of modern massively parallel accelerators like GPUs, culminating in a course project using an open-source research and development simulator used in academia and industry. General topics in hardware acceleration will be discussed, including but not limited to GPGPU and massively parallel computing, approximate accelerators, reconfigurable hardware and programmable hardware for machine learning.

Required Text(s):
  1. General Purpose Graphics Processor Architecture, Aamodt, T.M., Fung, W.L., & Rogers, T.G,, 2018.
Recommended Text(s):
  1. Computer Architecture: A Quantitative Approach, 5th Edition, Hennessey and Patterson.
  2. Programming Massively Parallel Processors: A Hands-on Approach, 3rd Edition, Kirk, D.B., & Hwu, W.M.W., Elsevier, Inc., 2016.

Lecture Outline:

Week Major Topics
1 week General purpose architecture background and the evolution to accelerators Entropy and channel capacity from the detection perspective
2 weeks Programming massively parallel accelerators
1 week Advances in the GPU programming model
3 weeks GPU core design
2 weeks GPU memory system and interconnect
2 weeks CPU/GPU systems and AMD Fusion architecture
1 week Intel Xeon Phi design
1 week Custom and reconfigurable accelerators
2 weeks Case studies on architectures for machine learning