Lecture Schedule

January
 
19            Course overview

  21/26     
Basics of computer architecture: pipelined and OOO execution processors
                   Another useful set of slides on OOO processors
                   Lectures from the ECE architecture course
 
  28           
Measurements: timing and PAPI counters      

February
 
2/4           
x86 ISA and compilers

  9/11/16
           Sources of parallelism and locality in important algorithms (3 lectures):
                          Graph algorithms
                          Additional reading: The TAO of Parallelism in Programs, Pingali et al, PLDI 2011.
                    
                         Computational science algorithms
                         Video of Miss Marple solving differential equations
          
  18            Cache architecture and memory hierarchy

  23/25      Locality, loop and data transformations

March
  2/4          Case study of locality enhancement: GEMM and ATLAS

  9
           Intel VTune (I) profiler for performance analysis 

 
11           Shared-memory architectures: cache-coherence     

          
      
 

  16/18     Spring break
 

  23/25    
Case study of vectorization and Intel icc compiler

 30            pThreads programs (3 lectures)                                 Recorded Lecture


April

         
  1/6       
                                                                                           Recorded Lecture (4/2)            Recorded Lecture (4/7)

  8            
Memory consistency                                                    Recorded Lecture
 
  13/15   
OpenMP (2 lectures)                                                    Recorded Lecture (4/14)          Recorded Lecture (4/16)
 

  20         
Case study of shared-memory parallelization         

 22/27/29     MPI (3 lectures)


May

 
4          
Vectorization (2 lectures)
 
  6