Skip to main content

Unit 3.5.2 How to choose the blocking parameters

As you optimized your various implementations of matrix-matrix multiplication, you may have wondered how to optimally pick the various block sizes (MR,NR,MC, NC, and KC). Some believe that the solution is to explore the space of possibilities, timing each choice and picking the one that attains the best performance [33]. This is known as autotuning.

It has been shown that the block sizes for BLIS can be determined through analysis instead, as discussed in

  • [18] Tze Meng Low, Francisco D. Igual, Tyler M. Smith, and Enrique S. Quintana-Orti, Analytical Modeling Is Enough for High-Performance {BLIS}, ACM Journal on Mathematical Software, Vol. 43, No. 2, Aug. 2016.