Overview

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.