Time and Location: Tuesday/Thursday 9:30 am - 10:50am, Tucker Hall 222
Instructor: Adwait Jog (Personal Website)
Office hours: Mondays 10-noon, Tuesday/Thursday 11 am - 11:30 am, and by appointment at McGl 111
Email: ajog@wm.edu
Students are expected to have a good understanding of the basic computer organization and design (i.e., comparable to the material covered by CSCI 424/524). Please talk to the instructor if you do not satisfy this requirement.
This course provides an in-depth understanding of the micro-architectural and architectural details of a general-purpose graphics processing unit (GPU). A range of top-tier architecture conference and journal papers are also discussed to understand the important research issues associated with the GPU architectures. Students will be tested via various assignments and a written examination. In addition, students will also be required to complete a semester-long research project.
Homeworks (5): 40%
Research Project (Semester-long): 40%
Final Exam (In the finals week): 20%
Homeworks are due in hard copy on the specified date. Submit it to the instructor at the beginning of the class. Homeworks will test analytical, coding, and simulation skills. Can be performed in groups of 2. If you do the homework in a group, briefly describe your individual contributions to the homework in the submission document.
It will give you a taste of computer architecture research. Please discuss with the instructor to decide on the project. Regular meetings are expected with the instructor so that progress can be made.
We will have three project presentations during the entire semester: proposal (5 percent), mid-term presentation (10 percent), and final presentation (+ final project report due in the finals week) (25 percent).
Can be performed in groups of 2. If you perform the project in a group, briefly describe your individual contributions to the project in the presentation and final report.
It will be comprehensive and will cover all the material covered until the end of the semester. The final exam is scheduled by W&M and is on April 30 (9:00-12:00 noon) as per this website.
Week | Date | Agenda |
---|---|---|
Week 1 | Jan 17 | Administrativia and Introductions |
Week 2 | Jan 22 | Introduction, Abstractions, and Technology |
Jan 24 | Introduction, Abstractions, and Technology | |
Week 3 | Jan 29 | Intro to Comp Arch (ISA, Pipelining) |
Jan 31 | Intro to Comp Arch (ISA, Pipelining) | |
Week 4 | Feb 5 | Intro to Comp Arch (Memory Hierarchy) |
Feb 7 | Intro to Comp Arch (Memory Hierarchy) | |
Week 5 | Feb 12 | Intro to CUDA Programming |
Feb 14 | Intro to CUDA Programming | |
Week 6 | Feb 19 | Code-Hardware Mapping |
Feb 21 | CPU-GPU bottleneck; Memory Coalescing | |
Week 7 | Feb 26 | Project Proposal Presentations (by students) |
Feb 28 | Shared Memory | |
Week 8 | March 5 | Spring Break (no class) |
March 7 | Spring Break (no class) | |
Week 9 | March 12 | Shared Memory -- contd |
March 14 | Instructor on Travel (no class) | |
Week 10 | March 19 | GPU Architecture (1) |
March 21 | GPU Architecture (2) | |
Week 11 | March 26 | GPU Memory Research Issues (1) |
March 28 | Instructor on Travel (no class) | |
Week 12 | April 2 | Midterm Presentations (by students) |
April 4 | Midterm Presentations (by students) | |
Week 13 | April 9 | GPU Memory Research Issues (2) |
April 11 | GPU Memory Research Issues (3) | |
Week 14 | April 16 | GPU Memory Research Issues (4) |
April 18 | GPU Compute Research Issues | |
Week 15 | April 23 | GPU Reliability/Security |
April 25 | Final project presentations (by students) |
We will be using Piazza as an on-line forum for discussions. You will also receive notifications from the instructor via Piazza. The Piazza website for our course is here. The resource section of this The Piazza website will contain most of the material related to this course.
Access to a GPU is required to test and execute your CUDA programs. It is needed for homeworks and perhaps also for the project. bg machines have several GPUs attached to it. Sciclone cluster also has several GPUs.
Access to a computer with remote access to a lab machine (bg machines mostly) is necessary for simulation-based assignments. We will use GPGPU-Sim – A GPU simulator, which is already installed on the bg machines and instructions will be provided to run it on your end.
There is no required book for this course, however, you might find the following reference material useful.
Patterson and Hennesy, Computer Organization and Design, 5th Edition, Appendix C-2 on GPUs
D. Kirk and W. Hwu, “Programming Massively Parallel Processors – A Hands-on Approach, Second Edition
Aamodt, Fung, Rogers, “General-Purpose Graphics Processing Architectures” – Morgan and Claypool Publishers, 1st Edition
GPGPU-Sim, A GPU Simulator (models NVIDIA-style GPUs). Also, look at GPU-Wattch, A GPU Power Model
SASSI, A Flexible GPGPU Instrumentation Tool
MAFIA, A Multiple Application/Context Framework for GPU architectures
Multi2sim, A CPU/GPU Simulator (models AMD-style GPUs)
It is the policy of The College of William and Mary to accommodate students with disabilities and qualifying diagnosed conditions in accordance with federal and state laws. Any student who feels s/he may need an accommodation based on the impact of a learning, psychiatric, physical, or chronic health diagnosis should contact Student Accessibility Services staff at 757-221-2509 or at sas@wm.edu to determine if accommodations are warranted and to obtain an official letter of accommodation. For more information, please click here.
Students are required to follow the Honor System of the College of William and Mary.