gpu programming and architecture: course overview

52
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS 565 - Fall 2014

Upload: sally

Post on 05-Jan-2016

65 views

Category:

Documents


5 download

DESCRIPTION

GPU Programming and Architecture: Course Overview. Patrick Cozzi University of Pennsylvania CIS 565 - Fall 2014. Lectures. Monday 6-9pm Moore 212 Fall and Spring 2012 lectures were recorded Attendance is required for guest lectures. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GPU Programming and Architecture:  Course Overview

GPU Programming and Architecture: Course Overview

Patrick CozziUniversity of PennsylvaniaCIS 565 - Fall 2014

Page 2: GPU Programming and Architecture:  Course Overview

Lectures

Monday 6-9pm Moore 212

Fall and Spring 2012 lectures were recorded Attendance is required for guest lectures

Image from http://pinoytutorial.com/techtorial/geforce-gtx-580-vs-amd-radeon-hd-6870-review-and-comparison-conclusion/

Page 3: GPU Programming and Architecture:  Course Overview

About Me

Patrick Cozzi

See http://www.seas.upenn.edu/~pcozzi/

Page 4: GPU Programming and Architecture:  Course Overview

About Me

[email protected]

Twitter@pjcozzi

Office HoursBy appointment

Page 5: GPU Programming and Architecture:  Course Overview

About Me

Not “Professor”, “Dr.”, “Mr.”, or “Sir” Not even “instructor” Perhaps “organizer”, “facilitator”, “coach”,

“catalyst”, or “enabler”

CIS 565 is a series of projects with supporting lectures.

Page 6: GPU Programming and Architecture:  Course Overview

Teaching Assistant

Harmony Li: harmoli+cis565 (at) seas.upenn.edu

Office HoursMoore 100CSunday, 4 pm to 6 pmWednesday, 4:30 pm to 6 pm

http://about.me/harmonymli

Page 7: GPU Programming and Architecture:  Course Overview

CIS 565 Hall of Fame

Are you next?

KrishnanRamachandran

Jon McCaffrey

VarunSampath

SeanLilley

IanLilley

TijuThomas

Zakiuddin Shehzan

Mohammed

GundeepSingh

Seunghoon Park

Nop Jiarathanakul

Uriah Baalke

Collin Boots

Yuqin Shao

Sijie Tian

Rohith Chandran

Page 8: GPU Programming and Architecture:  Course Overview

Prerequisites

Passion for computer graphics CIS 460/560. Preferably received an A Strong C or C++ Also useful: CIS 371 or CIS 501

I don’t check prereqs

Page 9: GPU Programming and Architecture:  Course Overview

Course Website

http://www.seas.upenn.edu/~cis565/

Schedule, reading, slides, projects, etc.

Page 10: GPU Programming and Architecture:  Course Overview

Google Group

https://groups.google.com/forum/#!forum/cis-565-fall-2014 Send email to [email protected]

Be active; let’s build a course community

Page 11: GPU Programming and Architecture:  Course Overview

Used for course materials, projects, and the final project

Create an account:https://github.com/signup/free

Join our GitHub organization:https://github.com/CIS565-Fall-2014

Who is new to source control?

Page 13: GPU Programming and Architecture:  Course Overview

Completely Optional Books

Programming Massively Parallel Processors

2012, David Kirk and Wen-mei Hwu

Old draft: http://courses.engr.illinois.edu/ece498/al/Syllabus.html

Real-Time Rendering

2008, Tomas Akenine-Möller, Eric Haines, and Naty Hoffman

Page 14: GPU Programming and Architecture:  Course Overview

Course Topics

GPU – Graphics Processing Unit Is it still just for graphics?

Images from http://www.ngohq.com/news/18784-nvidia-launches-geforce-gtx-580-a.html and http://gs7.blogspot.com/2011/09/amd-radeon-hd-6990-worlds-fastest.html

Page 15: GPU Programming and Architecture:  Course Overview

Course Topics

GPU Architecture

Start with GPU architecture

Not to scale

Page 16: GPU Programming and Architecture:  Course Overview

Course Topics

CUDA

GPU Architecture

CUDA programming model for GPU Compute

Not to scale

Page 17: GPU Programming and Architecture:  Course Overview

Course Topics

GPU Compute example: conjunction analysis

http://www.youtube.com/watch?v=dtT3pTh_q-8

Page 18: GPU Programming and Architecture:  Course Overview

Course Topics

Parallel Algorithms

CUDA

GPU Architecture

Parallel algorithms that form building blocks

Not to scale

Page 19: GPU Programming and Architecture:  Course Overview

Course Topics

Parallel Algorithms example: ScanGiven:

Compute:

In parallel!

3 1 1 7 0 4 6 3

0 3 15 4 11 11 16 22

Page 20: GPU Programming and Architecture:  Course Overview

Course Topics

Graphics Pipeline

Parallel Algorithms

CUDA

GPU Architecture

Historical and modern graphics pipeline

Not to scale

Page 21: GPU Programming and Architecture:  Course Overview

Course Topics

OpenGL / WebGL

Graphics Pipeline

Parallel Algorithms

CUDA

