CMSC 828E: Seminar on Scientific Computing on Graphical Processors
Class: TuTh......12:30pm- 1:45pm (CSI 3120)
Office Hours: Tuesday 2:00 -3:15 and by appointment, in AVW 3365.
Instructor: Ramani Duraiswami E-mail: ramani AT umiacs.umd.edu;
Textbook: None.
This course is project oriented, and will involve discussions of papers, parallel programming strategies for particular classes of scientific computing problems.
Collaboration Policy: You may study together and discuss problems and methods of solution with each other to improve your understanding. You are welcome to discuss assignments in a general way among yourselves, and on joint projects. However, you must clearly cite where this is the case.
You are responsible for checking this page.
Policy: Honor code http://www.studenthonorcouncil.umd.edu/code.html
Grading: Project 40%, Homework 25%, Class/Forums/Wiki Participation 35%
DATE |
LECTURE |
CONTENTS |
Reading/Remarks |
01/27, 2009 (Tuesday) |
Lecture 0 |
Class
canceled due to the weather |
|
01/29, 2009 (Thursday) |
Lecture 0 |
Introduction
to the course. Introductions. Grading. What the course is about.
Participation. Projects. |
|
02/03, 2009 (Tuesday) |
Trends
in scientific computing. Growth in problem size. Growth in datasets. Trends in
computer architecture. End of |
G.
Moore, "Cramming
More Components onto integrated circuits," Electronics, 38, 1965 |
|
02/05, 2009 (Thursday) |
Introduction
to the GPU architecture. GPU model of parallelism. Concurrency. Threads.
CUDA. Memory. Scheduling. |
Peter Zalutskis CUDA slides |
|
02/10, 2009 (Tuesday) |
Lecture 3 |
Introduction to CUDA programming |
CUDA 2.1 programming guide |
Due Feb 17/24 |
Getting started programming |
|
|
02/12, 2009 (Thursday) |
CUDA programming |
|
|
02/17, 2009 |
Matrix multiplication |
|
|
02/19, 2009 |
Kate DeSpain |
FFTs on the GPU |
|
02/24, 2009 |
Global and Shared Memory access issues |
Read Chapter 5 of the manual |
|
02/26, 2009 |
Lecture 8 |
Event link. |
NVIDIA EVENT (RSVP) |
03/03/2009 |
Thread organization |
|
|
03/03/ 2009 |
Homework |
Homework, implement a simple version of the parallel prefix scan algorithm to sum up a vector (based on the SDK), and benchmark your application. Read papers below |
|
03/05/2009 |
Adam Odonovan |
Parallel prefix scan; CUDA Performance Primitives Library |
|
03/10/2009 |
Typical Scientific Computing Problems: A survey Dense matrix algorithms |
Scientific Computing with Case Studies, by Dianne P. O'Leary |
|
03/12/2009 |
Lecture 12 Aparna Kotha |
Parallel Programming Patterns |
UIUC site; UC Berkeley site and article;
|
03/17/2009 |
Spring Break |
|
|
03/24/2009 |
Lecture 13 |
Introduction to Flagon |
|
03/26/2009 |
Lecture 14 |
Introduction to Jacket Project discussions |
|
03/31/2009 |
Lecture 15 |
Project requirements and review |
|
04/02/2009 |
CUDA CANNY PIC codes on CUDA |
Stantchev paper |
|
04/07/2009 |
The fast multipole method – an introduction to the algorithm Lecture by Nail Gumerov |
|
|
04/09/2009 |
The FMM on the GPU Lecture by Nail Gumerov |
FMM GPU paper |
|
04/14/2009 |
Lecture 19 |
Project Updates: Dickerson: Computing Kerr tails on the GPU Despain: Adding Multi-GPU support to Flagon O’Donovan: Displaying scientific calculation results from CUDA Further Case Studies (Finite Difference for PDEs on CUDA) |
|
04/16/2009 |
Lecture 20 |
Project Updates: Konda: LVIS data processing in CUDA Lamphier: SVM on CUDA Continued: Finite Difference for PDEs on CUDA |
http://people.maths.ox.ac.uk/~gilesm/hpc/ |
04/21/2009 |
Lecture 21 |
Project Updates (Srinivasan, ) |
|
04/23/2009 |
Lecture 22 |
|
|
04/28/2009 |
Lecture 23 |
|
|
04/30/2009 |
Lecture 24 |
|
|
05/05/2009 |
Designing a CUDA program: Application patterns |
|
|
05/07/2009 |
Project demos (DeSpain, Srinivasan) Lecture: Other CUDA features |
|
|
05/12/2009 |
Lecture 27 |
Project demos (Anand, Dickerson, Hakim, Konda, Kotha, Lamphier, Liu, O’Donovan) |
|
Useful Links