1 |
01/02 |
Monday |
|
|
|
|
|
|
01/04 |
Wednesday |
1 |
Introduction |
Intro |
|
|
2 |
01/09 |
Monday |
2 |
Review of C programming, Compiler, Makefile, Linux and SSH access |
Linux and C |
Linux and C, sum.c |
Assignment 1 |
|
01/11 |
Wednesday |
3 |
C array and memory, class exercise, PAPI, and Assignment 1 |
PAPI Interface |
Check PAPI section in the Resources page, axpy-papi.c |
|
3 |
01/16 |
Monday |
|
MKL Jr. Day, no class |
|
|
|
|
01/18 |
Wednesday |
4 |
OpenMP parallel and worksharing |
OpenMP |
axpy.c |
|
4 |
01/23 |
Monday |
5 |
OpenMP Data Environment, Tasking and Sync |
|
mm.c, sum.c (mm-solution.c, sum-solution.c |
Assignment 1 due |
|
01/25 |
Wednesday |
6 |
OpenMP Performance Optimization |
|
|
Assignment 2, jacobi.c |
5 |
01/30 |
Monday |
7 |
Parallel algorithm design 01 |
Design 01 |
|
|
|
02/01 |
Wednesday |
8 |
Parallel program decompostion |
Decompose_BLAS, Design 02 |
axpy.c, matvec.c, matmul-decompose.c |
|
6 |
02/06 |
Monday |
9 |
Parallel algorithm design 02 |
Design 02 |
|
|
|
02/08 |
Wednesday |
10 |
Function Pointer and PThread |
C Function Pointer, PThread 1 |
pthread examples |
Assignment 2 due |
7 |
02/13 |
Monday |
11 |
PThread and mutual exclusion |
PThread 2 |
|
Assignment 3 |
|
02/15 |
Wednesday |
12 |
Tree barrier implementation |
|
|
flat_barrier.c, tree_barrier.c |
8 |
02/20 |
Monday |
|
Winter Recess |
|
|
|
|
02/22 |
Wednesday |
|
Winter Recess |
|
|
|
9 |
02/27 |
Monday |
13 |
Parallel program measurement and analysis |
Metrics |
|
|
|
03/01 |
Wednesday |
14 |
Parallel program measurement and analysis |
Scalability |
|
Assignment 3 due |
10 |
03/06 |
Monday |
15 |
Cilk/Cilkplus |
Cilk/Cilkplus |
|
Project #1: LSV, Project #2: TSV |
|
03/08 |
Wednesday |
16 |
Parallel architecture (TLP and DLP) |
TLP, First slide for project grouping, DLP |
|
|
11 |
03/13 |
Monday |
17 |
Memory hierarchy and cache coherence |
Mem and CC |
|
|
|
03/15 |
Wednesday |
18 |
Project workthrough |
|
|
Project phase 1 due (03/17) |
12 |
03/20 |
Monday |
19 |
Manycore and GPU/CUDA |
GPU/CUDA Intro |
|
|
|
03/22 |
Wednesday |
20 |
GPU Threading |
GPU/CUDA Threading and Memory |
|
|
13 |
03/27 |
Monday |
21 |
Project workthrough |
|
|
Project phase 2 due |
|
03/29 |
Wednesday |
22 |
GPU memory |
|
|
|
14 |
04/03 |
Monday |
23 |
GPU (streaming, library and Tuning) |
GPU/CUDA Streaming, Library and Tuning |
|
|
|
04/05 |
Wednesday |
24 |
GPU (OpenMP and OpenACC) |
OpenMP/OpenACC for offloading |
|
|
15 |
04/10 |
Monday |
25 |
Distributed memory systems and MPI |
Distributed memory |
MPI Exercises |
|
|
04/12 |
Wednesday |
26 |
MPI and practices |
MPI |
|
|
16 |
04/17 |
Monday |
27 |
Project Presentation |
Last class |
|
Project phase 3 due (presentation) |
|
04/19 |
Wednesday |
|
|
|
|
|
17 |
04/24 |
Monday |
|
Project Report Due |
Project Report |
|
Project phase 4 due |
|
04/30 |
|
|
Grade due and complete |
|
|
|