High Performance Computing I

Session 1

First steps with vectors in C

Session 2

First steps with matrices in C

Session 3

  • Some BLAS Level 1 functions

  • Benchmarks and Gnuplot

Session 4

Simple cache optimizations

Session 5

Simple cache optimizations for GEMM

Session 6

Cache optimizations for GEMV

Session 7

First steps with C++

Session 8

  • C++ tools for managing memory buffers

  • Namespaces in C++

  • Some integer arithmetic: Rounding up a division

Session 9

Packing matrix blocks for an efficient GEMM (matrix product) implementation.

Session 10

  • GEMM micro kernel (reference implementation)

  • GEMM macro kernel

  • GEMM frame routine

Session 11

Generic classes, template functions, and static polymorphism

Session 12

Function objects and lambda expressions

Session 13

Unblocked LU factorization

Session 14

More on vector and matrix classes

Session 15

First steps with threads in C++

Session 16

Mutex and condition variables