Syllabus

Rough Syllabus

Part A: Concepts

(Weeks 1-2)

  • Intro to Parallel Computing 
    • Parallel machine models
    • Parallel programming models

(weeks 4-6)

  • Designing Parallel Algorithms
    • Partitioning, communication, agglomeration, mapping
    • Performance analysis

Part B: Tools

(Weeks 2-4)

  • Environment: Unix; vi; QSUB; svn, github?
  • Programming: Fortran?
  • Programming:  MPI, OpenMP  

(Week 7)

  • Debugging, performance analysis
  • Analysis: ? IDL? VAPOR? Python?

Part C: Specialty items

(Weeks 8-9)

  • GPU, Intel Phi, ...
  • Map-Reduce, Hadoop, ...

Part D: Case Studies

(Weeks 9-10)

  • Spectral methods; Finite volume; Graphs; N-Body?

 

Notes:

Parts A and B will be run in parallel over the first 7 weeks or so :)