EE 260 Advanced GPU Microarchitecture - Winter 2017
Course Information
- Time and Location: Tues/Thur 8:10am - 9:30am @ MSE 003
- Instructor: Daniel Wong
- Email: dwong@ece.ucr.edu
- Homepage: http://www.danielwong.org
- Office: WCH 425
- Office Hours: Tuesday 1:30pm - 4:00pm @ WCH 415 or by appointment
- iLearn (for assignments): ilearn.ucr.edu
Announcements
- Welcome to EE 260!
Class Syllabus
Class webpage and communication
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.
Course Description
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:
- GPU parallel execution model
- Scheduling techniques for Warps and Thread blocks
- Handling warp/control divergence
- Cache/Memory architecture
- Energy efficiency techniques
- Reliability
- Simulation tools
Recommended prerequisite: CS161 (or equivalent), CS/EE 217, or Consent of instructor
Grade Breakdown
- Class Participation 5%
- Intro Assignment 10%
- Paper Reviews 20%
- Class Presentations 30%
- Long-term Project 35%
Attendance
You are expected to attend all lectures.
Course Assignments and Projects
Paper Review
In-class Presentation
Final Project
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.
Simulators, Tools, and Benchmarks
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
Assignment Policies
- You have 3 slip days that you can use on any assignment, except for the final project. If you exceed your slip days, there will be a 15% penalty per late day (counting weekends).
- No extensions will be given for final project.
- All assignments will be due at the beginning of class.
- All assignment should be uploaded to iLearn.
- Paper reviews and class presentations are done individually.
- Final project can be done in pairs.
Tentative Schedule
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 |
Academic Integrity
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.