I am a newbie in using LAPACK library. I know that LAPACK's internal rountines break the large problem into smaller problems recursively (I am considering level-3 BLAS). If we consider matrix multiplication C= AB+C example, until what size ( maximum and minimum) we can divide the bigger matrices? (128 x 128) would be the smallest size?
2 Answers
Bill stated this correctly in his comment. The reference BLAS implementation uses triply nested loops, but any fast implementation will use small panel matrices. The minimum size will be architecture and implementation dependent. You should refer to the Goto paper for the gory details.
Matrix multiplication in LAPACK (DGEMM) isn't recursive, at least, not in the Netlib implementation. It implements matrix multiplication as a triply-nested loop.
-
1$\begingroup$ Hierarchical methods are uncommon, but almost all fast *GEMMs use matrix subdivisions (panels, etc). $\endgroup$ Oct 16, 2014 at 18:52