GPU Programming and Architecture: Course Overview

Similar documents
GPU Programming and Architecture: Course Overview

Administrivia. Administrivia. Administrivia. CIS 565: GPU Programming and Architecture. Meeting

CS 179: GPU Programming

Programming with CUDA

Introduction CPS343. Spring Parallel and High Performance Computing. CPS343 (Parallel and HPC) Introduction Spring / 29

Lecture 1: Gentle Introduction to GPUs

Introduction to CUDA (1 of n*)

NVIDIA Fermi Architecture

CS559: Computer Graphics. Lecture 1 Introduction Li Zhang University of Wisconsin, Madison

Introduction to Information Technology ITP 101x (4 Units)

CME 213 S PRING Eric Darve

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

CS 179: GPU Computing LECTURE 4: GPU MEMORY SYSTEMS

GPGPU, 1st Meeting Mordechai Butrashvily, CEO GASS

Database Systems (INFR10070) Dr Paolo Guagliardo. University of Edinburgh. Fall 2016

Graphics Processor Acceleration and YOU

F17 Modern Version Control with Git. Aaron Perley

Spring 2011 Prof. Hyesoon Kim

GP-GPU. General Purpose Programming on the Graphics Processing Unit

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1

EECS150 Lab Lecture 0

CS354 Computer Graphics Introduction. Qixing Huang Januray 17 8h 2017

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Credit: The lecture slides are created based on previous lecture slides by Dan Zingaro.

COMP3221: Microprocessors and. Embedded Systems

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

CMPE 150/L : Introduction to Computer Networks

Programming Game Engines ITP 485 (4 Units)

CIS 3308 Web Application Programming Syllabus

CSC 111 Introduction to Computer Science (Section C)

15-411/ Compiler Design

CS535: Interactive Computer Graphics

Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University

CS6963. Course Information. Parallel Programming for Graphics Processing Units (GPUs) Lecture 1: Introduction. Source Materials for Today s Lecture

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

Introduction to Computer Systems

CSc 2310 Principles of Programming (Java) Jyoti Islam

Trina Gregory. Background. Contact

CS GPU and GPGPU Programming Lecture 1: Introduction. Markus Hadwiger, KAUST

I. PREREQUISITES For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Announcements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

Spring 2009 Prof. Hyesoon Kim

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

CISC 3130 Data Structures Fall 2018

EECE.2160: ECE Application Programming Spring 2017

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

EE , GPU Programming

Computer Science 210: Data Structures

Enterprise Network Design ITP 499 (3 Units)

ESET 349 Microcontroller Architecture, Fall 2018

Hardware/Software Co-Design

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

Introduction to GPU hardware and to CUDA

CSCE 441 Computer Graphics Fall 2018

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CS 668 Parallel Computing Spring 2011

Internet Web Technologies ITP 104 (2 Units)

Introduction to Computer Systems

Power Efficiency for Software Algorithms running on Graphics Processors. Björn Johnsson Per Ganestam Michael Doggett Tomas Akenine-Möller

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSC116: Introduction to Computing - Java

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CIS192: Python Programming

Transforms 3: Projection Christian Miller CS Fall 2011

Course and Contact Information. Course Description. Course Objectives

COMP 322: Fundamentals of Parallel Programming

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Distributed Systems Intro and Course Overview

ECE Object-Oriented Programming using C++ and Java

Announcements. 1. Forms to return today after class:

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

Maya , MotionBuilder & Mudbox 2018.x August 2018

Unit 10: Data Structures CS 101, Fall 2018

CISC 3130 Data Structures Spring 2018

Cross Teaching Parallelism and Ray Tracing: A Project based Approach to Teaching Applied Parallel Computing

CSC116: Introduction to Computing - Java

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

Overview of the Class and Introduction to DB schemas and queries. Lois Delcambre

WebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01

CS240: Programming in C

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

IML 300: Reading and Writing the Web

CSCI 201L Syllabus Principles of Software Development Spring 2018

GPU for HPC. October 2010

Course and Contact Information. Course Description. Course Objectives

CIS 665: GPU Programming and Architecture. Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider

COS 318: Operating Systems. Introduction

