MKL 11.0 performance problem on Opteron

MKL 11.0 performance problem on Opteron


I am observing a weird performance behavior when using MKL 11.0 on an AMD Opteron 6220 processor. I wrote a small benchmark that measures the Gflop rate of the _GEMM operation in S, D, C and Z arithmetics and here is the result I get:

SGEMM Gflop/s:  18.10
DGEMM Gflop/s:  17.68
CGEMM Gflop/s:   4.78
ZGEMM Gflop/s:   2.31

The theoretical peak performance is 48, 24, 12 and 6, respectively. For real, double precision the obtained speed seems reasonable but for all the others (especially S) is way too low. With ACML, instead, I have

SGEMM Gflop/s:  37.58
DGEMM Gflop/s:  18.77
CGEMM Gflop/s:   5.37
ZGEMM Gflop/s:   3.70


Has anybody already observed anything like this? Any idea how to solve this problem?




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

Are these single-thread performance? Dose you benchmark measure peak performance or the performance for a particular range of matrix sizes?


sorry for omitting these details. Yes these are single threaded runs (I used the sequential mkl version rather than the threaded version with one thread). The matrices are all square of size 8000; running with bigger matrices does not make any relevant difference in terms of performance.


Just confirmed with the MKL team, on the AMD Bulldozer architectures BLAS functions such as GEMM are optimized only for double precision; optimizations have not been done for other precisions. On the contrary, on Intel architectures all precisions are optimized.

The MKL team is willing to help customers and would like to learn more about your request. If you want to discuss, please send me a private message through the forum. Alternatively, if you have access to Intel Premier Support (, please create a ticket for this issue.



Leave a Comment

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