Learn matrix-matrix multiplication optimization in C++ through progressively optimized DGEMM implementations, from naïve algorithms to AVX-512 and blocked kernels.
-
Updated
Jan 15, 2025 - C++
Learn matrix-matrix multiplication optimization in C++ through progressively optimized DGEMM implementations, from naïve algorithms to AVX-512 and blocked kernels.
How much of GEMM performance is memory access order? Five CPU variants of the same matrix product, a shared-memory tiled CUDA kernel and a CUDA sum reduction, all measured on one shape. Loop reordering alone is worth 37.9x. C++17, CMake, no dependencies.
HPC course labs in C: OpenMP data parallelism, MPI Laplace solver with halo exchange, cache-blocked matrix multiplication and hybrid MPI+OpenMP SUMMA on a cluster, with PBS job scripts.
To associate your repository with the cache-blocking topic, visit your repo's landing page and select "manage topics."