Intel releases oneAPI Toolkit, free, Fortran 2018

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.

3 Likes

No, the classic compiler is just a newer version of the 19.1 compiler. I’m sure the Intel team would be interested in your test case.

3 Likes

I report the installation of the Intel Fortran compilers on a machine with Ubuntu 20.10:

$ wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
$ sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
$ rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
$ sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
$ sudo apt update

As the whole intel-basekit package uses ~16 GB on disk, I have chosen to install only the Fortran compilers (download: 560 MB, on disk: ~1.5 GB):

$ sudo apt install intel-oneapi-compiler-fortran
$ source /opt/intel/oneapi/setvars.sh

The source command should be installed into the .bash_profile script if you don’t want to type it each time you open a terminal.

It’s done:

$ ifort --version
ifort (IFORT) 2021.2.0 20210228
Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.

$ ifx --version
ifx (IFORT) 2021.2.0 Beta 20210317
Copyright (C) 1985-2021 Intel Corporation. All rights reserved.
7 Likes

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.

1 Like

Surprising! It’s exactly the same compiler version?

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

$ sudo apt install intel-oneapi-mkl
2 Likes

When compiling MPI code, ifort throws the following error:

error #7013: This module file was not generated by any release of this compiler.   [MPI]

I would appreciate anyone’s comment who knows what is going on. I have installed release 2021.2 ifort and MPI on Microsoft WSL

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.

1 Like

Thanks Steve, is there a single command to install the entire HPC toolkit all at once?

My guess is that your include path is pointing to some MPI modules other than those from Intel. Note also that Intel MPI is 64-bit only.

1 Like

Thanks again Steve. That does seem to be the issue (a local installation of MPICH exists which is included in the compilation process).

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.

2 Likes

I just found this page on the individual components in the oneAPI toolkits quite useful:
https://oneapi-src.github.io/oneapi-ci/

4 Likes

I got

E: Unable to locate package intel-oneapi-compiler-fortran

I also tried apt install intel-hpckit with the same result. I also used apt-get instead of apt, and got the same result.

The repository is listed in /etc/apt/sources.list

I’m using SMP Debian 4.19.152-1 (according to uname -a)

Has it been taken down?

What should I try next?

Hi @vsnyder, welcome to the Forum!

Coincidentally, I just tested this today in Ubuntu 20.10:

wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
DEBIAN_FRONTEND=noninteractive \
    sudo apt-get install -y --no-install-recommends \
    intel-oneapi-compiler-fortran \
    intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
source /opt/intel/oneapi/setvars.sh

And it works. Since intel-oneapi-compiler-fortran was not found, maybe you forgot to run apt update after adding the repository to sources.list?

2 Likes

@certik @vsnyder
I found that information:

By default, on ubuntu 18.04 and newer the add-apt-repository will also update the package index if the repository public key is imported.
https://linuxize.com/post/how-to-add-apt-repository-in-ubuntu/

Sorry, that’s why I did not report using apt update, but I will edit my post to add it. The behavior seems different on your Debian.

1 Like

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.

3 Likes

Even better, I installed only the fortran compiler and the MKL library. Completely avoiding the bloated toolkits.

3 Likes