I am using dgemm function from Math Kernel Library in my FORTRAN source code to do the following matrix calculation:
X = A - transpose(B) *C
A is 400*400 dense matrix, B is 10000*400 sparse matrix and C is 10000*400 matrix.
CALL dgemm('T', 'N', 400, 400, 10000, -1.d0, . B, 10000, C, 10000, 1.d0, A, 400)
This operation takes about 3.5 seconds! which is a lot in my program! 1.Is 3.5 seconds a reasonable amount of time for this operation? 2. Is there any way to speed up the process?
I am using a dell computer which has Intel Core 2 Duo CPU and my MKL version is 10.0.1 which is relatively old. My last question is if I switch to the most recent MKL can I see significant improvement in the performance for matrix multiplication?