GPU Programming and Architecture Course Overview Patrick Cozzi

  • Slides: 43
Download presentation
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS 565 -

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

Lectures Monday and Wednesday n 6 -7: 30 pm n Moore 212 n Lectures

Lectures Monday and Wednesday n 6 -7: 30 pm n Moore 212 n Lectures are recorded n Attendance is required for guest lectures n Image from http: //pinoytutorial. com/techtorial/geforce-gtx-580 -vs-amd-radeon-hd-6870 -review-and-comparison-conclusion/

Instructor n Patrick Cozzi If you are curious, see http: //www. seas. upenn. edu/~pcozzi/

Instructor n Patrick Cozzi If you are curious, see http: //www. seas. upenn. edu/~pcozzi/

Instructor n Email ¨ pjcozzi+cis 565@gmail. com n Office Hours ¨ After class ¨

Instructor n Email ¨ pjcozzi+cis 565@gmail. com n Office Hours ¨ After class ¨ Generally, I’m here as long as you’re here

Teaching Assistant Karl Li: yiningli@seas. upenn. edu n Office Hours n ¨ SIG Lab

Teaching Assistant Karl Li: yiningli@seas. upenn. edu n Office Hours n ¨ SIG Lab ¨ Tuesday, TBA ¨ Friday, TBA If you are curious, see http: //www. yiningkarlli. com/

CIS 565 Hall of Fame Jon Mc. Caffrey n Krishnan Ramachandran Are you next?

CIS 565 Hall of Fame Jon Mc. Caffrey n Krishnan Ramachandran Are you next? Varun Sampath Sean Lilley Ian Lilley

Prerequisites Passion for computer graphics n CIS 460/560. Preferably received an A n Strong

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

Course Website n http: //www. seas. upenn. edu/~cis 565/ n Schedule, reading, slides, audio,

Course Website n http: //www. seas. upenn. edu/~cis 565/ n Schedule, reading, slides, audio, projects, etc.

Piazza n https: //piazza. com/upenn/fall 2012/cis 565/ n Be active; let’s build a course

Piazza n https: //piazza. com/upenn/fall 2012/cis 565/ n Be active; let’s build a course community

Git. Hub Used for course materials, projects, and the final project n Create an

Git. Hub Used for course materials, projects, and the final project n Create an account: n ¨ https: //github. com/signup/free n Join our Git. Hub organization: ¨ https: //github. com/CIS 565 -Fall-2012 n Who is new to source control?

Recommended Books Real-Time Rendering 2008, Tomas Akenine-Möller, Eric Haines, and Naty Hoffman Open. GL

Recommended Books Real-Time Rendering 2008, Tomas Akenine-Möller, Eric Haines, and Naty Hoffman Open. GL Insights 2012, Patrick Cozzi and Christophe Riccio, Editors Readings handed out in class Programming Massively Parallel Processors 2010, David Kirk and Wen-mei Hwu Old draft: http: //courses. engr. illinois. edu/ece 498/al/Syllabus. html

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

Course Contents GPU – Graphics Processing Unit n Is it still just for graphics? n Images from http: //www. ngohq. com/news/18784 -nvidia-launches-geforce-gtx-580 -a. html and http: //gs 7. blogspot. com/2011/09/amd-radeon-hd-6990 -worlds-fastest. html

Course Contents n Start with GPU architecture GPU Architecture Not to scale

Course Contents n Start with GPU architecture GPU Architecture Not to scale

Course Contents n CUDA programming model for GPU Compute CUDA GPU Architecture Not to

Course Contents n CUDA programming model for GPU Compute CUDA GPU Architecture Not to scale

Course Contents n GPU Compute example: conjunction analysis http: //www. youtube. com/watch? v=dt. T

Course Contents n GPU Compute example: conjunction analysis http: //www. youtube. com/watch? v=dt. T 3 p. Th_q-8

Course Contents n Parallel algorithms that form building blocks Parallel Algorithms CUDA GPU Architecture

Course Contents n Parallel algorithms that form building blocks Parallel Algorithms CUDA GPU Architecture Not to scale

Course Contents n Parallel Algorithms example: Scan ¨ Given: 3 1 7 0 4

Course Contents n Parallel Algorithms example: Scan ¨ Given: 3 1 7 0 4 1 6 3 4 11 11 15 16 22 ¨ Compute: 0 ¨ In 3 parallel!

Course Contents n Historical and modern graphics pipeline Parallel Algorithms CUDA Graphics Pipeline GPU

Course Contents n Historical and modern graphics pipeline Parallel Algorithms CUDA Graphics Pipeline GPU Architecture Not to scale

Course Contents n Web. GL Parallel Algorithms CUDA Open. GL / Web. GL Graphics

Course Contents n Web. GL Parallel Algorithms CUDA Open. GL / Web. GL Graphics Pipeline GPU Architecture Not to scale

Turbulenz http: //www. youtube. com/watch? v=AJg_Bm. Y 9 -8 o

Turbulenz http: //www. youtube. com/watch? v=AJg_Bm. Y 9 -8 o

Course Contents n Real-Time Rendering Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web.

Course Contents n Real-Time Rendering Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web. GL Graphics Pipeline GPU Architecture Not to scale

AMD Toyshop Demo http: //www. youtube. com/watch? v=Ltxvp. S 5 AYHQ

AMD Toyshop Demo http: //www. youtube. com/watch? v=Ltxvp. S 5 AYHQ

AMD Leo Demo http: //www. youtube. com/watch? v=z. Ywe. En 6 DFc. U

AMD Leo Demo http: //www. youtube. com/watch? v=z. Ywe. En 6 DFc. U

GPU Compute + Rendering http: //www. nvidia. com/object/GTX_400_games_demos. html

GPU Compute + Rendering http: //www. nvidia. com/object/GTX_400_games_demos. html

Course Contents n Mobile Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web. GL

Course Contents n Mobile Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web. GL Graphics Pipeline GPU Architecture Not to scale

Course Contents Performance! Mobile Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web. GL

Course Contents Performance! Mobile Parallel Algorithms CUDA Real-Time Rendering Open. GL / Web. GL Graphics Pipeline GPU Architecture To scale!

Grading Projects n Final Project n Final n 60% 40% 0%

Grading Projects n Final Project n Final n 60% 40% 0%

Projects Intense. Usually one week. n Significantly more work than previous semesters. n

Projects Intense. Usually one week. n Significantly more work than previous semesters. n

Projects n Each project has ¨ Coding n Pick x of n, e. g.

Projects n Each project has ¨ Coding n Pick x of n, e. g. , 3 of 5, plus open-ended parts ¨ Written performance analysis ¨ A blog post with screenshots and a video/demo ¨ Random in-class demos. Show, don’t tell.

Projects One or two projects will be replaced with four-hour hackathons n Class will

Projects One or two projects will be replaced with four-hour hackathons n Class will be canceled that day n

Projects Due anytime on the due date n Submitted using Git. Hub n Late

Projects Due anytime on the due date n Submitted using Git. Hub n Late Policy n ¨ 1 second to 1 week late: 50% deduction

Projects Grade yourself. Seriously n We reserve 30% of the grade as a sanity

Projects Grade yourself. Seriously n We reserve 30% of the grade as a sanity check n

Projects n Can be done as open source ¨ Build n your code portfolio

Projects n Can be done as open source ¨ Build n your code portfolio Want to use private repos? Get a free edu account ¨ https: //github. com/edu

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

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

Intensity Effort Time Student Time Pro boxer Due date Fight night

Intensity Effort Time Student Time Pro boxer Due date Fight night

Academic Integrity n http: //www. upenn. edu/academicintegrity/ n An academic integrity violation will result

Academic Integrity n http: //www. upenn. edu/academicintegrity/ n An academic integrity violation will result in the student receiving an F in this course n Get approval for all code you didn’t write yourself with the TA in advance

GPU Requirements Most projects require an NVIDIA Ge. Force 8 series or higher n

GPU Requirements Most projects require an NVIDIA Ge. Force 8 series or higher n Update your drivers: n ¨ http: //www. nvidia. com/Download/index. aspx What GPU do I have? n What Open. GL/Open. CL/CUDA version: n ¨ http: //www. ozone 3 d. net/gpu_caps_viewer/

GPU Requirements n Lab Resources ¨ Moore 100 b - NVIDIA Ge. Force 9800

GPU Requirements n Lab Resources ¨ Moore 100 b - NVIDIA Ge. Force 9800 s ¨ SIG Lab - Most systems have at least NVIDIA Ge. Force 8800 s. Two systems have a Ge. Force 480, three have Fermi Quadros, one has a Fermi Tesla, and one has an AMD card n Contact Karl

CPU and GPU Trends FLOPS – FLoating-point OPerations per Second n GFLOPS - One

CPU and GPU Trends FLOPS – FLoating-point OPerations per Second n GFLOPS - One billion (109) FLOPS n TFLOPS – 1, 000 GFLOPS n

CPU and GPU Trends Chart from: http: //proteneer. com/blog/? p=263

CPU and GPU Trends Chart from: http: //proteneer. com/blog/? p=263

CPU and GPU Trends n Compute ¨ Intel Core i 7 – 4 cores

CPU and GPU Trends n Compute ¨ Intel Core i 7 – 4 cores – 100 GFLOP ¨ NVIDIA GTX 280 – 240 cores – 1 TFLOP n Memory Bandwidth ¨ System Memory – 60 GB/s ¨ NVIDIA GT 200 – 150 GB/s n Install Base ¨ Over 200 million NVIDIA G 80 s shipped

Class Exercise n Graphics Pipeline

Class Exercise n Graphics Pipeline

Reminders n Piazza ¨ Signup: n https: //piazza. com/upenn/fall 2012/cis 565/ Git. Hub ¨

Reminders n Piazza ¨ Signup: n https: //piazza. com/upenn/fall 2012/cis 565/ Git. Hub ¨ Create an account: https: //github. com/signup/free ¨ Change it to an edu account: https: //github. com/edu ¨ Join our organization: https: //github. com/CIS 565 -Fall-2012 n No class Wednesday, 09/12