resources

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

back