Deprecation Notice for Intel® Fortran Compiler Classic (ifort)

Below is the official deprecation notice for Intel(R) Fortran Compiler Classic (ifort). I have written a much more extensive article that I hope answers your questions.

Intel® Fortran Compiler Classic (ifort) is now deprecated and will be discontinued in late 2024. Intel recommends that customers transition now to using the LLVM-based Intel® Fortran Compiler (ifx) for continued Windows* and Linux* support, new language support, new language features, and optimizations.

For more information on ifx, see the Intel® Fortran Compiler Developer Guide and Reference and the Porting Guide for ifort Users to ifx.

6 Likes

Hi @greenrongreen thanks for sharing the notice, I would like to ask a question and signal something:

Question: will the C/C++ classic compilers follow the same calendar of deprecation and removal?

What I want to signal: you have marked this in the blog:

It is quite possible that future updates to Microsoft Visual Studio and/or Windows may break your software installation.

Well, I do understand that you want to encourage users to move forward and use your lates versions, even more so as we have users of our own and also push them to move forward. But I guess that you are aware that once a production chain is validated one cannot simply jump into the next version like that, it takes time and one needs to compare the old and the new intensively before moving…

Currently my “production” packages are still vs2019+Parallel Studio XE2020, and I’m just using vs2022+oneAPI2023 to test… but making this work cost me 1 week of having my work station almost broken, with a lot of patience I managed to recover my system, and just recently a colleague of mine had to reboot his C drive because nothing was responding after trying to fix the old package to work.

I understand that intel does not provide support for the old installations together with the new and that you warn about not taking in anymore bug reports from the old, that’s fair and just normal… but from there to breaking the old installation, that feels kind of extreme and it is discouraging those who actually want to try out your new products (and have a production to keep) to even think about it…

I haven’t figured out why it happened, after breaking two PCs and solving by brute force I’m not willing to encourage any of my colleagues to take the risk to see if he/she has luck and the PC survives the journey.

Maybe you will encourage me to open a ticket on the Intel Forum, I did but got no useful answers, when I saw the reply asking questions months later of having solved the issue I could not send any traces of the broken installation as I had fixed it without knowing how … my only clue is that after uninstalling everything I re-installed in backwards order (vs2022>oneAPI>vs2019>PS XE2020)

Please take this just as a kind complaint from a frustrated user that would like to actually encourage the use of the new technologies but is having problems to do so…

3 Likes

ICC, the Intel C/C++ Compiler Classic was deprecated in September 2022. And with the new 2024 release it is removed from all packages.
ICC customers are advised to move to the new ICX/ICPX compilers.

When you try IFX, make sure it is a minumum of version 2023.2.0. Nothing older. The older the IFX compiler, the higher the probability of encountering a bug particularly with codes with modern F2018 features.

Bug reports on ifort: you can still report issues with ifort. Ifx and ifort share the same Fortran front-end code. When we get a bug against ifort, we first test with the latest ifx, which today is 2024.0. If it is not a bug with ifx you will be asked to move to ifx. If it affects both compilers then it’s in the shared front-end code and we’ll fix it in both. Same code. Send in the version of ifx you are using and we can regression test it and see if it’s fixed in the current releases and advise you on the version of ifx to use to avoid the bug.

You have a good approach: validate a tools stack at a particular Windows version and VS version and Intel compiler version. Use that stack without updates or changes. Then pick a second stack with the latest from MS and Intel and validate that stack to use in future releases of your application. The reason I mentioned avoiding updates is that VS updates have broken our integrations twice in the past year or so. As you know, VS is pushing out updates almost every month and all of us struggle to keep up without breaking our stacks.

3 Likes

Indeed, I had tested ifx 2023.0.0 and faced some compile-time errors, I moved to 2023.2.0 and I managed to compile all Fortran libraries :+1: … faced some errors with the C/C++ libraries with icx, thus my question but those might “just” be static dependencies that I have to switch, still under investigation.

Yes, this can be very difficult to mannage, that’s why we also fix a given stack for quite long and take sometime to shift.

Hi @greenrongreen , is ifx compatible with cmake?

I installed Intel Fortran Compiler 2024.0.0 today and built this sample: https://github.com/oneapi-src/oneAPI-samples/tree/master/Templates/cmake/Fortran/do_concurrent

Unfortunately it seems to fall back onto ifort instead of ifx:

4>------ Build started: Project: mandelbrot-cpu, Configuration: Debug x64 ------
mandelbrot.f90
Compiling with Intelr Fortran Compiler Classic 2021.11.0 [Intel(R) 64]...
mandelbrot.f90
ifort: command line warning #10006: ignoring unknown option '/fopenmp-targets=spir64'
...

Happy Thanksgiving to those who celebrate! I’m off for the rest of the week, so I apologize if I’m slow responding to follow up questions.

1 Like

Cmake should be very new, 3.27 or newer

1 Like

I upgraded from cmake 3.27.0 to 3.28.0-rc5 and it’s still using ifort.

I’ve also tried setting the compiler via a command-line argument to cmake, like this:

cmake.exe -S . -B build -G "Visual Studio 17 2022" -D CMAKE_Fortran_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2024.0/bin/ifx.exe"

The behavior is the same, whether I use the full path or just ifx.

Sorry, this is probably more of a cmake problem than an Intel problem.

It’s been interesting to see some of the farewells on Twitter,

(Aart Bik is a former Intel employee, now at Google)

3 Likes

I found that the Visual Studio* generators do not work, but the NMake Makefiles generator does:

cmake -G "NMake Makefiles" .. -D CMAKE_Fortran_COMPILER="C:/Program Files (x86)/Intel/oneAPI/compiler/2024.0/bin/ifx.exe"

With the VS generator, cmake always uses ifort instead of ifx.

I’ve also read that ifx has no support for 32-bit. No big deal probably but just another thing to say goodbye :slight_smile:

CMake 3.29 added the ability to specify the Fortran compiler with Visual Studio generators.

To use ifx:

cmake -S . -B build -G “Visual Studio 17 2022” -T “fortran=ifx”

To use ifort:

cmake -S . -B build -G “Visual Studio 17 2022” -T “fortran=ifort”

3 Likes