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

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
Welcome to Physics 1809! General Physics Lab Spring 2013.
ITCS 3181 Logic and Computer Systems
Introduction to Management Information Systems 00 – Course Overview HTM304 Fall 07.
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.
1 CPT S 223: Advanced Data Structures (section 01) Fall 2010 School of EECS Washington State University, Pullman MWF 10:10-11 Sloan 5.
CS 450: COMPUTER GRAPHICS COURSE AND SYLLABUS OVERVIEW SPRING 2015 DR. MICHAEL J. REALE.
Welcome to CS 115! Introduction to Programming Fall 2015.
GLSL Sandbox Hackathon Patrick Cozzi University of Pennsylvania CIS Fall 2012.
COMP4070 Computer Graphics Dr. Amy Zhang. Welcome! 2  Introductions  Administrative Matters  Course Outline  What is Computer Graphics?
Math 125 Statistics. About me  Nedjla Ougouag, PhD  Office: Room 702H  Ph: (312)   Homepage:
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
Course Overview Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Fall 2013.
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.
GPU Programming and Architecture: Course Overview Patrick Cozzi University of Pennsylvania CIS Spring 2012.
F15 Modern Version Control with Git Andrew Benson Sign in on the attendance sheet!
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.
Welcome!! CIT 593 Intro to Computer Systems aka “Introduction to Computer Architecture” Fall 2012.
Course Introduction Bryce Boe 2013/09/30 CS24, Fall 2013.
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Matter and Interactions 1 Fall 2006 Matter & Interactions I Physics Professor & Lecturer: Dr. Reinhard Schumacher Teaching Assistants: Ms. Elisa.
고급 컴퓨터 그래픽스 중앙대학교 컴퓨터공학부 손 봉 수. Course Overview Level : CSE graduate course No required text. We will use lecture notes and on-line materials This course.
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.
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.
고급 컴퓨터 그래픽스 중앙대학교 컴퓨터공학부 손 봉 수. 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.
Programming with CUDA WS 08/09 Lecture 1 Tue, 21 Oct, 2008.
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.
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 Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
CSC4841/6841 Computer Animation Administrative Issues & Course Overview Ying Zhu.
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.
CS203 – Advanced Computer Architecture Introduction Daniel Wong, Assistant Professor Department of Electrical and Computer Engineering Cooperating Faculty,
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
Computer Network Fundamentals CNT4007C
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
Dr. Barry Wilkinson © B. Wilkinson Modification date: Jan 9a, 2014
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
Computer Networks CNT5106C
EE 147 – GPU Computing and Programming
CS201 – Course Expectations
Presentation transcript:

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

Lectures Monday and Wednesday 6-7:30pm Moore 212 Lectures are recorded Attendance is required for guest lectures Image from

Instructor Patrick Cozzi If you are curious, see

Instructor  Office Hours  After class  Generally, I’m here as long as you’re here

Teaching Assistant Karl Li: Office Hours  SIG Lab  Tuesday, TBA  Friday, TBA If you are curious, see

CIS 565 Hall of Fame Are you next? Krishnan Ramachandran Jon McCaffrey Varun Sampath Sean Lilley Ian Lilley

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 Schedule, reading, slides, audio, projects, etc.

Piazza 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 2010, 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 Contents GPU – Graphics Processing Unit Is it still just for graphics? Images from and

Course Contents GPU Architecture Start with GPU architecture Not to scale

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

Course Contents GPU Compute example: conjunction analysis

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

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

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

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

Turbulenz

Course Contents 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 Contents Mobile Real-Time Rendering OpenGL / WebGL Graphics Pipeline Parallel Algorithms CUDA GPU Architecture Mobile Not to scale

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

Grading Projects 60% Final Project 40% Final 0%

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

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

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

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 Contact Karl

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 GT200 – 150 GB/s Install Base  Over 200 million NVIDIA G80s shipped

Class Exercise Graphics Pipeline

Reminders Piazza  Signup: GitHub  Create an account:  Change it to an edu account:  Join our organization: No class Wednesday, 09/12