While debugging a matrix multiplication error, I arrived at this ATLAS code. This code looks too complex and I don't want to look further inside.(no time.. :) ) It's for general matrix multiplication alpha*A*B + beta*C
and I guess the result is stored in C.(or A or B..I'm not sure)
https://sourcecodebrowser.com/atlas/3.6.0/_a_t_l___sgemm_8c_source.html
Could anyone explain how LDA and LDB (lead dimension of A and B) is used? I wonder when M, N, K specifies all the matrix dimension information why lda
and ldb
are needed. Another question is : Inside the ATL_Sgemm function, ATL_Sgemm function is being called. Is it what is called recursive function?