- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
F.Y.I:
If you don't specify a number of threads for MKL to use, then (beginning with v10) MKL will try to choose a number for you. But it gets it wrong when hyperthreading technology (HTT) is enabled. It will choose twice as many threads as you should have, and this can cause slowdown of an app rigged to MKL10, compared to its speed under MKL9.1.
If you only run your app on one machine, and you know whether HTT is enabled on that machine, then you can work around this by disabling HTT in the BIOS settings, or setting the number of threads manually using environment variables, so that MKL default number-of-thread choice won't be enacted.
However, if you deploy your app widely to clients running on various hardware configurations, then you have a bit of a mess on your hands. If you want to correctly choose, at runtime,the best number of threads for the machine your app is running on, then you must programmatically detect whether HTT is enabled, and with that knowledge, prevent MKL10 default-thread-number-choosing logic from being applied.
The workaround, Detecting whether HTT is enabled is not for the faint-hearted, and involves a number of steps involving queries tothe CPUandchunks of assembly language. See for example: http://cache-www.intel.com/cd/00/00/27/66/276611_276611.txt
MKL management has decided that it is not worthwhile to fix this bug (reported during v10 beta), citing "one of the reasons is that MKL has long recommended that HT be turned off since MKL 7.x version".
What does anyone else think? No problem?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The MKL team has investigated your issue and believes it can provide a solution in an upcoming release. It's my hope that it will work for you.
Todd

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