(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.

Slides:



Advertisements
Similar presentations
ITCS 3181 Logic and Computer Systems
Advertisements

Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
ITCS 3181 Logic and Computer Systems
CS/CMPE 535 – Machine Learning Outline. CS Machine Learning (Wi ) - Asim LUMS2 Description A course on the fundamentals of machine.
CS 524 – High- Performance Computing Outline. CS High-Performance Computing (Wi 2003/2004) - Asim LUMS2 Description (1) Introduction to.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistants: Hailong Cai & Zhimin Wang Department of Computer Science & Engineering University of Nebraska-Lincoln.
ECE200 – Computer Organization Course Introduction.
EET 4250: Microcomputer Architecture Fall 2009 William Acosta URL:
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Mr. Sheng Zhang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
1 Computer Engineering Department Islamic University of Gaza ECOM 6301: Advanced Computer Architectures (Graduate Course) Fall 2013 Prof. Mohammad A. Mikki.
Computer Network Fundamentals CNT4007C
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Course Introduction Software Engineering
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
ENG3640 Micro Computer Interfacing General Information Handout Fall 2012, September 7 th ENG3640 Fall
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.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Course Information Sarah Diesburg Operating Systems COP 4610.
Lecture 01: Welcome Computer Architecture! Kai Bu
1 CSCI 3120: Operating Systems Summer 2003 Instructor: Kirstie Hawkey Office hours (outside Room 311): Mon: 2:30-3:30, Fri: 10:30-11:30.
MRKT 370 – PRINCIPLES OF MARKETING FALL 2003 Dr. Ugur Yucelt Office Phone: Class Time: MW: 12:30-1:45 Office hours: MW:2:00-6:00 pm
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CPE 432 Computer Design Dr. Walid Abu-Sufah 1CPE 432 Computer Design.
Course Overview for Compilers J. H. Wang Sep. 14, 2015.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Computer Networks CNT5106C
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Ms. Yuanyuan Lu Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
Lecture 01: Welcome Computer Architecture! Kai Bu
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Computer Network Fundamentals CNT4007C
Introduction to Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Andy Wang Object Oriented Programming in C++ COP 3330
CSCE 121, Sec 200 Fall 2012 Prof. Jennifer L. Welch.
ECE 3056: Architecture, Concurrency and Energy in Computation
Computer Networks CNT5106C
CS/EE 217 – GPU Architecture and Parallel Programming
CPE741: Distributed Systems Course Introduction
Course Information Mark Stanovich Principles of Operating Systems
Computer Networks CNT5106C
CS/EE 217 – GPU Architecture and Parallel Programming
Andy Wang Operating Systems COP 4610 / CGS 5765
Dr. Barry Wilkinson © B. Wilkinson Modification date: Jan 9a, 2014
Andy Wang Object Oriented Programming in C++ COP 3330
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
Andy Wang Operating Systems COP 4610 / CGS 5765
ENG3380 Computer Organization
Andy Wang Operating Systems COP 4610 / CGS 5765
ECE 8823: GPU Architectures
Human Media Multicore Computing Lecture 1 : Course Overview
CIS5930: Advanced Topics in Parallel and Distributed Systems
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
Term Dr Abdelhafid Bouhraoua
CSCI 1730: C++ and System Programming
CPE 626 Advanced VLSI Design, Spring 2002 Admin
Presentation transcript:

(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar

(2) Course Objectives Basic CUDA Programming  Programming Model: Basic structures and idioms  Simple microarchitecture-targeted optimizations Core concepts of general purpose graphics processing unit (GPGPU) architecture  Execution Model: How massively parallel program execution is orchestrated using the Single Instruction Multiple Thread (SIMT) model  Basic microarchitecture: Organization principles Advanced microarchitecture concepts oOptimization of control flow, memory access behavior, and thread scheduling oDatapath organization, power/energy optimizations

(3) What You Will Do Understand how GPU architectures work  Fundamental architectural concepts and challenges Acquire knowledge to optimize systems  As a designer  As a user  As a researcher Assignments (tentative)  CUDA Programming (2-3)  Build an instruction set emulator for a GPU processor  Implement solutions for control and memory divergence  Project: cycle-level microarchitecture simulator or equivalent oMultiple components

(4) What You Will Learn How the bulk synchronous parallel (BSP) model is represented in CUDA  Basic organizational principles of a CUDA program  To write some simple CUDA programs The Single Instruction Multiple Thread (SIMT) execution model  And how the hardware executes them Determinants of SIMT program performance  And how it can be improved

(5) Course Information Web page: ass/ece8823/Fall2015  Will be constantly updated, so check it regularly Prerequisite: ECE 4100/6100 or CS 4290/6290 Course Materials: D. Kirk and W. Hwu, “Programming Massively Parallel Processors: A Hands On Approach,” Morgan Kaufmann (pubs), Second Ed., 2012 Journal & Conference papers, patents, class notes Online content for the text

(6) Grading Policy Homework Assignments: 40%  Individual work, no collaboration other than specified!  No late assignments will be accepted  You are expected to make a passing grade on the assignments to pass the course! Exams  Midterm: 15% (October 7 th, 2015)  Assignments: 40%  Project: 30%  Final: 15%: December 9 th, 2015, 2:50-5:40 Teaching Assistant: Si Li (contact info TBD)

(7) 7 Academic Honesty You are allowed and encouraged to discuss assignments with other students in the class Any copying of code is unacceptable  Includes reading someone else’s code and then going off to write your own  Includes verbal specific directions on data structures and code Giving/receiving help on an exam is unacceptable

(8) Preliminary Course Layout* CUDA Programming (CUDA Programming Guide)  Introduction to CUDA C (Chapter 3)  CUDA Data Parallel Execution Model (Chapter 4)  Memory Hierarchy (Chapter 5, Chapter 8.3)  Performance Issues (Chapter 6) GPU Microarchitecture (papers, patents) Control Divergence (papers) Memory Divergence (papers) Scheduling (papers) Power (papers) Advanced Topics (CDP, OpenCL, OpenACC) *Note that this is subject to change 3-4 Weeks 2-3 Weeks 1-2 Weeks 2-3 Weeks 1-2 Weeks 1 Week

(9) Tentative Lecture and Assignment Schedule

(10) Getting A Good Grade Attend class and ask questions in and out of class! Follow reading assignments Start early on assignments – they will take time! Listen in class – pay attention to suggestions Make use of the TA, Piazza, my office hours, and Do your own work!

(11) Getting a Poor Grade Miss class Go weeks without reading or following up on lecture material Late start on assignments Ignore readings Rely on others to tutor you Poor coding habits Ignore gaps in your understanding Pay poor attention to assignment contents

(12) Lets Get Started……….