MKL_DIRECT_CALL and zgemm3

MKL_DIRECT_CALL and zgemm3

It seems that MKL_DIRECT_CALL does not apply to zgemm3 and cgemm3, only zgemm and cgemm

It seems slightly annoying that this is not the case as zgemm3 is significantly more numerically efficient for large matrices and is therefore a replacement for zgemm  and it would have been helpful for MKL_DIRECT_CALL to switch calls of zgemm3 as well as zgemm for small matrices

9 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

you right, this optimization would  be added later into one of the next versions. We will update this record accordingly. 

Great! At the moment I do my own test of the sizes and switch to zgemm3 for N>128 (say)

To make sure we understand your request correctly, you use zgemm instead of zgemm3m if the matrices are smaller than 128, right? And, you would like MKL_DIRECT_CALL feature to do a similar transformation if the matrices are small enough?


In my existing code, I only call zgemm3 - never zgemm

I want to use MKL_DIRECT_CALL but since MKL_DIRECT_CALL does not support zgemm3, I have added wrapper code that calls zgemm3 for N>=128, and zgemm for N<128

Thank you for the details! I got it know. Please let us know if there are other high priority routines that the MKL_DIRECT_CALL feature would help.

Andrew,  please check how it works with the latest MKL 11.2 update 2 which has been released the last week.

Yes, direct call to zgemm3/cgemm3 works  great in the latest update to MKL.

thank you!

Andrew, Thanks for nice words about Intel(R) MKL. Please don't hesitate report us any issues. regards, Gennady

Leave a Comment

Please sign in to add a comment. Not a member? Join today