CS 264 Overview
You can watch the lecture live with the Harvard DCE Live Classrom and interact with us with our Adobe Connect Channel. The Video Archives are posted here.
Note that all lecture videos from the CS264 "2009 Edition" are now freely available on iTunes U.
Enjoy!
Note that all lecture videos from the CS264 "2009 Edition" are now freely available on iTunes U.
Enjoy!
Week 1: Introduction
Week 2: Architecture, Theory and Parallel Patterns
Tue Feb 1 (Lecture 2):
Architecture, Theory and Patterns
lecture: [pdf, slideshare]
Ressources:
What Every Programmer Should Know About Memory (2007) U. Drepper
Architecture, Theory and Patterns
lecture: [pdf, slideshare]
Ressources:
What Every Programmer Should Know About Memory (2007) U. Drepper
Thu Feb 3 (Lab 2):
Getting Started (cont'd)
Getting Started (cont'd)
Week 3: Introduction to GPU Computing with CUDA
Week 4: Intermediate-level CUDA
Week 5: Advanced-level CUDA
Week 6: CUDA Ninja Tricks
Tue Mar 1 (Lecture 6):
CUDA Ninja Tricks:
GPU Scripting, Meta-programming & Auto-tuning
lecture: [pdf, slideshare]
Ressources:
PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation (2011) A. Klöckner, N. Pinto, Y. Lee, B. Catanzaro, P. Ivanov, A. Fasih
GPU Meta-Programming: A Case Study in Biologically-Inspired Machine Vision (GPU Computing Gems Vol. 2, 2011) N. Pinto, D.D. Cox.
CUDA Ninja Tricks:
GPU Scripting, Meta-programming & Auto-tuning
lecture: [pdf, slideshare]
Ressources:
PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation (2011) A. Klöckner, N. Pinto, Y. Lee, B. Catanzaro, P. Ivanov, A. Fasih
GPU Meta-Programming: A Case Study in Biologically-Inspired Machine Vision (GPU Computing Gems Vol. 2, 2011) N. Pinto, D.D. Cox.
Week 7: Cluster Programming
Week 8: Spring Break !
Tue Mar 15: Happy Holidays !
Thu Mar 17: Happy Holidays !
Week 9: Cloud Computing with Amazon EC2 and MapReduce
Tue Mar 22 (Lecture 8):
Justin Riley (MIT)
Cloud Computing, Amazon EC2, MIT StarCluster
[pdf, slideshare]
Zak Stone (Harvard)
MapReduce & Hadoop
[pdf, slideshare]
Justin Riley (MIT)
Cloud Computing, Amazon EC2, MIT StarCluster
[pdf, slideshare]
Zak Stone (Harvard)
MapReduce & Hadoop
[pdf, slideshare]
Week 10: Guest Lectures (Part 1)
Tue Mar 29 (Guest Lecture 1):
Location: Maxwell Dworkin G125
Max Lin (Google Research) [twitter @m4xl1n]
Machine Learning on Big Data: Lessons Learned from Google Projects
lecture: [pdf, slideshare, abstract]
related links: google prediction slides [pdf, gdoc]
Wen-mei Hwu (UIUC) [webpage]
High-Level Programming Models for Heterogeneous Parallel Computing
lecture: postponed
related links: SC10 MasterWorks [pdf, abstract]
Location: Maxwell Dworkin G125
Max Lin (Google Research) [twitter @m4xl1n]
Machine Learning on Big Data: Lessons Learned from Google Projects
lecture: [pdf, slideshare, abstract]
related links: google prediction slides [pdf, gdoc]
Wen-mei Hwu (UIUC) [webpage]
High-Level Programming Models for Heterogeneous Parallel Computing
lecture: postponed
related links: SC10 MasterWorks [pdf, abstract]
Thu Mar 31 (Guest Lectures 2 & 3):
Location: Harvard Hall 104
Andreas Klöckner (NYU) [webpage]
Easy, Effective, Efficient: GPU Programming in Python with PyOpenCL and PyCUDA
lecture: [pdf, slideshare, abstract]
related links: research article, pycuda, pyopencl
Cyrus Omar (CMU) [webpage, twitter @neurocy]
cl.oquence: High-Level Language Abstractions for Low-Level Programming
lecture: [pdf, slideshare, abstract]
related links [atomic hedgehog, cl.oquence]
Location: Harvard Hall 104
Andreas Klöckner (NYU) [webpage]
Easy, Effective, Efficient: GPU Programming in Python with PyOpenCL and PyCUDA
lecture: [pdf, slideshare, abstract]
related links: research article, pycuda, pyopencl
Cyrus Omar (CMU) [webpage, twitter @neurocy]
cl.oquence: High-Level Language Abstractions for Low-Level Programming
lecture: [pdf, slideshare, abstract]
related links [atomic hedgehog, cl.oquence]
Week 11: Guest Lectures (Part 2)
Tue April 5 (Guest Lectures 4 & 5):
Location: Maxwell Dworkin G125
Mike Bauer (Stanford) [webpage]
Programming the Memory Hierarchy with Sequoia
lecture: [pdf, slideshare, abstract]
related links: sequoia
Cliff Wooley (NVIDIA) [webpage]
Analysis-Driven Performance Optimization with CUDA
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [pdf, video, abstract]
Location: Maxwell Dworkin G125
Mike Bauer (Stanford) [webpage]
Programming the Memory Hierarchy with Sequoia
lecture: [pdf, slideshare, abstract]
related links: sequoia
Cliff Wooley (NVIDIA) [webpage]
Analysis-Driven Performance Optimization with CUDA
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [pdf, video, abstract]
Thu April 7 (Guest Lecture 6):
Location: Harvard Hall 104
John Owens (UC Davis) [webpage]
Irregular Parallelism on the GPU: Algorithms and Data Structures
lecture: [pdf, slideshare, abstract]
related links: publications
Location: Harvard Hall 104
John Owens (UC Davis) [webpage]
Irregular Parallelism on the GPU: Algorithms and Data Structures
lecture: [pdf, slideshare, abstract]
related links: publications
Week 12: Guest Lectures (Part 3)
Tue April 12 (Guest Lecture 7):
Location: Maxwell Dworkin G125
Nicolas Vasilache (Reservoir Labs) [webpage]
The R-Stream High-Level Program Transformation Tool
(or "Programming GPUs without Writing a Line of CUDA")
lecture: [pdf, slideshare, abstract]
Nathan Bell (NVIDIA) [webpage]
High-Productivity CUDA Development with the Thrust Template Library
lecture: cancelled
related links: Talk at GTC'10 [pdf, video, abstract]
Location: Maxwell Dworkin G125
Nicolas Vasilache (Reservoir Labs) [webpage]
The R-Stream High-Level Program Transformation Tool
(or "Programming GPUs without Writing a Line of CUDA")
lecture: [pdf, slideshare, abstract]
Nathan Bell (NVIDIA) [webpage]
High-Productivity CUDA Development with the Thrust Template Library
lecture: cancelled
related links: Talk at GTC'10 [pdf, video, abstract]
Thu April 14 (Guest Lecture 8):
Location: Harvard Hall 104
Gregory Diamos (Georgia Tech) [website]
Dynamic Compilation for Massively Parallel Processors
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [pdf, video, abstract, ocelot]
Location: Harvard Hall 104
Gregory Diamos (Georgia Tech) [website]
Dynamic Compilation for Massively Parallel Processors
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [pdf, video, abstract, ocelot]
Week 13: Guest Lectures (Part 4) & Project Clinic
Tue April 19 (Guest Lectures 9 & 10):
Location: Maxwell Dworkin G125
James Malcom (AccelerEyes) [linkedin]
Jacket - Visual Computing
lecture: [pdf, slideshare, abstract]
David Rich (Microsoft Research)
The Onset of Parallelism, Changes in Computer Architecture and Microsoft's Role in the Transition
lecture: [pdf, slideshare, abstract]
Location: Maxwell Dworkin G125
James Malcom (AccelerEyes) [linkedin]
Jacket - Visual Computing
lecture: [pdf, slideshare, abstract]
David Rich (Microsoft Research)
The Onset of Parallelism, Changes in Computer Architecture and Microsoft's Role in the Transition
lecture: [pdf, slideshare, abstract]
Thu April 21 (Project Clinic):
Location: Harvard Hall 104
The teaching staff will be there to assist you and your projects.
Location: Harvard Hall 104
The teaching staff will be there to assist you and your projects.
Week 14: Guest Lectures (Part 5)
Tue April 26 (Guect Lecture 11):
Location: Maxwell Dworkin G125
Duane Merrill (University of Virginia) [webpage]
Managing Dynamic Parallelism on GPUs: A Case Study of High Performance Sorting
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [video, abstract]
Location: Maxwell Dworkin G125
Duane Merrill (University of Virginia) [webpage]
Managing Dynamic Parallelism on GPUs: A Case Study of High Performance Sorting
lecture: [pdf, slideshare, abstract]
related links: Talk at GTC'10 [video, abstract]
Thu April 28 (Project Period 1):
No class.
No class.
Week 15: Project Period (no class)
Tue May 3 (Project Period 2):
No class.
No class.
Thu May 5 (Project Period 3):
No class.
No class.
Week 16: Project Presentations
What are the lab sessions?
The lectures focus on concepts and theory, but there's often quite a gap between that and actually getting your code to run. There are a lot of details that are best practiced in a hands-on/tutorial environment with peers. Lab sessions will be held in the instructional computing lab in Room 104 at 53 Church St. where we have 30 MacPro PCs with NVIDIA GPUs. The sessions will be run by the TFs. The lab sessions loosely structured: We will discuss algorithms, share tips and tricks, answer any questions you may have, and address issues that come up. Do not treat this as a license to slack off. You are still expected to come to class and work hard.
What about guest lectures?
As you can see, various people with great expertise in different areas of massively parallel computing have agreed to give guest lectures. I am very excited about this, and would like to sincerely thank them for their time and efforts. Your attendance at guest lectures is mandatory and will count towards your participation grade.
Distance education students are of course exempt from attending the lab sessions and guest lectures in person. However, you can still benefit by joining the live or archived video streams and asking questions through Adobe Connect Live (see Requirements for details).
As you can see, various people with great expertise in different areas of massively parallel computing have agreed to give guest lectures. I am very excited about this, and would like to sincerely thank them for their time and efforts. Your attendance at guest lectures is mandatory and will count towards your participation grade.
Distance education students are of course exempt from attending the lab sessions and guest lectures in person. However, you can still benefit by joining the live or archived video streams and asking questions through Adobe Connect Live (see Requirements for details).