The class webpage is located at http://danielwong.org/classes/ee260-w17.
Information, resources, and announcements related to the class will be posted to the webpage.
General Purpose Graphical Processing Units (GPGPUs) are fast becoming the processing element of choice for various platforms, from supercomputers and cloud computing, to mobile devices and self-driving vehicles. GPGPUs provide order-of-magnitude energy efficiency and performance improvements over traditional CPUs. The massive parallelism of GPGPUs enable unprecedented performance when running modern complex and large-scale workloads, such as machine learning, computer vision, and scientific computing.
This course provides an in-depth exploration into microarchitecture challenges of designing highly efficient GPGPUs, with a focus on performance, energy efficiency, and reliability. The course will consist of paper reviews, presentations, and major projects. Literature will be derived from major computer architecture, and related areas, conferences.
Topics covered in this course includes:
Recommended prerequisite: CS161 (or equivalent), CS/EE 217, or Consent of instructor
You are expected to attend all lectures.
Criteria: Final project can involve a group of 2 students maximum.
Open-ended, but must involve GPU micro-architecture and/or relating to GPU runtime, compiler, or programming language support.
You cannot propose application development/algorithm mapping to GPU (This is the scope of CS/EE 217).
By the end of the quarter, you must submit a conference-style report, of minimum 6 pages.
Project Proposal: 1 page project proposal must be approved by instructor and is due by Tuesday, January 24.
Project Progress: Individual group meeting to discuss project progress and detail plan of action.
Project ideas: Implementation of paper idea, develop novel warp scheduler, cache policies, etc.
GPGPU-sim
SASSI Instrumentation tool (Like PIN for GPU)
Gem5-GPU (Gem5 + GPGPU-sim)
Multi2Sim (CPU+GPU simulator. AMD GPU model.)
Rodinia Benchmarks
Lonestar GPU Benchmarks
Parboil
The following schedule is tentative and is subject to change.
| Date | Topic | Assignments | Papers |
|---|---|---|---|
| Jan. 17 | Intro/Overview | Assignment 1 Assigned | |
| Jan. 24 | Divergence | Project Proposal Due | [1] Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow [2] Thread Block Compaction for Efficient SIMT Control Flow [3] A Variable Warp Size Architecture |
| Jan. 31 | Warp Scheduling | Assignment 1 Due | [4] Improving GPU Performance via Large Warps and Two-Level Warp Scheduling - Yukun [5] Cache-Conscious Wavefront Scheduling - Shahriyar [6] OWL: Cooperative Thread Array Aware Scheduling Techniques for Improving GPGPU performance - AmirAli |
| Feb. 7 | No class - HPCA | Project progress meeting 2/9 & 2/10. | |
| Feb. 14 | Multi-kernel | [7] Simultaneous Multikernel GPU: Multi-tasking Throughput Processors via Fine-Grained Sharing - Yasin [8] Chimera: Collaborative Preemption for Multitasking on a Shared GPU - Hadi |
|
| Feb. 21 | RF / Memory | [9] GPU Register File Virtualization - Kiran [10] Adaptive Cache management for Energy-efficient GPU Computing - Shahriyar [11] Mascar: Speeding up GPU warps by reducing memory pitstops - Yukun |
|
| Feb. 28 | Programmability | [12] Dynamic Thread Block Launch: A Lightweight Execution Mechanism to Support Irregular Applications on GPUs - Kiran [13] Architectural Support for Address Translation on GPUs - Marcus |
|
| Mar. 7 | Energy | [14] Warped Gates: Gating Aware Scheduling and Power Gating for GPGPUs - Amirali [15] Equalizer: Dynamic Tuning of GPU Resources for Efficient Execution - Yukun [16] Core Tunneling: Variation-Aware Voltage Noise Mitigation in GPUs - Kiran |
|
| Mar. 14 | Reliability & Compression | [17] Warped-DMR: Light-weight Error Detection for GPGPU - Hadi [18] Warped-Compression: Enabling Power Efficient GPUs through Register Compression - Yasin |
|
| Mar. 21 | Final Project Due |
Cheating in any assignments are absolutely prohibited. The minimum penalty for a violation of the regulations will be a zero for the assignment; the maximum penalty will be failure in the course.
Here at UCR we are committed to upholding and promoting the values of the Tartan Soul: Integrity, Accountability, Excellence, and Respect. As a student in this class, it is your responsibility to act in accordance with these values by completing all assignments in the manner described, and by informing the instructor of suspected acts of academic misconduct by your peers. By doing so, you will not only affirm your own integrity, but also the integrity of the intellectual work of this University, and the degree which it represents. Should you choose to commit academic misconduct in this class, you will be held accountable according to the policies set forth by the University, and will incur appropriate consequences both in this class and from Student Conduct and Academic Integrity Programs. For more information regarding University policy and its enforcement, please visit: conduct.ucr.edu.