CIS 565: GPU Programming and Architecture

Fall 2012

University of Pennsylvania
Computer Graphics @ Penn

Student Projects

University of Pennsylvania

Course Overview • FAQScheduleStudent WorkPrevious semester


GPU hardware, CUDA, massively parallel algorithms, graphics pipeline, real-time rendering, 3D engine architecture, OpenGL, OpenGL ES, WebGL, and mobile GPUs.

This is a project-intensive course with significant coding, writing, and presenting.


  • Passion for computer graphics.
  • CIS 460/560: Introduction to Computer Graphics. Preferably received an A.
  • Strong C or C++.
  • Also useful:
    • CIS 371: Digital Systems Organization and Design, or
    • CIS 501: Introduction to Computer Architecture.


Patrick Cozzi,
Office Hours: Immediately following class

Teaching Assistant

Karl Li,
Office: SIG Lab
Office Hours: Tuesday, 4:30-6pm, and Friday, 2-5pm


Monday and Wednesday, 6-7:30pm, Moore 212


Recommonded Books

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


  • Projects: 60%
  • Final Project: 40%

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.

Lab Resources

  • Moore 100b - NVIDIA GeForce 9300 GEs.
  • SIG Lab - Most systems have at least NVIDIA GeForce 8800s. Two systems have a GeForce 480, three have Fermi Quadros, one has a Fermi Tesla, and one has an AMD card.


Changes to the course for this semester are based on input from many passionate folks in our field: Johan Andersson, (@repi),Quarup Barreirinhas, (@quarup), Wolfgang Engel, (@wolfgangengel), Mikkel Gjoel, (@pixelmager), Eric Haines, (@pointinpolygon), Dominik Lazarek, (@Omme), Emil Persson, (@_Humus_), and Christophe Riccio, (@g_truc); and the input of previous students, including: Xing Du, Karl Li, Ian Lilley.

Joe Kider, Gary Katz, and Suresh Venkatasubramanian taught this course before me, and their contributions are many.