High Performance Computing


Lecture 1 - Programs and Data


Lecture 2 - Data Representation


Lecture 3 - Registers and Memory


Lecture 4 - Instructions, Addressing Modes


Lecture 5 - A RISC Instruction Set


Lecture 6 - A RISC Instruction Set (Continued...)


Lecture 7 - Function Call and Return


Lecture 8 - Function Call and Return (Continued...)


Lecture 9 - Instruction Execution


Lecture 10 - Instruction Execution (Continued...)


Lecture 11 - Software organization


Lecture 12 - System Calls


Lecture 13 - Virtual memory


Lecture 14 - Virtual memory (Continued...)


Lecture 15 - Virtual Memory (Continued...)


Lecture 16 - Process


Lecture 17 - Process scheduling


Lecture 18 - Process lifetime


Lecture 19 - Interprocess communication


Lecture 20 - Concurrent programming


Lecture 21 - Pipelining


Lecture 22 - Pipeline hazards


Lecture 23 - Pipeline hazards (Continued...)


Lecture 24 - Pipeline hazards (Continued...)


Lecture 25 - Cache memory


Lecture 26 - Memory hierarchy


Lecture 27 - Cache operation


Lecture 28 - Cache operation (Continued)


Lecture 29 - Cache aware programming


Lecture 30 - Cache aware programming (Continued...)


Lecture 31 - More on cache


Lecture 32 - Measuring time


Lecture 33 - Program Profiling


Lecture 34 - Secondary storage


Lecture 35 - Files and disks


Lecture 36 - Directories


Lecture 37 - Protection and Performance


Lecture 38 - Parallel architecture


Lecture 39 - Cache coherence


Lecture 40 - MPI programming


Lecture 41 - MPI programming (Continued...)