Lecture Schedule

August
 
23            Course overview

  25/30     
Basics of computer architecture: pipelined and OOO execution processors
                   Another useful set of slides on OOO processors
                   Lectures from the ECE architecture course
 

September
  1          
Measurements: timing and PAPI counters       

 
6/8           
x86 ISA and compilers

  13/15/20
  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
          
  22             Cache architecture and memory hierarchy

  27/29       Locality, loop and data transformations

October
  4/6           Case study of locality enhancement: GEMM and ATLAS

  11
             Intel VTune (I) profiler for performance analysis 

 
13           Shared-memory architectures: cache-coherence      
 
  18/20/25  
pThreads programs (3 lectures) 

  27          
Memory consistency                        

  November

         
  1/3  
      
OpenMP  Parallel-prefix                                                                                                                           
 
  8/10  
Vectorization (2 lectures)  (UIUC slides)                                      
 

  15/17 
MPI (3 lectures)    

  22/24  Thanksgiving break

 
29        GPUs

December
 
            
  1           GPUs