- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there any reason that MKL 2021 changed the format of the INTEL_MKL_VERSION in mkl_version.h. Prior to 2021 Update 1, the INTEL_MKL_VERSION was
__INTEL_MKL__*10000+__INTEL_MKL_MINOR__*100+__INTEL__MKL_UPDATE__
In 2021 it looks like it was was changed to
__INTEL_MKL__*100+__INTEL_MKL_MINOR__*10+__INTEL__MKL_UPDATE__
This breaks all of our build scripts that try to workaround various changes/issues s in MKL versions.
Can this be changed back to the original version scheme so that pre-processors don't get confused about what version is being used?
Thanks,
John
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This change was not made recently. Did you not update your MKL installation for a long period? For instance, with Parallel Studio XE 2016, in file mkl_version.h I already see
#define INTEL_MKL_VERSION 110304
For your specific purpose, you could simply put in whatever string you wish in your mkl_version.h, instead of asking Intel to undo changes put in place several years ago. Other users who have already adopted to the shortened string will probably object if the old, longer, string was brought back again.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mecej4,
I believe you are misinterpreting the behavior. Back in MKL version 11 and before, the version number was multiplied by 10000 just like now. However, the versions were two-digit numbers such as 11 instead of four digit numbers such as 20XX like we have now. Also, the minor version even back in version 11 was still multiplied by 100 and not 10 like in MKL 2021. So I maintain the version string behavior did change in 2021.
We have been pre-processing MKL_VERSION since around 2012/2013. Note that mkl_version.h was added to MKL (I think starting in version 10.3) at my request back in ~2011, so I'm fairly sure the longer version string behavior has (mostly been) consistent until 2021. See our original request for mkl_version.h in this thread
I only have two windows installations currently:
For MKL 2019.0.5 the version string is 20190005.
For MKL 11.3.3 in Parallel Studio 2016.3.059, I do see what seems to be shortened version string of 110303, but it really is not. Note that the version is still being multiplied by 10000, the minor version by 100. It is only that back in version 11, the version was 11 and not 20XX, so when multiplying by 10000, the string is shorter.
Below is what I see for our available linux installations. Its is only in Intel 2021 that the version string was shortened. So, I'm not sure why you see a shortened version string for your earlier MKL version.
Intel 2018.0.3
#define INTEL_MKL_VERSION 20180003
Intel 2019.0.3
#define INTEL_MKL_VERSION 20190003
Intel 2019.0.4
#define INTEL_MKL_VERSION 20190004
Intel 2020.0.4
#define INTEL_MKL_VERSION 20200004
Intel 2021.0.1
#define INTEL_MKL_VERSION 202101
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah, I see now. In the latest release, the minor and update numbers are being represented by single digits, whereas in the past there used to be a leading zero prefixed to values that are <= 9.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi John,
We are transferring this query to the concerned team who can better answer regarding the shift in Version numbers.
Regards
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for report. This is the bug. We will fix them and keep this thread inform when the fix will be available.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the fix of the issue has been introduced in oneMKL 2021.2
here is the snapshot from mkl_version.h
#define __INTEL_MKL_BUILD_DATE 20210312
#define __INTEL_MKL__ 2021
#define __INTEL_MKL_MINOR__ 0
#define __INTEL_MKL_UPDATE__ 2
#define INTEL_MKL_VERSION 20210002
>>>>>>>
Here how we compute the full version by following the format:
INTEL_MKL_VERSION = (__INTEL_MKL__*100+__INTEL_MKL_MINOR__)*100+__INTEL_MKL_UPDATE__
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
![](/skins/images/C4F7392A5C68ACA60290C9576F107044/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page