- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page