CISC 811 - High Performance Computing
Index to lecture notes
CISC 811 notes will appear here as the course is being taught.
Lecture 1: Course outline,
supplemental information, HPC in context, Benchmarks and theory of
performance,
profiling & coverage
Lecture 2: High performance serial architecture,
superscalar
execution, superpipelining, VLIW, simultaneous multithreading, cache
thrashing avoidance, single
processor code optimization
Lecture 3: Vector Architecture, vectorization of
code, SIMD extensions on CPUs, programmable GPUs
Lecture 4: Assessment of parallelism,
networks 101, languages,
"parallel" SIMD machines
Lecture 5: Shared memory programming concepts,
Cache Coherency, consistency models, Introduction to OpenMP
Lecture 6: OpenMP pragmas, subroutines and
environment variables. Conditional compilation, conditional parallelism
Lecture 7: Distributed memory systems, TCP/IP,
interconnects, Overview of PVM, Introduction to MPI programming
Lecture 8: Intermediate MPI: derived datatypes,
communicators, topologies and programming tips
Lecture 9: Advanced MPI: One-sided communication,
parallel I/O, port intercommunicators, thread safety
Lecture 10: Grids: Motivation and
benefits, Computational Grids, Data
Grids, Globus
Lecture 11: Libraries: Serial &
parallel libraries, ACTS
collection, useful resources
Lecture 12: Productivity crisis: the
programming crisis, the hardware crisis, DARPA HPCS & future of HPC