December 23rd 2020 Compilers Patch Release Announcement
Today we released Patch Release 2021.1.2 for the Intel® Compilers.
What is a "Patch Release"? This is a term from semantic versioning and is a new way we'll occasionally update our compilers in oneAPI. As you know, in the past with PSXE we did "Update" releases. These PSXE Updates were full PSXE packages including Compilers, Libraries and usually tools like Vtune, Intel MPI , etc. With oneAPI we will also release full Toolkit updates roughly every 3 months which will include updates to the compilers and all other components. But to be more agile getting fixes to our customers we have the option to release a compiler-ONLY update which is called a "Patch Release". So these packages have a complete compiler and compiler runtimes BUT nothing else. No MKL or IPP or other components. Just a new compiler. THIS MEANS YOU MUST HAVE AN EXISTING 2021.1.1 GOLD oneAPI Base (MKL Debugger) and HPC ( Fortran ) installation AND THEN install this PATCH 2021.1.2
What does this do to my current installation? Does it replace or overwrite my existing compiler? NO, it does not. It installs side-by-side with your existing compiler and the "latest" symbolic link is changed to point to the new compiler. Here is an example of directories after you install the Patch Release:
<installation root>/oneapi | |-> compiler/ !...the oneapi compilers installation root dir | |- 2021.1.1/ !...base dir for initial release v2021.1.1 |- 2021.1.2/ !...base dir for Patch Release 2021.1.2 |- latest->2021.1.2 !..latest link changed to Patch Release 2021.1.2
This is a Linux example. macOS is the same. Windows also uses the same layout (with \ instead of / obviously).
So as you see, your initial release 2021.1.1 is untouched BUT the 'latest' link now points to the new patch release. So you will get this release when you source the oneAPI oneapi/setvars.sh or run the Windows equivalent 'setvars.bat' since these scripts follow the 'latest' links for each component such as the compilers.
How can I switch back to the old compiler?
- command line: The easiest way is to first source the <install dir>/oneapi/setvars.sh, or the equivalent Windows 'setvars.bat', which sets path to the latest compiler AND THEN we will source the compiler/env/vars.sh script (linux/mac example, windows same except for running the 'vars.bat' batch file)
source /opt/intel/oneapi/setvars.sh # ... now we switch to the 2021.1.1 version for the compilers source /opt/intel/oneapi/compiler/2021.1.1/env/vars.sh
the compiler/<version>/env/ directory holds a the compiler-only VARS script to set path to this explicit version, ignoring the latest/ link.
- Visual Studio - the same way you select the active Fortran compiler. The Patch compiler should show up as the default version, the older version can be selected instead.
What is in this Patch Release?
2 small changes:
- we fixed the version strings with the linux/mac --version output and the names in the Visual Studio integration.
- for Linux and Windows there is a fix in the OpenMP runtimes to work with the latest GPU drivers for those doing IFX OpenMP to Intel GPUs.
So do I need this patch?
- If you are trying to use IFX to OpenMP TARGET Intel GPUs then yes. And you need to read RELEASE NOTES and get the SPECIFIC driver listed there. This Patch Release needs that EXACT driver. Older version drivers will not work with this Patch Release, you need to update.
- If linux or macOS and you use the --version option to determine your compiler version
- If Windows Visual Studio integration, this will correctly name the IFX and IFORT compilers.
Are there any other fixes, features? NO. The above is ALL that is in this Patch Release.
How do I download it?
IRC - if you have your IRC account, expand the oneAPI HPC Toolkit like this:
Select the 2021.1.2 compiler and download as usual.
APT, YUM and other package managers: Do an 'update' to query the package manager which should show the update and then do an 'install'.
Direct downloads from the oneAPI Component Downloads page will have the Fortran compiler downloads. Look for 2021.1.2 versions.
How do I install it? Download the Patch Release and run the installer. It should detect your existing installation and place the compiler in the compiler/2021.1.2/ directory and update the "latest" link. Or if you use a package manager installation run and 'update' and 'install' in your package manager.
The link for the Linux online installers points to
and the one for the Windows online installer to
Changing l_ to w_ and sh to exe seems to work for the Windows version -- at least it prompts the browser to ask the user where to save the Windows online installer file, or starts a download if the default download location is being used. This, however, is a very risky step, and I recommend that we wait until Intel personnel fix the links and ensure that they point to the correct installers. In the past, Intel used to publish checksums of downloads, and that tended to give us some reassurance about the downloads.
Thanks, Barbara, Happy New Year to you as well.
Re: "what is in this patch" section of the original post, it says, "If Windows Visual Studio integration, this will correctly name the IFX and IFORT compilers."
Can you please check whether with this patch on Windows, the following issues are fixed?
- the environmental variable IFORT_COMPILER19 points to the folder with compiler v19 libraries rather than those for oneAPI i.e., the oneAPI installer doesn't overwrite this variable,
- if there is now a new environmental variable, say IFORT_COMPILER21 or some such, that users can employ to distinguish from previous IFORT versions. For example, you will know the PSXE versions 2018, .., 2020 configured IFORT_COMPILER18, .. , IFORT_COMPILER20 respectively,
- whether the oneAPI library folders for ia32 and intel64 contain the symbolic links that previous PSXE versions included so that Visual Studio mixed-language project configurations for C, C++ didn't require the '_win' suffix in the library paths.
@Ronald_G_Intel wrote: .. Not sure about 3
I presume you're replying to my inquiry in the post just prior to your comment.
I hope you and other team members with Intel Support can take a look at this, I hope it's easier to see in this forum format with inline images than the more primitive attachment based one at Intel OSC where I'm finding it most difficult to get Intel staff to understand our Visual Studio-related issues.
Please take a look at this image using Windows Explorer of the folder with compiler libraries with PSXE 2020 (v19.1, Update 3): note the 2 symbolic link folders of 'ia32' and 'intel64' below.
Now see the folder for oneAPI, only 'ia32_win' and 'intel64_win' are present:
Then notice Intel's instructions toward configuring Visual Studio for mixed-language applications, particularly note step 13 for IA32 under "Configuring Microsoft Visual Studio 2017, .." with "$(IFORT_COMPILER[vv])\compiler\lib\ia32" and step 12 for INTEL64 with "$(IFORT_COMPILER[vv])\compiler\lib\intel64"
Such configuration in Visual Studio project files break when the symbolic link folders go missing.
Please give it your attention.
Forum Admin: please note the "Insert Photos" option does not seem to be working. Drag and drop images degrades the image resolution and quality, as seen above.
Attachments are the JPEG files of above images, hopefully the quality is retained in these.
Interestingly the update locations, provide two "versions" of Fortran but they are both installed by the same installer
Interestingly the Fortran C++ and the Advisor add to the main API install screen as new programs?
Interestingly I am tired of running out of space on hard drives, you have to write a Fortran program to track HD space and clean up garbage.
Interestingly they take an awfully long time to finish installing at 98% for about 2 hours
Interestingly the latest version of SKYPE now crashes - freezes the OS completely.
This patch doesn't change any of those three things. I had not realized until your post that IFORT_COMPILER19 now pointed to the oneAPI compiler and IFORT_COMPILER20 pointed to the 19.1 compiler! Yuck!
D:\Projects>set ifort IFORT_COMPILER19=C:\Program Files (x86)\Intel\oneAPI\compiler\2021.1.2\windows\ IFORT_COMPILER20=C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.4.311\windows\