This repository contains the implementation of cache-aware and cache-oblivious algorithms for matrix operations such as multiplication and transposition. The implemented algorithms are part of a term paper in the field of memory hierarchies.
Tip
The german paper is now accessable in the repo: cache_oblivious_algorithms_2023.pdf
multiplication.c holds the source code for the matrix multiplication algorithms, transpose.c the source code for the matrix transposition algorithms.
To mesure the algorithms, one can use the procedures from the Makefile.
- First, compile the algorithms:
make all
- Start the benchmarking process for various problem sizes: Depending on the running computer, this could take a long while!
make benchmark
The benchmarking procedure now have logged the time mesurements into the files data.multiply.csv and data.transpose.csv.
- Plot the results
make plot
The output is a pdf with two pages, containing the two crated graphes.