CS 4331: Introduction to Parallel Programming
Fall 2009
11:05-11:55am MWF
230 Fisher

Most recent update: November 18
Exam 2 Wednesday, Nov. 18
inprodup.c UPC inner product example
Program 2 Due: Friday, Nov. 13
pmis.c Partially parallelized source code for Program 2
mis.c Sequential source code for Program 2
Homework 4 Due: Wednesday, Nov. 4
Homework 3 Due: Wednesday, Oct. 21
Near-Term Class Schedule
First Exam Wednesday, Oct. 7
Revised report requirements     Due: Classtime Friday, Oct. 2
VibeReport.tar Extract with tar -xvf VibeReport.tar
Homework 2 Due: Wednesday, Sept. 23
gilbert.cse and lionel.cse data for Homework 2
Overlapped comp/comm code and performance measurements
Ping-pong code and performance measurements
Program 1 Due: Friday, Sept. 25
vibe.c Sequential source code for Program 1
Sequential and parallel examples of MPI inner product code.
Homework 1 Due: Friday, Sept. 11

A parallel program uses more than one processor (from 2 to 216) to solve a single problem. Parallel programs solve problems faster or solve larger problems (or both) than can be solved without the programmer's explicit use of muliple processors. Current examples of such problems include the so-called grand challenge problems. (Contrast this to the concept of distributed processing where many processors are used at the same time but they are used to solve multiple, unrelated problems such as scheduling airline reservations or serving media downloads.) Parallel computing is the only way that many economically and strategically important scientific and engineering problems can be practically solved.

This course shows how to design, write, analyse, debug, and measure the performance of parallel programs. The shared memory and the message passing paradigms will be studied, represented by UPC and MPI, respectively. Other topics include parallel computer architecture, data partitioning strategies, and load balancing. Discrete applications, such as sorting, and numerical applications, such as matrix multiplication, will be treated.


Text (required):
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers
Barry Wilkinson and Michael Allen, Prentice Hall, 2nd Ed. 2005
ISBN: 0-13-140563-2

Prerequisites: CS 3421 and CS 4321.
Instructor: Steve Seidel
Office hours: 3-4pm Monday, 1-2pm Wednesday, and whenever my door is open, and by appointment
Office: 310 Rekhi Hall
Phone: 487-2950
Email: steve@mtu.edu


Syllabus


Resources


Parallel platforms for this course are powered by