CIS 565 GPU Programming and Architecture
Fall 2020

tianming.gif kayton.gif dewang.gif grace_caroline.gif

Click here for CIS 565 Fall 2021

Course Description

A timeline section from the following topics:

  • GPU Computing: GPU architecture, massively parallel programming, parallel algorithms, performance.
  • Rendering: Graphics pipeline (rasterization), path tracing, deferred shading, forward+ rendering, VR.
  • APIs: CUDA, WebGL, RTX, Vulkan.

This is a project-intensive course with significant coding, writing, and presenting. It is more work than any other course, but it is worth it.

For a course more focused on GPU architecture without graphics, see Joe Devietti’s CIS 601 (no longer offered at Penn).

COVID-19 and Plans for Fall 2020 Semester

Please visit the COVID-19 page to read more about how CIS 565 will continue to provide the best learning experience possible in Fall 2020 as we switch to remote learning.

If you have registered as a student for the course, or plan to, please complete this required survey: CIS 565 Fall 2020 Student Survey.

Prerequisites

  • Passion for computer graphics.
  • At least one of:
    • CIS 460/560: Introduction to Computer Graphics.
    • CIS 461/561: Advance Rendering
    • Preferably received an A. Knowledge of rasterization and ray tracing.
  • Strong C or C++.
  • Also useful:
    • CIS 371: Digital Systems Organization and Design, or
    • CIS 501: Introduction to Computer Architecture.

Github, Schedule, Class Forum, and LinkedIn

Lecturer

Shehzan Mohammed mza@seas.upenn.edu

Office Hours:

  • Monday: 5-6PM (US Eastern) + Up to 30 minutes after class ends
  • Wednesday: 5-6PM (US Eastern) + Up to 30 minutes after class ends
  • Sunday: 10-11AM (US Eastern)

Changes to office hour schedule will be made on the CIS 565 Calendar and notified through Piazza.

Shehzan Mohammed

Teaching Assistant

Gary Li gary@cesium.com

Office Hours:

  • Tuesday: 6-7PM (US Eastern)
  • Thursday: 7-8PM (US Eastern)
  • Saturday: 10-11AM (US Eastern)

Changes to office hour schedule will be made on the CIS 565 Calendar and notified through Piazza.

Gary Li

Course Advisor

Patrick Cozzi

Patrick Cozzi

No books are required, but course material comes from many sources including:

Other useful tools and material:

Grading

  • Projects: 50%
  • Final Project: 50%

Academic Integrity

An academic integrity violation will result in the student receiving an F in this course.

See Academic Integrity at the University of Pennsylvania: A Guide for Students.

Code submissions will be cross-checked for plaigarism against previous years’ submissions as well as submissions from your colleagues using automated software. Please do not copy code.

If you would like to use code not written by you for this class, please run it by the TAs using Piazza for permission to use it. Examples of code you will need to ask permission to use:

  • Public Github Repositories and other open source projects.
  • Projects from other classes that will give you a non-trivial advantage for the project.

If you think you need to ask permission, you should ask. We will most likely approve all reasonable requests.

Acknowledgments

Joe Kider, Gary Katz, and Suresh Venkatasubramanian taught this course before me.

All former TAs have helped shape this course:

Hannah BollarYoussef VictorZiad Ben Hadj-Alouane
Ottavio HartmanYash VardhanAustin Eng
Kaixiang MiaoShuai Shao (Shrek)Gary Li
Kai NinomiyaHarmony LiLiam Boone
Karl LiVarun SampathJon McCaffrey

Previous students have provided significant course feedback including:

Many passionate folks in our field have also provided course input: