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

Slides:



Advertisements
Similar presentations
1 CS 4396 Computer Networks Lab General Info. 2 Goal: This course aims at helping students get more insight into how the Internet works and gain hands.
Advertisements

Lecture 1: Introduction
CIS 565: GPU Programming and Architecture Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider and Patrick Cozzi.
ITCS 3181 Logic and Computer Systems
FSOSS Dr. Chris Szalwinski Professor School of Information and Communication Technology Seneca College, Toronto, Canada GPU Research Capabilities.
ITCS 3181 Logic and Computer Systems
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
CS 450: COMPUTER GRAPHICS COURSE AND SYLLABUS OVERVIEW SPRING 2015 DR. MICHAEL J. REALE.
CHEMISTRY 10123/10125 Spring 2007 Instructor: Professor Tracy Hanna Phone: Office: SWR 418
GLSL Sandbox Hackathon Patrick Cozzi University of Pennsylvania CIS Fall 2012.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Introduction to CUDA (1 of 2) Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Introduction to CUDA 1 of 2 Patrick Cozzi University of Pennsylvania CIS Fall 2012.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/ Introduction Lecture 01: Introduction COMP 175: Computer Graphics January 15, 2015.
ECEN 301Discussion #1 – Syllabus1 All Sections MWF 1:00 – 1:50 PM 256 CB Lecture: MW Recitation: F Labs: M or Th Instructor: Prof. David Long Office: CB.
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 3, 2011outline.1 ITCS 6010/8010 Topics in Computer Science: GPU Programming for High Performance.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
NVIDIA Fermi Architecture Patrick Cozzi University of Pennsylvania CIS Spring 2011.
CS179: GPU Programming Lecture 16: Final Project Discussion.
GPU Architecture Overview
Matter and Interactions 1 Fall 2006 Matter & Interactions I Physics Professor & Lecturer: Dr. Reinhard Schumacher Teaching Assistants: Ms. Elisa.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Fall 2014.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Fall 2012.
IST 210: Organization of Data
ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, Dec 26, 2012outline.1 ITCS 4145/5145 Parallel Programming Spring 2013 Barry Wilkinson Department.
EECS 583 – Class 21 Research Topic 3: Compilation for GPUs University of Michigan December 12, 2011 – Last Class!!
Introduction to CUDA (1 of n*) Patrick Cozzi University of Pennsylvania CIS Spring 2011 * Where n is 2 or 3.
1 Workshop 9: General purpose computing using GPUs: Developing a hands-on undergraduate course on CUDA programming SIGCSE The 42 nd ACM Technical.
GPU Programming Shirley Moore CPS 5401 Fall 2013
고급 컴퓨터 그래픽스 중앙대학교 컴퓨터공학부 손 봉 수. Course Overview Level : CSE graduate course No required text. We will use lecture notes and on-line materials This course.
Course Overview Mark Stanovich COP 5641 / CIS 4930.
MGS 351 Introduction to Management Information Systems Lecture #1.
Hackathon Patrick Cozzi University of Pennsylvania CIS Fall 2013.
Introduction to CUDA 1 of 2 Patrick Cozzi University of Pennsylvania CIS Fall 2014.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, University of Illinois, Urbana-Champaign 1 Graphic Processing Processors (GPUs) Parallel.
GPU Architecture Overview Patrick Cozzi University of Pennsylvania CIS Fall 2013.
1 CS 4396 Computer Networks Lab General Info. 2 Goal: This course aims at helping students get more insight into how the Internet works and gain hands.
Computer Networks CNT5106C
Course Overview CSE5319/7319 Software Architecture and Design Spring 2016 Dr. LiGuo Huang Dept. of Computer Science and Engineering Southern Methodist.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
GPU Programming and Architecture: Project 0 Walkthrough Liam Boone University of Pennsylvania CIS Fall 2013.
1 1.Log in to the computer in front of you –Temp account: 210class / 2.Update your in Cascadia's system –If I need to you I'll use.
GPU Architecture Overview Patrick Cozzi University of Pennsylvania CIS Fall 2012.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
GPU Architecture and Its Application
Welcome to CSE 502 Introduction.
Computer Networks CNT5106C
CS/EE 217 – GPU Architecture and Parallel Programming
Welcome to CS 1010! Algorithmic Problem Solving.
CS/EE 217 – GPU Architecture and Parallel Programming
Welcome to CS 1010! Algorithmic Problem Solving.
ECE 8823: GPU Architectures
Welcome to CSE 502 Introduction.
Human Media Multicore Computing Lecture 1 : Course Overview
Human Media Multicore Computing Lecture 1 : Course Overview
Human Media Multicore Computing Lecture 1 : Course Overview
EE 147 – GPU Computing and Programming
Graphics Processing Unit
Presentation transcript:

GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Fall 2013

Lectures Monday and Wednesday 6-7:30pm Towne 307 Fall and Spring 2012 lectures were recorded FallSpring Attendance is required for guest lectures Image from

About Me Patrick Cozzi See

About Me  Office Hours  After class  I’m here as long as you’re here

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.

Teaching Assistant Liam Boone: Office Hours  SIG Lab  TBA See

CIS 565 Hall of Fame Are you next? Krishnan Ramachandran Jon McCaffrey Varun Sampath Sean Lilley Ian Lilley Tiju Thomas Zakiuddin Shehzan Mohammed Gundeep Singh Seunghoon Park

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

Course Website Schedule, reading, slides, projects, etc.

Google Group Send to Be active; let’s build a course community

GitHub Used for course materials, projects, and the final project Create an account:  Join our GitHub organization:  Who is new to source control?

Recommended Books Programming Massively Parallel Processors 2012, David Kirk and Wen-mei Hwu Old draft: OpenGL Insights 2012, Patrick Cozzi and Christophe Riccio, Editors Readings handed out in class Real-Time Rendering 2008, Tomas Akenine-Möller, Eric Haines, and Naty Hoffman

Course Topics GPU – Graphics Processing Unit Is it still just for graphics? Images from and

Course Topics GPU Architecture Start with GPU architecture Not to scale

Course Topics CUDA GPU Architecture CUDA programming model for GPU Compute Not to scale

Course Topics GPU Compute example: conjunction analysis

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

Course Topics Parallel Algorithms example: Scan  Given:  Compute:  In parallel!

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

Course Topics OpenGL / WebGL Graphics Pipeline Parallel Algorithms CUDA GPU Architecture OpenGL and WebGL Not to scale

Doarama

Turbulenz

Unreal 3

Course Topics Real-Time Rendering OpenGL / WebGL Graphics Pipeline Parallel Algorithms CUDA GPU Architecture Real-Time Rendering Not to scale

AMD Toyshop Demo

AMD Leo Demo

GPU Compute + Rendering

Course Topics Mobile Real-Time Rendering OpenGL / WebGL Graphics Pipeline Parallel Algorithms CUDA GPU Architecture Mobile Not to scale

Course Topics Mobile Real-Time Rendering OpenGL / WebGL Graphics Pipeline Parallel Algorithms CUDA GPU Architecture To scale! Performance!

Course Topics Topics are as time permits We constantly adjust the schedule during the semester

Guest Lectures Shehzan Mohammed Tim Kaldewey Eric Haines Eric Lengyel Kevin Ring …

Hackathons Cancel class, and code for prizes instead

Grading Projects 60% Final Project 40% Final 0%

Projects Intense. Significantly more work than other courses.

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

Projects Due anytime on the due date Submitted using GitHub Late Policy  1 second to 1 week late: 50% deduction

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

Projects Can be done as open source  Build your code portfolio Want to use private repos? Get a free edu account 

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

Intensity Time Effort Time Effort Due date Fight night StudentPro boxer

Last Semester’s Projects

Academic Integrity 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

GPU Requirements Most projects require an NVIDIA GeForce 8 series or higher Update your drivers:  What GPU do I have? What OpenGL/OpenCL/CUDA version: 

GPU Requirements Lab Resources  Moore 100b - NVIDIA GeForce 9800s  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

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

CPU and GPU Trends Chart from:

CPU and GPU Trends Compute  Intel Core i7 – 4 cores – 100 GFLOP  NVIDIA GTX280 – 240 cores – 1 TFLOP Memory Bandwidth  System Memory – 60 GB/s  NVIDIA GTX680 – 200 GB/s  PCI-E Gen3 – 8 GB/s Install Base  Over 400 million CUDA-capable GPUs

CPU and GPU Trends Single-core performance slowing since 2003  Power and heat limits GPUs delivery higher FLOP per  Watt  Dollar  Mm 2012 – GPU peak FLOP about 10x CPU

Class Exercise Graphics Pipeline

Reminders Google Group  Signup: GitHub  Create an account:  Change it to an edu account:  Join our organization: