BLISlab: A Sandbox for Optimizing GEMM

Jianyu Huang, Robert A. van de Geijn
9/1/2016
cs.MS

Official code: flame/how-to-optimize-gemm (2,046 stars, last commit 2023-07-29). 1 more implementation below.

Abstract

Matrix-matrix multiplication is a fundamental operation of great importance to scientific computing and, increasingly, machine learning. It is a simple enough concept to be introduced in a typical high school algebra course yet in practice important enough that its implementation on computers continues to be an active research topic. This note describes a set of exercises that use this operation to illustrate how high performance can be attained on modern CPUs with hierarchical memories (multiple caches). It does so by building on the insights that underly the BLAS-like Library Instantiation Software (BLIS) framework by exposing a simplified "sandbox" that mimics the implementation in BLIS. As such, it also becomes a vehicle for the "crowd sourcing" of the optimization of BLIS. We call this set of exercises BLISlab.

View on arXivView PDF

Code Implementations(2)

2,046367C, MATLABAug 9, 20163 years ago
bliscode-optimizationgemmgotoblasmatrix-multiplication
flame/blislabOfficial100%

BLISlab: A Sandbox for Optimizing GEMM

576117C, PHPApr 20, 20165 years ago
bliscode-optimizationgemmmatrix-multiplication

Similar Papers

Cite this paper

@article{huang2016blislab,
  title  = {BLISlab: A Sandbox for Optimizing GEMM},
  author = {Jianyu Huang and Robert A. van de Geijn},
  year   = {2016},
  eprint = {1609.00076},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1609.00076}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1609.00076.svg)](https://codeofpaper.com/paper/1609.00076)

Discussion