Lecture Schedule

  January
15
 Course overview: Keshav P  slides
       Reading:  Moore's Law paper   
17
Pipelining(1): Sid C  slides
       Reading: Chapters 3&4 of Hennessy&Patterson
22 Pipelining(2): Sid C slides
24
Cache architecture: KP and SC   slides slides
        Reading: Chapter 5 of Hennessy&Patterson
29
Cache architecture (contd.) SC  slides  slides
31
Cache-conscious programming(1): KP slides

February

5
Cache-conscious programming (2): KP                                 
7
Guest lecture: Kazushige Goto (TACC) slides
        Reading: secrets of Goto BLAS
11
12
GPUs and CUDA programming:
Guest lectures by Lars Nyland (NVIDIA)
14
Case study: ATLAS KP slides
         Reading: Yotov et al paper on model-driven version of ATLAS
19
Cache-oblivious programming KP
21
Cell programming   notes
26
Case study: StreamIt
28
Parallel algorithms(n-body methods)Paper

March
4
Parallel algorithms(ode's and pde's): KP lecture notes
6
Slack
11
Spring break                  
13
Spring break
18
Distributed-memory computing and MPI:KP MPI examples
20
Communication networks: Lonestar and BlueGene KP
25
Point-to-point communication(MPI): KP slides
27
Collective communication (MPI): KP

April
1
 Advanced MPI: groups/communicators/topologies slides                                                      
3
Shared-memory computing: KP slides
8
PThreads: threads, synchronization:locks,barriers,condition variables
10
Cache coherence: MESI protocol SC slides
15
Memory consistency models slides
McKenney article (I)  McKenney article (II)
17
Shared-memory programming model: OpenMP
22
Cache-oblivious programming slides
      Reading: SPAA 2007 paper by Yotov et al
24
Advanced topics(1): PGAS languages
29
Advanced topics(2): optimistic parallelism

May
1
 Advanced topics(3): Google map-reduce