Is this oneAPI Fortran compiler based on a different underlying technology than the previous Intel 19.1 compiler? Yesterday I was doing some testing and just happened to notice that the timings were much slower than what I had recorded 9 months ago when I had used the 19.1 compiler. After digging into it more carefully I found that indeed the test was now taking about 25% more time when compiled with the oneAPI compiler than with 19.1 – same code, same compiler options. This is just anecdotal at this point; I haven’t had the chance yet to see if broader testing shows a similar pattern. I routinely test for correctness, but a big hole in my testing is on checking performance.
Edit: Note that I am still using the “classic” ifort, not the beta ifx compiler based on llvm.
Thanks. The instructions above also work for Ubuntu 20.04.1 LTS under WSL. My change point program runs about 5% faster with Intel Fortran on WSL/Ubuntu compared to Intel Fortran on Windows, using the -O2 option in each case.
The Windows version is Intel(R) Fortran Intel(R) 64 Compiler Classic for applications running on Intel(R) 64, Version 2021.1 Build 20201112_000000, which is a later release date than the Linux ifort 20210228.
Thank you for posting your experience here. I just installed ifort it on Microsoft WSL and it works flawlessly. On a side note, I only followed the instructions for installing ifort, but it seems like it also installs Intel MPI along with ifort. Is that because of Coarrays? Is there a way to install the MPI library separately without the Fortran compiler?
Thanks @vmagnin! My old parallel cluster edition license expired recently so your summary was exactly what I needed. I also added the Intel MKL libraries with
Yes - and it is not full Intel MPI, just the libraries. You don’t get the MPI include files/modules with the compiler. As @ivanpribec mentions, the full Intel MPI can be installed separately, assuming you haven’t decided to just install all of the HPC Toolkit.
Try to install the intel-oneapi-mpi-devel package if you are using apt on WSL. The intel-oneapi-mpi package installed with ifort seems to be only the runtime library.
Same holds for MKL, intel-oneapi-mkl is just the runtime, for development against MKL I usually have to install intel-oneapi-mkl-devel.
He was perfectly true. I omited installing the Base oneAPI toolkit. The HPC oneAPI installer complained a little bit, I ignored it and continued installing the HPC toolkit. The Visual Studio 2019 integration worked like a charm.