Parallel Programming

CS 4/59995
Spring 2011

Professor: Dr. Johnnie W. Baker
Classroom 276 MSB, MWF 2:15-3:05 pm
Office: MSB 260
Office Hours: MWF 12:00-1:00
Telephone: (330) 672-9061

Announcements and Comments:

Course Syllabus (with live links)

Reading Assignments:

Date Assigned

Assigned Reading

 1/14/11 Chapter 1 of Textbook. Please read in advance to coverage in class
   Chapter 2 of Textbook
 1/24/11  Chapter 3 of Textbook
 2/4/11  Parts of Chapters 4 and 6 discussed in slides
2/7/11 Online reference numbers 8,9,11
   In general, all available, cited references for each slide set - whether listed here or not

Problem Assignments:

Set Number

Date Assigned


Presentation/Due Date


 1/26/11  Ch 1 probs 1,2,8,7 plus #0 (added)



   Ch 2, probs  2/18/11



 Ch 3 Problems 1-4 at end of Chpt 3 Slides



 2/18/11  Programming Assignment 1 (OpenMP)  Discuss in 1 week

 3 extended

 3/7/11  Ch. 3 Problems 1-9 on last slide of Chpt 3  Due in 1 week


 4/13/11  Matrix Multiplication, (as describe in 4/13 class) using Cuda Language . See references for 4/13 class and discussion of this problem in Chapters 3-6 in "Programming Massively Parallel Processors" textbook by Kirk & Hwu Semi-final version due 4/29/11 and final version due 5/6/11

Presentation Slides:

 Date Started


Main Reference

 Last update

1/10/11 Discuss Syllabus    
 1/14/11 Introduction  Chapter 1 of Textbook  1/26
 1/19/11 Intro to Parallel Architectures  Chpt 2 of Textbook  1/26
1/24/11 Reasoning About Performance Chpt 3 of Textbook

(exercises on last slide
 2/5/11  Parallel Programming Introduction: POSIX Threads and OpenMP  Chapt 4 and Chapt 6  
2/07/11 Shared-Memory Programming using OpenMP Quinn Textbook, Chapter 17  
2/11/11  Introduction to SIMD  PDC course slices for Chptrs1-2 at website, and Mary Hall slides Lecture 7-8  3/06
2/23/11  Algorithmic Techniques  Chapter 4 of Textbook  3/06
3/2/11 Improving OpenMP Performance Chapter 5 of "Using OpenMP" by Chapman, 3/06
3/18/11 MidTerm Study Guide  
3/28/11 CUDA Programming & Chpt 3 of Programming Massively Parallel Processors,Kirk&Hwu  
4/13/11 CUDA Threads & Programming Part1, Part2 Chpt 4 of Programming Massively Parallel Processors  
4/13/11 CUDA Problems to Review Read MP1.1, MP1.2, MP2 problem text & see compressed files at this site  
4/15/11 CUDA Memory & Example -- Part1 and Part2 Chpt 5 of Programming Massively Parallel Processors  
 4/26/11  MPI Slides  Chptr 3 of Intro to Parallel Programming, Peter Pacheco  

List of Parallel References:

Restricted Site:

Useful Online References:

Ref #




Parallel Computation: Models and Methods Selim Akl, Queens University


Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering Ian Foster, Argonne National Lab


Chapter 1 (Intro to Parallel Computing) of Quinn's Textbook and my Slides Michael Quinn; I have added a lot to Quinn's original slides


 POSIX Threads Programming Tutoral  Lawrence Livermore Natl Labs


OpenMP Tutorial Lawrence Livermore Latl Labs


Message Passing Interface (MPI) Tutorial Lawrence Livermore Latl Labs


Introduction to Parallel Computing Tutorial Lawrence Livermore Natl Labs


Parallel Programming Using OpenMP (Short Training Module Slides for educators at SC10) SHODOR, a natl resource for CS education, Training Slides at SC10


Recent OpenMP Tutorial used at SC08 Presented at SC08 the year that new OpenMP version 3.0 was released - probably to teach new standard.


OpenMP - Tutorial at SuperComputing 98 (i.e., SC98) with an Updated Introduction Mark Reed, UNC Research Computing


OpenMP Official Website


 Chapter 17 in Quinn's current parallel textbook  Michael Quinn, Parallel Programming in C with MPI & OpenMP, Published in 2003.


 OpenMP Tutorial  Rudd van der Pas (listed in Mary Hall slides)


 OpenMP 3.0 Specifications (May 2008)