Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
10 Views

CPU utilization during matrix multiplication sgemm

Jump to solution

Hello,

I have a small tool that calculates large matrix multiplication as a one step of the algorithm. I have configured MKL library for parallel execution mode in the Visual Studio project settings. My CPU is Intel Core i7 920 2.6GHz with 4 cores. With HyperThreading there are 8 virtual cores.

During matrix multiplication CPU utilization is only 50%. Can it be more or HyperThreading is not used in MKL library?

Time for 4000x4000 matrix multiplication is 2 seconds for parallel mode, and 6 seconds for sequential mode.

I just want to check that there is no way to gain more performance.

With best regards,
Mikhail

0 Kudos

Accepted Solutions
Highlighted
Black Belt
10 Views
There have been several discussions in the past on this forum about how MKL chooses 1 thread per core so as to maximize performance on such CPUs. If you wish to check that additional threads reduce performance, you are welcome to read about this in the docs. See MKL_DYNAMIC and associated topics in the MKL user guide. Note that MKL_DYNAMIC has other purposes besides over-riding the decisions about use of HyperThreads.

View solution in original post

0 Kudos
1 Reply
Highlighted
Black Belt
11 Views
There have been several discussions in the past on this forum about how MKL chooses 1 thread per core so as to maximize performance on such CPUs. If you wish to check that additional threads reduce performance, you are welcome to read about this in the docs. See MKL_DYNAMIC and associated topics in the MKL user guide. Note that MKL_DYNAMIC has other purposes besides over-riding the decisions about use of HyperThreads.

View solution in original post

0 Kudos