Matrix multiplication in
This is a toy project of mine where I aimed to understand the performance intricacies behind libraries like m4ri (the state of the art AFAIK). I implement the Method of the Four Russians to speed up the base-case multiplication but also use the new algorithm for
Make sure to use RUSTFLAGS="-C target-cpu=native" and --release when compiling, otherwise the performance will not be competetive. This has only been tested on x86-64 machines, and it spams unsafe all over the place, if you find a bug/crash please let me know.
Below is a chart of bit-operations per cycle (higher is better) for the different algorithms. As can be seen the method which only uses own_m4rm is without doing any block matrix multiplication. This performance graph is just from one machine and because of the large importance of memory access patterns and cache behavior the performance might vary a lot between different machines.
