UNIVERSITY OF NORTH CAROLINA AT CHARLOTTE
Department of Computer Science
ITCS 4145/5145 Parallel Programming

Fall 2007

Monday/Wednesday 5:00 pm - 6:15 pm

Dr. Barry Wilkinson

This page is continually updated as the course proceeds. Watch for announcements. Modification date: Dec 13, 2007

Announcements Lecture materials Assignments Tests Blackboard

ANNOUNCEMENTS
Previous announcements of importance:
Sept 3, 2007:  In all submissions to Blackboard, only send one (uncompressed) Word document containing all materials. pdf file ok but not OpenOffice or Word docx.  DO NOT SEND MULTIPLE FILES OR COMPRESSED FILES UNDER ANY CIRCUMSTANCES .

Sept 2, 2007 Suggestion from John Nielson.  Information on gcc compiler:
"An Introduction to GCC" by Brian Gough http://www.network-theory.co.uk/docs/gccintro/index.html The link is to the free online version but it can also be purchased as a paperback. It covers introductory usage of gcc step-by-step with good explanations. Also touches on basic Makefile creation, etc.

Sept 2, 2007 From BW: Note to do assignment 1, you do need to use a Linux editor.  I find nano (or pico) the easiest. Just type nano (or nano filename) at the command line to get the GUI interface.  At bottom of the window are the control keys to load and save files etc.


Lecture Materials

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).

Lecture slides
Week
Date
Slides
Ready
Topics
Textbook
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



Other sources of materials:

Textbook home page giving instructions on using MPI etc: http://www.cs.uncc.edu/par_prog

Top 
Assignments
 

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:



Class test 1 Date: Monday September 24th, 2007

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.



Class test 2 Date: Monday November 12, 2007

Topics for test 2: Chapter 6 (synchronous computation), 7 (load balancing), 8 (shared memory), and 10 (sorting algorithms)

Test 2 Fall 2005
Test 2 Fall 2003
Test 3 Fall 2003
Test 2  Fall 1998

Sample test 2
Another sample test 2



Final Exam: Date:  Monday December 10, 2007, 5:00 pm - 7:45 pm

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.

Top