GPU Architecture

OpenGL and WebGL

Not to scale

Page 22: GPU Programming and Architecture:  Course Overview

Doarama

http://www.doarama.com/

Page 23: GPU Programming and Architecture:  Course Overview

Turbulenz

http://www.youtube.com/watch?v=AJg_BmY9-8o

Page 24: GPU Programming and Architecture:  Course Overview

Unreal 3

https://blog.mozilla.org/blog/2013/03/27/mozilla-is-unlocking-the-power-of-the-web-as-a-platform-for-gaming/

Page 25: GPU Programming and Architecture:  Course Overview

Course Topics

Real-Time Rendering

OpenGL / WebGL

Graphics Pipeline

Parallel Algorithms

CUDA

GPU Architecture

Real-Time Rendering

Not to scale

Page 26: GPU Programming and Architecture:  Course Overview

AMD Toyshop Demo

http://www.youtube.com/watch?v=LtxvpS5AYHQ

Page 27: GPU Programming and Architecture:  Course Overview

AMD Leo Demo

http://www.youtube.com/watch?v=zYweEn6DFcU

Page 28: GPU Programming and Architecture:  Course Overview

GPU Compute + Rendering

http://www.nvidia.com/object/GTX_400_games_demos.html

Page 29: GPU Programming and Architecture:  Course Overview

Course Topics

Mobile

Real-Time Rendering

OpenGL / WebGL

Graphics Pipeline

Parallel Algorithms

CUDA

GPU Architecture

Mobile

Not to scale

Page 30: GPU Programming and Architecture:  Course Overview

Course Topics

Mobile

Real-Time Rendering

OpenGL / WebGL

Graphics Pipeline

Parallel Algorithms

CUDA

GPU Architecture

To scale!

Performance!

Page 31: GPU Programming and Architecture:  Course Overview

Course Topics

Topics are as time permits We constantly adjust the schedule during

the semester

Page 32: GPU Programming and Architecture:  Course Overview

Guest Lectures

Shehzan Mohammed Liam Boone Tim Kaldewey Ken Russell Sean Lilley Dave Breen Nick Brancaccio …

Page 33: GPU Programming and Architecture:  Course Overview

Tentative: Hackathon

Cancel class, and code for prizes instead

Page 34: GPU Programming and Architecture:  Course Overview

New: Profiling Lab

Profile open-source WebGL apps

Page 35: GPU Programming and Architecture:  Course Overview

Grading

Projects 60% Final Project 40% Final 0%

Page 36: GPU Programming and Architecture:  Course Overview

Projects

Not homework. Intense. Significantly more work than other courses.

Page 37: GPU Programming and Architecture:  Course Overview

Projects

Each project hasCoding

Pick x of n, e.g., 3 of 5, plus open-ended partsWritten performance analysisWrite-up with screenshots and a video/demoRandom in-class demos. Show, don’t tell.

Page 38: GPU Programming and Architecture:  Course Overview

Projects

Due at noon (12pm) on the due date Submitted using GitHub Late Policy

Up to 1 week late: 50% deduction

Page 39: GPU Programming and Architecture:  Course Overview

Projects

Grade yourself. Seriously We reserve up to 60% of the grade as a

sanity check. Usually:20% performance analysis40% each on the rest

Page 40: GPU Programming and Architecture:  Course Overview

Projects

Can be done as open sourceBuild your code portfolio

Want to use private repos? Get a free edu accounthttps://github.com/edu

Page 41: GPU Programming and Architecture:  Course Overview

Final Projects

Final Projects often become projectsPath tracerDeferred shading

Page 42: GPU Programming and Architecture:  Course Overview

Fall 2012 Final Projects

http://cis565-fall-2012.github.io/index.html

Page 43: GPU Programming and Architecture:  Course Overview

Ray Marching Distance Fields

Nop Jiarathanakul – CIS 565 Spring 2012

Page 44: GPU Programming and Architecture:  Course Overview

Procedural Infinite City

Alice Yang – CIS 565 Spring 2012

Page 48: GPU Programming and Architecture:  Course Overview

On Interviews…

“Send me your code and then we’ll talk”- Christophe Riccio

Page 49: GPU Programming and Architecture:  Course Overview

Intensity

Time

Effort

Time

Effort

Due date Fight nightStudent Pro boxer

Page 50: GPU Programming and Architecture:  Course Overview

Academic Integrity

http://www.upenn.edu/academicintegrity/

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

Get approval for all code you didn’t write yourself with the TA in advance

Page 51: GPU Programming and Architecture:  Course Overview

Closing Thoughts

Progress – students surpass teaches I want more than 2% impact “Education is not the filling of a pail, but the

lighting of a fire.” - W. B. Yeats

Page 52: GPU Programming and Architecture:  Course Overview

Reminders

Google Group Signup: https://groups.google.com/forum/#!forum/cis-565-fall-2014

LinkedIn Join our group: https://www.linkedin.com/groups/GPU-Programming-Architecture-6540935

GitHub Create an account: https://github.com/signup/free Change it to an edu account: https://github.com/edu Join our organization: https://github.com/CIS565-Fall-2014