# A Machine Learning Approach Towards Runtime Optimisation of Matrix Multiplication

arXiv: https://arxiv.org/abs/2601.09114 · HTML: https://mlsanity.com/paper/2601.09114/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 3 of its 41 references that are in the map.
- First posted on arXiv 14 Jan 2026.

## Builds on (most cited first, 3 of 3)

- [Deep Residual Learning for Image Recognition](https://mlsanity.com/paper/1512.03385/) (2015)
- [XGBoost: A Scalable Tree Boosting System](https://mlsanity.com/paper/1603.02754/) (2016)
- [A Case for Malleable Thread-Level Linear Algebra Libraries: The LU Factorization with Partial Pivoting](https://mlsanity.com/paper/1611.06365/) (2016)

## Abstract (arXiv)

The GEneral Matrix Multiplication (GEMM) is one of the essential algorithms in scientific computing. Single-thread GEMM implementations are well-optimised with techniques like blocking and autotuning. However, due to the complexity of modern multi-core shared memory systems, it is challenging to determine the number of threads that minimises the multi-thread GEMM runtime. We present a proof-of-concept approach to building an Architecture and Data-Structure Aware Linear Algebra (ADSALA) software library that uses machine learning to optimise the runtime performance of BLAS routines. More specifically, our method uses a machine learning model on-the-fly to automatically select the optimal number of threads for a given GEMM task based on the collected training data. Test results on two different HPC node architectures, one based on a two-socket Intel Cascade Lake and the other on a two-socket AMD Zen 3, revealed a 25 to 40 per cent speedup compared to traditional GEMM implementations in BLAS when using GEMM of memory usage within 100 MB.
