Wednesday, 8th October, 1997
Overview of multithreaded programming for
shared-memory multiprocessors.
Slides:
html or
PowerPoint 97.
Tuesday, 14th October, 1997
Overview of structured multithreaded programming and Sthreads.
Introduction to multithreadable blocks and the sthread_block function.
Slides:
html or
PowerPoint 97.
Wednesday, 15th October, 1997
Multithreaded recursive mergesort as
an example of multithreadable blocks and the sthread_block function.
Discussion of Homework One.
Slides:
html or
PowerPoint 97.
Tuesday, 21st October, 1997
Overview of conditions for using pragma multithreadable:
restrictions on shared variables and control flow.
Introduction to multithreadable regular for loops and
the sthread_regular_for_loop function.
Slides:
html or
PowerPoint 97.
Wednesday, 22nd October, 1997
Multithreaded matrix multiplication as an example of
multithreadable regular for loops and
the sthread_regular_for_loop function.
Chunk size and thread mappings for multithreadable regular for loops.
Cache effects in matrix multiplication.
Discussion of Homework Two.
Slides:
html or
PowerPoint 97.
Tuesday, 28th October, 1997
Introduction to barrier synchronization and
the sthread_barrier functions.
Slides:
html or
PowerPoint 97.
Wednesday, 29th October, 1997
Review of caching and memory access on quad-processor Pentium Pros.
Advice on developing an efficient multithreaded matrix multiply.
Description of the PSRS (Parallel Sorting by Regular Sampling) algorithm.
Discussion of Homework Three.
Slides:
html or
PowerPoint 97.
Tuesday, 4th November, 1997
Performance issues of the PSRS algorithm.
Discussion of general multithreaded programming performance issues:
multithreading overheads, load balancing, granularity,
memory contention, underlying algorithm.
Slides:
html or
PowerPoint 97.
Wednesday, 5th November, 1997
Timing the execution overheads of
multithreaded regular for loops and barriers.
Multithreaded All-Pairs Shortest-Paths (the Floyd-Warshall algorithm)
as an example of the use of barriers.
Discussion of Homework Four.
Slides:
html or
PowerPoint 97.
Tuesday, 11th November, 1997
Introduction to synchronization flags and the sthread_flag functions.
Slides:
html or
PowerPoint 97.
Wednesday, 12th November, 1997
Mergesort of a stream as an example of using synchronization flags.
Discussion of Homework Five.
Slides:
html or
PowerPoint 97.
Tuesday, 18th November, 1997
Introduction to synchronization counters and the sthread_counter functions.
LU factorization as an example of the use of counters.
Slides:
html or
PowerPoint 97.
Wednesday, 19th November, 1997
Discussion of Homework Six -
All-Pairs Shortest-Paths revisted.
Slides:
html or
PowerPoint 97.
Tuesday, 25th November, 1997
Guest lecture by Dr. Rajesh Bordawekar on
distributed shared-memory architectures,
in particular the SGI/Cray Origin and HP/Convex Exemplar.
No slides for this lecture.
Wednesday, 26th November, 1997
Discussion of Homework Seven -
the Skyline Matrix Problem.
Slides:
html or
PowerPoint 97.