English

Machine-Learning-Driven Runtime Optimization of BLAS Level 3 on Modern Multi-Core Systems

Distributed, Parallel, and Cluster Computing 2024-07-01 v1 Machine Learning

Abstract

BLAS Level 3 operations are essential for scientific computing, but finding the optimal number of threads for multi-threaded implementations on modern multi-core systems is challenging. We present an extension to the Architecture and Data-Structure Aware Linear Algebra (ADSALA) library that uses machine learning to optimize the runtime of all BLAS Level 3 operations. Our method predicts the best number of threads for each operation based on the matrix dimensions and the system architecture. We test our method on two HPC platforms with Intel and AMD processors, using MKL and BLIS as baseline BLAS implementations. We achieve speedups of 1.5 to 3.0 for all operations, compared to using the maximum number of threads. We also analyze the runtime patterns of different BLAS operations and explain the sources of speedup. Our work shows the effectiveness and generality of the ADSALA approach for optimizing BLAS routines on modern multi-core systems.

Keywords

Cite

@article{arxiv.2406.19621,
  title  = {Machine-Learning-Driven Runtime Optimization of BLAS Level 3 on Modern Multi-Core Systems},
  author = {Yufan Xia and Giuseppe Maria Junior Barca},
  journal= {arXiv preprint arXiv:2406.19621},
  year   = {2024}
}

Comments

Multi-Thread, Matrix Multiplication, Optimization, BLAS, Machine Learning

R2 v1 2026-06-28T17:22:10.730Z