CUDA Performance Considerations (2 of 2)

Physics 2660: Fundamentals of Scientific Computing. Lecture 7 Instructor: Prof. Chris Neu

CSC116: Introduction to Computing - Java

Fra superdatamaskiner til grafikkprosessorer og

Using Graphics Chips for General Purpose Computation

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

Introduction to Data Structures

Laptop Requirement: Technical Specifications and Guidelines. Frequently Asked Questions

Transcription:

Lectures GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS 565 - Fall 2012 Monday and Wednesday 6-7:30pm Moore 212 Lectures are 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/ Instructor Patrick Cozzi Instructor Email pjcozzi+cis565@gmail.com Office Hours After class Generally, I m here as long as you re here If you are curious, see http://www.seas.upenn.edu/~pcozzi/ 1

Teaching Assistant CIS 565 Hall of Fame Karl Li: yiningli@seas.upenn.edu Office Hours SIG Lab Tuesday, TBA Friday, TBA Jon McCaffrey Krishnan Ramachandran Varun Sampath Sean Lilley Ian Lilley Are you next? If you are curious, see http://www.yiningkarlli.com/ Prerequisites Passion for computer graphics CIS 460/560. Preferably received an A Strong C or C++ Also useful: CIS 371 or CIS 501 Course Website http://www.seas.upenn.edu/~cis565/ Schedule, reading, slides, audio, projects, etc. 2

Piazza https://piazza.com/upenn/fall2012/cis565/ Be active; let s build a course community GitHub 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-2012 Who is new to source control? Recommended Books Real-Time Rendering 2008, Tomas Akenine-Möller, Eric Haines, and Naty Hoffman GPU Graphics Processing Unit Is it still just for graphics? OpenGL 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/ece498/al/syllabus.html 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 3

Start with GPU architecture programming model for GPU Compute GPU Compute example: conjunction analysis Parallel algorithms that form building blocks http://www.youtube.com/watch?v=dtt3pth_q-8 4

example: Scan Given: Historical and modern graphics pipeline 3 1 7 0 4 1 6 3 Compute: 0 3 4 11 11 15 16 22 Graphics Pipeline In parallel! Turbulenz WebGL OpenGL / WebGL Graphics Pipeline http://www.youtube.com/watch?v=ajg_bmy9-8o 5

AMD Toyshop Demo Real-Time Rendering Real-Time Rendering OpenGL / WebGL Graphics Pipeline http://www.youtube.com/watch?v=ltxvps5ayhq AMD Leo Demo GPU Compute + Rendering http://www.youtube.com/watch?v=zyween6dfcu http://www.nvidia.com/object/gtx_400_games_demos.html 6

Mobile Performance! Mobile Mobile Real-Time Rendering Real-Time Rendering OpenGL / WebGL OpenGL / WebGL Graphics Pipeline Graphics Pipeline To scale! Grading Projects 60% Final Project 40% Final 0% Projects Intense. Usually one week. Significantly more work than previous semesters. 7

Projects Each project has Coding 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 Class will be canceled that day 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 8

Projects Can be done as open source Build 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 Intensity Academic Integrity Effort Effort http://www.upenn.edu/academicintegrity/ An academic integrity violation will result in the student receiving an F in this course Student Due date Time Pro boxer Fight night Time Get approval for all code you didn t write yourself with the TA in advance 9

GPU Requirements Most projects require an NVIDIA GeForce 8 series or higher Update your drivers: http://www.nvidia.com/download/index.aspx What GPU do I have? What OpenGL/OpenCL/ version: http://www.ozone3d.net/gpu_caps_viewer/ 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 Contact Karl CPU and GPU Trends CPU and GPU Trends FLOPS FLoating-point OPerations per Second GFLOPS - One billion (10 9 ) FLOPS TFLOPS 1,000 GFLOPS Chart from: http://proteneer.com/blog/?p=263 10

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 GT200 150 GB/s Install Base Over 200 million NVIDIA G80s shipped Class Exercise Graphics Pipeline Reminders Piazza Signup: https://piazza.com/upenn/fall2012/cis565/ 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-2012 No class Wednesday, 09/12 11