I recently got a license for the Intel Fortran compiler for my work laptop and had the compiler installed yesterday. Hooray! But, builds are *really* slow. For a file like:
program a end
When I compare gfortran to ifort:
❯ hyperfine 'gfortran blank.F90' 'ifort blank.F90' -w 10 Benchmark #1: gfortran blank.F90 Time (mean ± σ): 175.8 ms ± 26.0 ms [User: 67.8 ms, System: 88.0 ms] Range (min … max): 150.0 ms … 234.2 ms 17 runs Benchmark #2: ifort blank.F90 Time (mean ± σ): 1.211 s ± 0.209 s [User: 517.3 ms, System: 632.9 ms] Range (min … max): 0.986 s … 1.588 s 10 runs Summary 'gfortran blank.F90' ran 6.89 ± 1.57 times faster than 'ifort blank.F90'
Now, I'm guessing I'm hitting the bit about Slow License Checkout in the Release Notes, but I want to be sure. I say that because when I set INTEL_LMD_DEBUG=1, I see some odd behavior (snippets since I'm not sure if I should paste all the output of the LMD_DEBUG into a public forum):
INTEL_LMD: checkout: about to do checkout call INTEL_LMD: checkout: checkout call returns rc -5 Error: A license for (Beta-Comp-FM) could not be found. License file(s) used were (in this order): ... Please refer https://software.intel.com/en-us/faq/licensing#invalid-license-error for more information.. INTEL_LMD: checkout: returns NOT GRANTED / ERROR INTEL_LMD: checkout: entered at start_time: 1588188807 (UTC) Wed Apr 29 19:33:27 2020 ... INTEL_LMD: checkout: checkout call returns rc 0 INTEL_LMD: checkout: license now granted
It first says it didn't find my license but then it did find it. I mean, I can compile things so it's finding it, I just want to make sure the slowness I'm seeing is the "built-in" variety and not the "I installed things incorrectly" variety.
For reasons I don't understand, the released compiler first checks for a beta license (Beta-Comp-FM) before checking for the regular license. I complained about this a long time ago but I see it is still there. That it checks for an unnecessary license probably slows things down more.
There may be clues in the rest of the LMD_DEBUG output, but otherwise the link you quoted is a good reference.
If you need more help, you will need to open a ticket at the Intel Online Service Center.
Okay. I'll try and figure out how to open a ticket. Not sure if I or my sysadmins have the right to do so (not sure who the "license" holder is).
Ticket submitted! The main page I was looking at only had links to "Priority Support" and I didn't know if I could use that. But I found "Regular Support" and used that. :)
Doctor Fortran and Matt: If only it were as simple as it checking a beta license.
No, rather the issue is that on macOS Catalina, and macOS Catalina ONLY, our license checking library slowed down by 10x. It's been traced to how the license check software uses OS locks/mutexes. This was not a problem on Linux or prior macOS versions, it's new with Catalina. I'm guessing Apple changed something in Catalina that slowed the particular functions this software is calling.
I have a bug report opened on this already. I am pushing for a fix for PSXE 2020 Update 2.
Why does the release compiler check for a beta license? I verified that it still does this.
Classic Compilers in oneAPI are beta licensed, the license being delivered with the packages. Common code used for Classic Compilers in both PSXE and oneAPI so we don't have to have a separate code branch for oneAPI.