This page is continually updated as the course proceeds. Watch for
announcements. Modification date: Dec
13, 2007
| Announcements | Lecture materials | Assignments | Tests | Blackboard |
The following slides are provided as Powerpoint slides. You
may wish to print these sides out as 1 x 2 or 2 x 3 thumbnails. Do
not use slides until shown as "ready" in the ready column (generally
one or two days before the class).
| Week |
Date |
|
Ready |
|
|
| 1 |
Aug 20 |
Outline |
Yes |
Course outline, prerequisites, course text, course contents,, instructor details. | |
| 1 |
Aug 20 |
Assignment
Preliminaries |
Yes |
Assignment preliminaries,
Blackboard, student accounts |
|
| 1 |
Aug 20/22 |
Parallel
Computing |
Yes |
Demand for computational speed, potential for speed-up using
multiple process(or)s |
Chapter 1 |
| 1 |
Aug 22 |
Parallel Computers | Yes |
Types of parallel computers, cluster computing. | Chapter 1 |
| 2 |
Aug 27/29 |
Message-passing
Computing |
Yes |
Basics of message-passing programming, software tools, MPI, evaluating parallel programs, compiling MPI programs. | Chapter 2 |
| 2 |
Aug 29 |
Basic
MPI Routines |
Yes |
Some basic MPI routuines with
daatypes of parameters specified |
|
| 2 |
Aug 29 |
Assignment 1 | Yes |
Exercises
in compiling and running MPI programs |
|
| 3 |
Sept 5, 2007 |
Embarrassingly Parallel Computations | Yes |
Embarrassingly Parallel examples, Mandelbrot Set, Monte Carlo methods. | Chapter 3 |
| 4 |
Sept 10, 2007 |
Assignment 2 | Yes |
Writing and executing an embarrassingly
parallel program |
|
| 4 |
Sept 10, 2007 |
Evaluating Parallel Programs | Yes |
Evaluating parallel programs
theoretically |
Chapter 2 |
| 4 |
Sept 10-12 2007 |
Partitioning and Divide and Conquer Strategies | Yes |
Partitioning and divide and conquer examples, bucket sort, numerical integration, N-body problem. | Chapter 4 |
| 5 |
Sept 17 |
Pipelined Computations | Yes |
Pipeline technique and types, examples, adding numbers, sorting, prime number generation, solving system of linear equations. | Chapter 5 |
| 5 |
Sept 17/19 |
Class Test 1
review |
|||
| 6 |
Sept 24 |
Class test |
|||
| 6-7 |
Sept 19 - Oct 1 - |
Synchronous Computations | Yes |
Synchronization, barrier implementation, synchronous computation examples, data parallel, synchronous iteration, solving system of linear equations by iteration, heat distributed problem, cellular automata, partially synchronous methods. | Chapter 6 |
| 7 |
Oct 1 |
Assignment 3 |
Yes |
Heat distribution problem | |
| 8-9 |
Oct 3 10, 15 |
Load Balancing and Termination Detection | Yes |
Dynamic load balancing, distributed termination detection algorithms, program example (shortest path problem) | Chapter 7 |
| 9/10/11 |
Oct 15,17, 22 |
Programming with Shared Memory | Yes |
Shared memory multiprocessors, constructs for specifying parallelism, processes, threads, language constructs, dependency analysis, OpenMP, performance issues, program examples | Chapter 8 |
| 11 |
Oct 24, 2007 |
Assignment 4 | Yes |
Open-ended assignment | |
| 11 |
Oct 29/31, Nov 5, 2007 |
Sorting Algorithms | Yes |
Potential speedup of sorting in parallel, compare and exchange, bubble sort, odd-even transposition sort, mergesort, quicksort, odd-even mergesort, bitonic mergesort, sorting on meshes and hypercube, rank sort, counting sort, radix sort, sample sort, sorting on clusters. | Chapter 10 |
| 12 |
Nov 5-7, 2007 |
Class Test 1 review | |||
| 13 |
Nov 12, 2007 |
Class test | |||
| 13/14 |
Nov 14/19, 2007 |
Numerical
Algorithms |
Yes |
Matrix multiplication, solving a
system of linear equations, iterative methods |
Chapter 11 |
| 14 |
Nov 21, 2007 |
Thanksgiving break |
|||
| 15 |
Nov 26, 2007 | Grid
Computing |
Yes |
Introduction to computational grid computing Class teaching evaluation | |
| 15/16 |
Nov 28, Dec 3, 2007 |
Additional
notes |
Review/discussion, |
||
| 16 |
Dec 5, 2007 |
Last class |
Textbook home page giving instructions on using MPI etc: http://www.cs.uncc.edu/par_prog
Top| Date set | Assignment | Ready | Topic | Date due |
| Aug 22, 2007 |
Homework |
Yes |
Speed-up factor |
Aug 28, 2007 |
| Aug 29, 2007 |
Assignment 1 | Yes |
Hello world programs |
New: Sept 7, 2007 |
| Sept 10, 2007 |
Assignment
2 Additional Notes |
Yes |
Using multple computers, numerical integration. |
New: Sept 22, 2007 |
| October 1, 2007 |
Assignment
3 Notes on graphical output |
Yes Yes |
Heat distribution problem |
Original: October 17, 2007 New: October 22, 2007 |
| October 24, 2007 |
Assignment
4 |
Yes |
Open-ended assignment |
November 26, 2007 |
Top
Tests
Class tests:
Topics for test 1: Material up and including pipelining (Chapter 1 to Chapter 5).
Sample tests:
Test
1 Fall 2006
Test
1 Fall 2005
Test
1 Fall 2003 Solution
for part II
Test
1 Spring 2002
Test
1 Spring 2000
Test
1 Fall 1998
Another
Sample Test
Note: Posted tests may have some questions not from current class
notes. Your test will only have material from class notes.
Topics for test 2: Chapter 6 (synchronous
computation), 7 (load balancing), 8 (shared memory), and 10 (sorting
algorithms)
Sample
test 2
Another
sample test 2
Topics: Comprehensive.
Sample final exams:
Final
Fall 2006
Final Fall 2005
Final
Fall 2003
Final
Spring 2002
Final
Fall 2000
Final
Spring 2000
Final
Fall 1998
Final
Spring 1998
Note: Posted final tests may have some questions not from current class notes. Your test will only have material from class notes. Also there may be duplicated questions. Do not expect the same questions.