Lecture Time and Location. MoWe 4:00 pm - 5:20 pm, Earth & Space 079, West Campus
Instructor. Rezaul A. Chowdhury (rezaul{at}cs{dot}stonybrook{dot}edu)
Office Hours. MoWe 2:00 pm - 3:30 pm, Room 239 (New Computer Science Building)
Course Description. We will explore algorithms and techniques for programming on various state-of-the-art parallel computing platforms. The course will be split into two parts. The first part will consist of 10-15 lectures with 2-3 lectures devoted to each of the following five topics.
This course is supported by an educational grant XSEDE (Extreme Science and Engineering Discovery Environment). We will use the computing environments provided by XSEDE for homeworks and projects.
Prerequisites. Background in algorithms analysis (e.g., CSE 373 or CSE 548) and programming languages (e.g., C/C++) is required (or consent of instructor). Computer architecture background (e.g., CSE 320 or CSE 502) will be helpful, but not essential.
Recommended Texts. No specific textbook will be followed. However, here is a list of some useful books.
Course Requirements. During the first part of the course there will be 4 programming assignments. During the second part each student will present one paper (at most 1 hour), write a report on a paper presented by another student, and complete a group project. The group project will also include three group presentations: one 10-15 min project proposal at the start of the 6th week of classes, one 10-15 min project progress report presentation after spring break, and one 25-30 min project presentation towards the end of the course. The course grade will be based on the following.
Blackboard. Some course documents (e.g., homework assignments) will be available through Blackboard.
Lecture Schedule.
Date | Topic | Notes / Reading Material | |
Mon, Jan 25 | Introduction | - | |
Wed, Jan 27 | Analytical Modeling and Limits of Parallelism |
|
|
Mon, Feb 1 | Analytical Modeling and Limits of Parallelism (continued) | - | |
Wed, Feb 3 | The Cilk++ Concurrency Platform |
|
|
Mon, Feb 8 | All SBU Classes Canceled | - | |
Wed, Feb 10 | The Cilk++ Concurrency Platform (continued) | - | |
Mon, Feb 15 | The Cilk++ Concurrency Platform (continued) Analyzing Multithreaded Algorithms |
|
|
Wed, Feb 17 | Analyzing Multithreaded Algorithms (continued) | - | |
Mon, Feb 22 | Introduction to OpenMP Lecturer: Mohammad Mahdi Javanmard |
- | |
Wed, Feb 24 | Introduction to OpenMP (continued) Lecturer: Mohammad Mahdi Javanmard |
- | |
Mon, Feb 29 | Analyzing Multithreaded Algorithms (continued) | - | |
Wed, Mar 2 | The Message Passing Interface |
|
|
Mon, Mar 7 | The Message Passing Interface (continued) | - | |
Wed, Mar 9 | Analyzing Distributed Memory Algorithms |
|
|
Mon, Mar 14 | Spring Break | - | |
Wed, Mar 16 | Spring Break | - | |
Mon, Mar 21 | Introduction to Concurrent Collections (CnC) Lecturer: Mohammad Mahdi Javanmard |
- | - |
Wed, Mar 23 | Analyzing Distributed Memory Algorithms (continued) | - | |
Mon, Mar 28 | GPGPU Computing & CUDA |
|
|
Wed, Mar 30 | MapReduce & Hadoop |
|
|
Mon, Apr 4 | Student Presentations | - | |
Wed, Apr 6 | Student Presentations | - | |
Mon, Apr 11 | Student Presentations | - | |
Wed, Apr 13 | Student Presentations | - | |
Mon, Apr 18 | Student Presentations | - | |
Wed, Apr 20 | Student Presentations | - | |
Mon, Apr 25 | Student Presentations | - | |
Wed, Apr 27 | Student Presentations | - | |
Mon, May 2 | Student Presentations | - | |
Wed, May 4 | Student Presentations | - |
Homeworks.