On Thursday, April 1, 2021 at 1:09:26 PM UTC-4, JRR wrote:
> What is the general status of the new Intel Compiler? Great that this is
> a freely available compiler now, on the other hand it is very much
> broken: our code which worked since roughly Intel 2017 is not
> functioning at all with it. Just running our test suite, almost a third
> of all unit tests are failing and 90% of all functional tests. I
> remember that I isolated a problem but it seems that it will take years
> until that compiler is usable again.
> ..
Hi Juergen,
Re: "What is the general status of the new Intel Compiler?," please note our experience remains IFORT is the most robust and best optimizing *Fortran 2018* compiler for Intel CPUs and it has undergone tremendous positive transformation on several fronts following some hiccups starting their 19.0 compiler version release.
On the other hand, IFX is nowhere close to being a toolset for "production" codes. It will take a long time, if at all *ever*, when IFX reaches the current level of IFORT.
Now, as much positive as the news is of their license-free compiler availability with their Intel oneAPI toolkits, the fact remains it's a *commercial* product. Hence any team out there - be it in open-source and/or academia and/or non-profit and/or governmental or international research or the commercial sectors, etc. - who intend to rely on IFORT compiler in any *meaningful* manner will be better off procuring support subscription from Intel toward use of their oneAPI toolkits. Hence if your team(s) have not procured such premier support, it will be better to have someone with access to some funding to contact Intel and start the negotiation for right level of support services to buy. Without this support, *unfortunately* it will be very difficult to get attention to issues faced by your codes with IFORT. Also it's unfortunate that even with support, certain issues may not get attention some customers think they deserve. But the fact is without support, chances of any attention to issues depend on a number of other factors and one cannot rely on them always.
And if you have premium support, continue to use that to submit requests for ALL your issues and keep requesting the support team for status and schedule toward resolution.
As to your one previous regression issue with IFORT, please refer to this thread from your past discussion:
https://groups.google.com/g/comp.lang.fortran/c/HbCC2XBsQrE/m/d_VbVc3bCQAJ
You will note with the case you provide in that thread, as I had hinted previously, you may be available to workaround IFORT with a small change in your code: note the line "d = d // " => " below
--- original code section ---
..
subroutine process_def_import_component (def, &
i, prt_in)
class(process_def_t), intent(inout) :: def
integer, intent(in) :: i
type(prt_spec_t), dimension(:), intent(in), optional :: prt_in
integer :: p
associate (comp => def%initial(i))
if (present (prt_in)) then
allocate (comp%prt_in (size (prt_in)))
comp%prt_in = prt_in
end if
if (allocated (comp%prt_in)) then
associate (d => comp%description)
d = ""
d = d // " => " !<--- IFORT crashes here
end associate
comp%description = " => "
end if
end associate
end subroutine process_def_import_component
..
--- end section ---
--- begin possible workaround ---
..
if (allocated (comp%prt_in)) then
comp%description = " => "
end if
..
--- end workaround ---
If you notice the above issue is part of your "process_libraries" module and as such, many if not all of your test may depend on it. So if it were to fail with one problem, all of the other tests may fail also. So see if the above workaround is helpful with your tests.
And if you can create reproducers (~300 lines or fewer) of other failures with your unit tests and functional tests, perhaps readers may be able to suggest workarounds that ultimately allow you to use IFORT on your entire code.