General Information
- Time and Location:
- Thursday 11:10 - 12:25 Poultry Science 238
- Wednesday 11:30 - 12:20 Geography Geology 300A
- Instructor: Wei Niu
- Office hours:
- Wednesday 11:00 - noon
- Thursday 10:00 - 11:00
- Or by appointment at 423 Boyd Research and Education Center
- Email: wniu@uga.edu
Prerequisites
Undergraduate:
- CSCI 1730 or permission of department
Graduate:
- CSCI 1730 or permission of department
Course Description
This course provides an in-depth understanding of the micro-architectural and architectural details of a general-purpose graphics processing unit (GPU). Students will learn massively parallel programming using CUDA C and develop parallel algorithms to solve real problems. Topics include parallel computing, GPUs architecture, threads, performance issues, and floating point representation.
Each graduate student will do a final project for the course, give a presentation, and will complete extra homework and exam problems beyond those for the undergraduate students. Graduate student work will be graded more stringently than undergraduate work.
Grade Distribution
- Homeworks (5): 40%
- Research Project (Semester-long): 40%
- Final Exam (In the finals week): 20%
Homeworks
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.
Semester-long Research Project
- 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.
Final Exam
It will be comprehensive and will cover all the material covered until the end of the semester. The final exam is scheduled by UGA and is on April 30 (9:00-12:00 noon) as per this website.
Class Schedule
Week | Date | Agenda |
---|---|---|
Week 1 | Aug. 16 | |
Week 1 | Aug. 17 | |
Week 2 | Aug. 23 | |
Week 2 | Aug. 24 | |
Week 3 | Aug. 30 | |
Week 3 | Aug. 31 | |
Week 4 | Sep. 6 | |
Week 4 | Sep. 7 | |
Week 5 | Sep. 13 | |
Week 5 | Sep. 14 | |
Week 6 | Sep. 20 | |
Week 6 | Sep. 21 | |
Week 7 | Sep. 27 | |
Week 7 | Sep. 28 | |
Week 8 | Oct. 4 | |
Week 8 | Oct. 5 | |
Week 9 | Oct. 11 | |
Week 9 | Oct. 12 | |
Week 10 | Oct. 18 | |
Week 10 | Oct. 19 | |
Week 11 | Oct. 25 | |
Week 11 | Oct. 26 | |
Week 12 | Nov. 1 | |
Week 12 | Nov. 2 | |
Week 13 | Nov. 8 | |
Week 13 | Nov. 9 | |
Week 14 | Nov. 15 | |
Week 14 | Nov. 16 | |
Week 15 | Nov. 22 | Holiday: Thanksgiving - No Classes |
Week 15 | Nov. 23 | Holiday: Thanksgiving - No Classes |
Week 16 | Nov. 29 | |
Week 16 | Nov. 30 | |
Week 17 | Dec. 6 | Reading day |
eLC (Discussion Forum)
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.
Infrastructure
- 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.
Readings (Books and Other Resources)
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
- NVIDIA CUDA C Programming Guide
- Aamodt, Fung, Rogers, “General-Purpose Graphics Processing Architectures” – Morgan and Claypool Publishers, 1st Edition
Useful Simulators and Tools
- 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)
Academic Accommodations
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.
Honor Code
Students are required to follow the Honor System of the University of Georgia.