This page is continually updated as the course proceeds. Watch for
announcements. Modification date: April 4, 2012
Academic
calendar |
Announcements | Lecture materials | Source
material links |
Assignments | Tests | Moodle |
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. The
slides are not ready for use until the date given for the class.
Week |
Date |
|
|
|
1 |
Jan 10, 2012 |
Outline |
Course outline, prerequisites, course text, course contents, instructor details. | |
1 |
Jan 10, 2012 |
Assignment
Preliminaries |
Assignment preliminaries,
Moodle, student accounts |
|
1 |
Jan 10, 2012 |
Parallel
Computing |
Demand for computational speed, potential for speed-up using
multiple process(or)s |
Chapter 1 |
1 |
Jan 12, 2012 |
Parallel Computers | Types of parallel computers, cluster computing. | Chapter 1 |
2 |
Jan 12/17, 2012 |
Message-passing
Computing |
Basics of message-passing programming, software tools, MPI, evaluating parallel programs, compiling MPI programs. | Chapter 2 |
2 |
Jan 17, 2012 |
Assignment 1 | Exercises in compiling and running MPI programs | |
2 |
Jan 19, 2012 |
Collective
routines Gather/scatter examples Quiz questions |
More on MPI routines, collective
routines |
|
3 |
Jan 24, 2012 |
Embarrassingly Parallel Computations | Embarrassingly Parallel examples, Mandelbrot Set, Monte Carlo methods. | Chapter 3 |
3 |
Jan 24/26, 2012 |
Partitioning and Divide and Conquer Strategies | Partitioning and divide and conquer examples, bucket sort, numerical integration, N-body problem. | Chapter 4 |
3 |
Jan 26, 2012 |
Assignment
2 Demo |
N-body
parallel programming assignment |
|
4 |
Jan 31/Feb2, 2012 |
Synchronous Computations | 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 |
5 |
Feb 7, 2012 |
Programming
with Shared Memory - I |
Shared memory multiprocessors, constructs for specifying parallelism, processes, threads, Pthreads, critical sections, monitors, program examples | Chapter 8 |
5 |
Feb 9, 2012 |
Java threads and synchronization | Programming with shared memory - Java threads and synchronization | |
6 |
Feb 14, 2012 |
Test review |
||
6 |
Feb 16, 2012 |
Test/Quiz 1. | ||
7 |
Feb 21, 2012 |
Programming with Shared Memory - II | Introduction to OpenMP |
Chapter 8 |
7 |
Feb 23, 2012 |
Assignment 3 | OpenMP assignment |
|
7/8 |
Programming with Shared Memory - III | Shared memory performance issues | ||
8 |
Numerical Algorithms | Matrix multiplication, solving a system of linear equations, iterative methods | Chapter 11 | |
March 5-10, 2012 |
Spring break - no classes |
|||
9 |
March 13, 2012 | Numerical algorithms continued, iterative methods | ||
9 |
March 13, 2012 |
Assignment 4 | MPI/OpenMP (hybrid) assignment | |
9/10 |
March 15/20 |
Sorting Algorithms | 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 |
10 |
March 22, 2012 |
Test review |
||
11 |
March 27, 2012 |
Test review or/and introduction
to GPU programming |
||
11 |
March 29, 2012 |
Class Test |
||
12 |
April 3, 2012 |
Intro to
GPUs and CUDA CUDA Prog. Model |
GPU systems, architecture, introduction to CUDA programming | |
12 |
April 5, 2012 |
CUDA programming, thread blocks |
||
12 |
April 5, 2012 |
Assignment
5 |
CUDA programming, CUDA assignment |
|
13 |
April 10/12, 2012 |
CUDA
CUDA |
CUDA programming, timing and synchronization | |
14 |
April 17/19 |
CUDA/OpenCL |
||
15 |
April 24, 2012 |
Revision for final Class teaching evaluation | ||
15 |
April 26, 2012 |
Revision for final | ||
16 |
May 1, 2012 |
Last class. Review/discussion |
Date set | Interim
dates |
Assignment | Topic | Date due 12 pm (noon) |
Tuesday Jan 17, 2012 |
Date
to report system/account problems: Thursday Jan 19, 2012 |
Assignment
1 hello.c |
MPI - Hello world programs |
Thursday Jan 26, 2012 |
Thursday Jan 26, 2012 |
Target date to complete Task 1: Thursday Feb 2nd, 2012 Report any problems by this date. |
Assignment
2 Generating X11 graphical output Gather/scatter examples |
MPI - N-Body problem |
Monday Feb 13, 2012 |
Thursday Feb 23, 2012 |
Date
to report system/OpenMP compiler problems: Tues Feb 28, 2012 |
Assignment
3 |
OpenMP assignment |
Monday March 12, 2012 |
Tuesday March 13, 2012 |
Date
to report system/ compiler problems: Tues March 20, 2012 |
Assignment
4 MPI/OpenMPprogram |
MPI/OpenMP assignment |
Monday April 2, 2012 |
Thursday April 5, 2012 |
Date to report system/ compiler problems: Thurs April 12, 2012 |
Assignment
5 |
CUDA programs |
Tuesday April 24, 2012 |
Top
Tests
Class
test 1: Regular paper test:
Class test 2: Regular paper test
Availability:
To be taken in
class March 29, 2012.