- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I've downloaded and installed m_onemkl_p_2022.1.0.208_offline.dmg.
The problem with this version, is that my product crashes when attempting to run on a Mac M1 machine via Rosetta.
The errors I get are:
Intel MKL FATAL ERROR: This system does not meet the minimum requirements for use of the Intel(R) Math Kernel Library.
The processor must support the Intel(R) Supplemental Streaming SIMD Extensions 3 (Intel(R) SSSE3) instructions.
The processor must support the Intel(R) Streaming SIMD Extensions 4.2 (Intel(R) SSE4.2) instructions.
The processor must support the Intel(R) Advanced Vector Extensions (Intel(R) AVX) instructions.
This doesn't happen when running the product while using an older MKL version (from 2018).
My suspicion is that previously there was code dispatching in the library, detecting when it could run on the given CPU.
My guess is that Intel have removed the dispatch and now the advanced extensions can't be circumvented.
Based on a StackOverflow post (https://stackoverflow.com/questions/70830755/intel-mkl-fatal-error-this-system-does-not-meet-the-minimum-requirements-for-us), I'd like to try installing an older version of oneMKL.
I tried to find a repository of previous versions but couldn't come across one.
Where can I find older versions?
Also, any suggestions on how to resolve this crash are welcome.
Thanks!
Gil.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Moses,
Thanks for reaching out to us.
>>Where can I find older versions?
For queries related to download older versions of MKL, we suggest you post your concerns in the below forum link from where you can get better assistance
>>any suggestions on how to resolve this crash are welcome.
Coming to the issue that you are facing with the latest MKL version (please find the system requirements of MKL here), It would be a great help if you could provide us with a sample reproducer and steps to reproduce the errors that you are getting so that we could check it from our end as well.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
As we haven't heard back from you, could you please provide us with an update regarding the issue?
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vidya,
I finally managed to create a minimal reproduction scenario for the issue, and I'm attaching the following files:
- MKL crash project: an Xcode project for building the reproduction binaries. I used it to build the two attached executables, one using MKL 2021, and the other using MKL 2022.
In order to switch MKL version, you need to (a) include the correct mkl file at the top of main.cpp, and (2) in the linker settings, replace the two occurrences of the version with the desired one, ie. choose between 2022.1.0 and 2021.1.1 . - MKL crash binaries.zip: contains two binaries, each built using a different version of MKL.
Run the binaries on an M1 machine. With 2021 you will get no errors, and with 2022 you'll get:
Intel MKL FATAL ERROR: This system does not meet the minimum requirements for use of the Intel(R) Math Kernel Library.
The processor must support the Intel(R) Supplemental Streaming SIMD Extensions 3 (Intel(R) SSSE3) instructions.
The processor must support the Intel(R) Streaming SIMD Extensions 4.2 (Intel(R) SSE4.2) instructions.
The processor must support the Intel(R) Advanced Vector Extensions (Intel(R) AVX) instructions.
Important note: you must have the full MKL packages (2021, 2022) installed for building/running the executables.
Would you be able to take a look?
Thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
The post has been routed to this forum for the product version download concern. Thanks for posting regarding it on the thread.
Kindly note that the Intel® Parallel Studio XE 2018 and its components are old and unsupported. It has undergone deprecation and has been removed from the download repositories. Due to this, the product version could not be found in the 'Download' options. You may visit the below link for more information.
However, we understand your situation and requirement. We would be checking our archives for the required product version. Anyhow, before we proceed, we would need to confirm if there is a specific update number of the Intel® MKL Library 2018 (for macOS) that you are searching for.
It will allow us to assist you better. Looking forward to your response.
Regards,
Soumya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Suomya,
I'm interested in MKL versions that are previous to the current shipping one, meaning 1 before current, 2 before current etc. The more the better, since I want to find out when a specific degradation in the library has happened.
Thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Suomya,
As I replied by email, this is much appreciated.
Meanwhile I won't need the mac versions. I'll reply to this thread should I need them.
Thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
Thanks for the update on the thread and via email. Glad that we could help. Proceeding further, I am moving the post back to the product component's queue for further assistance, post-reproduction with the versions.
Nonetheless, if you require any other product version, please feel free to post regarding it in this forum (link below). We will be glad to assist you.
Hope you have a nice day ahead!
Regards,
Soumya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
Thanks for sharing the details.
Recently released Macs with the Apple M1 chips have an ARMv8.5-A architecture/instruction set and oneMKL does not support this instruction set, and therefore cannot be used with the Apple M1 chip that you are using. You can check the processor with the command (sysctl -n machdep.cpu.brand_string). These Apple M1 chips no longer contains x86/x86_64 architecture/instruction sets (Apple's newest Macs don't come with Intel processors. Instead, they use the brand-new Apple M1 chip) so that is the reason you are getting errors saying MKL doesn't meet the system requirements
According to the system requirements of oneMKL
the list of supported processors and operating systems are as follows
Supported Operating Systems
macOS*:-
macOS* 12
macOS* 11
Supported Hardware Platforms
CPU:-
Intel Atom® Processors
Intel® Core™ Processor Family
Intel® Xeon® Processor Family
Intel® Xeon® Scalable Performance Processor Family
Reference link:https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-math-kernel-library-system-requirements.html
So, we suggest you to try with the supported versions of macOS and hardware platforms as mentioned in above link and you can get back to us if you run into any issues.
Hope the provided information helps.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Vidya,
I fully understand that M1 will not run AVX instructions.
HOWEVER, as I've demonstrated with the code & executables:
Code using MKL 2021 DID NOT output any errors when run on M1 using Rosetta, whereas
Code using MKL 2022 DID output the errors even when using Rosetta.
This makes me suspect that MKL 2021 was released with code branching that circumvented the AVX, SSE3 etc. instructions,
and that in MKL 2022 the branching had been removed.
Otherwise could you or an engineer please explain the findings?
thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
>>This makes me suspect that MKL 2021 was released with code branching that circumvented the AVX, SSE3 etc. instructions,
and that in MKL 2022 the branching had been removed. Otherwise could you or an engineer please explain the findings?
Yeah, sure! we will let you know about the findings. we are working on this issue. we will get back to you soon with the updates.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
We completely understand your concern about getting errors on Mac M1 machine with latest MKL 2022.1 but not with MKL 2021.1
We want to inform you that those operating systems that are mentioned in the system requirements of oneMKL are tested by Intel rigorously and we can provide support for the same if you run into any issues.
The operating systems which are untested might also work but since it is not tested by Intel, we are unable to provide the information further in this case.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
As we haven't heard back from you, could you please confirm if we can close this thread from our end?
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vidya,
I do understand that M1 with Rosetta is not in the supported processors list.
However, I assume that even for the supported CPUs, there's a code branching mechanism that allows MKL to run on an Intel processor without the advance extensions. For example, a supported Intel processor that doesn't implement AVX will run the appropriate code branch that avoids AVX (and of course with a lower performance).
Is that correct?
If that is true, then I'd expect the same code branching to work with M1 & Rosetta (although not officially supported).
Thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
Here is some information mentioned in Developer Guide of MKL about the Instruction Set Specific Dispatching on Intel® Architectures.
Please refer to the above link for more details.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vidya,
The link shows how to ENABLE instructions. What I need is a function call that DISABLES instructions, to be used on the non-Intel CPU.
Is there such a call?
Thanks,
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
>>What I need is a function call that DISABLES instructions, to be used on the non-Intel CPU...Is there such a call?
There is no such function call available for disabling.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gill,
As we haven't heard back from you, could you please confirm if we can close this thread from our end?
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vidya,
We can close this for now, thanks.
Gil.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gil,
>>We can close this for now
Thanks for the confirmation.
Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.
Regards,
Vidya.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page