# Intel releases oneAPI Toolkit, free, Fortran 2018

**URL:** <https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471>\
**Category:** Announcements\
**Created:** [December 8, 2020, 9:30pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471 "2020-12-08T21:30:36Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![JeffH](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/jeffh/32/595_2.png) [@JeffH](https://fortran-lang.discourse.group/u/JeffH)\
**Post date:** [May 24, 2021, 5:50pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/61 "2021-05-24T17:50:35Z")

</div>

In theory, one can `apt-get install intel-oneapi-compiler-fortran` (or equivalent in the other package managers that oneAPI supports, which are described in a previous link in this thread) and get the minimum stuff required to use Fortran.

---

<div class="post-metadata">

**Author:** ![milancurcic](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/milancurcic/32/2_2.png) [@milancurcic](https://fortran-lang.discourse.group/u/milancurcic)\
**Post date:** [May 24, 2021, 6:44pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/62 "2021-05-24T18:44:32Z")

</div>

Welcome @vsnyder, @TruongDang, and @JeffH!

---

<div class="post-metadata">

**Author:** ![TruongDang](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@TruongDang](https://fortran-lang.discourse.group/u/TruongDang)\
**Post date:** [May 25, 2021, 12:19am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/63 "2021-05-25T00:19:58Z")

</div>

I’m so impressed by Intel debugger integrated in Visual Studio. It helped me easily debug my Fortran code which intesively use Fortran pointer technique. I used to debug using GDB integrated in CodeBlocks IDE but it is not as good as Intel debugger. Many thanks to the Intel team.

---

<div class="post-metadata">

**Author:** ![FortranFan](https://avatars.discourse-cdn.com/v4/letter/f/96bed5/32.png) [@FortranFan](https://fortran-lang.discourse.group/u/FortranFan)\
**Post date:** [May 25, 2021, 2:45am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/64 "2021-05-25T02:45:09Z")

</div>

@TruongDang ,

Welcome to this forum.

Glad to read of your experience using Intel Fortran integration with Visual Studio.

Microsoft’s Visual Studio is in and of itself and in the absence of Fortran, is simply **the best** IDE in our experience.

What it facilitates as an editor with ever advancing Intellisense and especially as a visual debugger for users of Microsoft .NET and C# and increasingly for users of modern C++ with advanced support of newer standards including C++20 and experimental C++23 features has to be seen to be believed!

One can only hope support for Fortran in Visual Studio will soon arrive at such **first-class** level. It’s nowhere to close to that yet. Unfortunately yet, Intel Fortran integration in Visual Studio has been rather stagnant for a while; in fact, there are aspects, such as working with components with the `ALLOCATABLE` attribute of derived types - standard Fortran 90 stuff nearly 30 years old - that its predecessor in DEC Digital Visual Fortran used to support with Microsoft Visual Studio circa **2001** , that have long been left in the lurch even in the latest version 2021.2 with latest Visual Studio version. We have lost count of the number of erstwhile or new Fortran users who eventually migrated away from Fortran to other languages supported brilliantly in Visual Studio due to such glaring gaps.

Nonetheless, you should also consider posting your feedback at the Intel Fortran forum, it will be welcome news there: [Intel® Fortran Compiler - Intel Community](https://community.intel.com/t5/Intel-Fortran-Compiler/bd-p/fortran-compiler)

---

<div class="post-metadata">

**Author:** ![TruongDang](https://avatars.discourse-cdn.com/v4/letter/t/54ee81/32.png) [@TruongDang](https://fortran-lang.discourse.group/u/TruongDang)\
**Post date:** [May 25, 2021, 1:12pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/65 "2021-05-25T13:12:38Z")

</div>

@FortranFan

Currently I work mainly with Java and IntelliJ IDEA. One thing that I really surprise is that Intel debugger can somehow enhance production similar to IntelliJ debugger. I used to be a CFD code developer and Fortran coding was my first job. At that time when using Fortran 2003’s features, I had to get rid of the Compaq Visual Fortran’s debugger and used GDB debugger integrated in Code::Blocks.

I posted my feedback at the Intel Fortran forum.

---

<div class="post-metadata">

**Author:** ![billlong](https://avatars.discourse-cdn.com/v4/letter/b/71e660/32.png) [@billlong](https://fortran-lang.discourse.group/u/billlong)\
**Post date:** [May 26, 2021, 3:08pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/66 "2021-05-26T15:08:47Z")

</div>

Not to detract from Intel’s product, but it is worth noting that the NAG compiler is also well-known for having extensive debugging facilities.

---

<div class="post-metadata">

**Author:** ![VladimirF](https://avatars.discourse-cdn.com/v4/letter/v/e9a140/32.png) [@VladimirF](https://fortran-lang.discourse.group/u/VladimirF)\
**Post date:** [June 5, 2021, 2:36pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/67 "2021-06-05T14:36:36Z")

</div>

It seems to be not available any more. The repository [https://yum.repos.intel.com/oneapi](https://yum.repos.intel.com/oneapi) ([YUM, DNF, Zypper](https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/yum-dnf-zypper.html) ) just gives permission denied. And not just today.

---

<div class="post-metadata">

**Author:** ![FortranFan](https://avatars.discourse-cdn.com/v4/letter/f/96bed5/32.png) [@FortranFan](https://fortran-lang.discourse.group/u/FortranFan)\
**Post date:** [June 5, 2021, 5:02pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/68 "2021-06-05T17:02:41Z")

</div>

@VladimirF , does Intel’s base site help for Linux? That is, the one provided by @sblionel in the original post? It does work for Windows OS - a colleague just used it successfully a couple of days ago:

> **[Download the Intel oneAPI HPC Toolkit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit/download.html)**
>
> Select your operating system, distribution channel and then download your customized installation of Intel® oneAPI.

---

<div class="post-metadata">

**Author:** ![VladimirF](https://avatars.discourse-cdn.com/v4/letter/v/e9a140/32.png) [@VladimirF](https://fortran-lang.discourse.group/u/VladimirF)\
**Post date:** [June 5, 2021, 9:36pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/69 "2021-06-05T21:36:35Z")

</div>

The link I gave comes exactly from there. In fact, I did actually install the compilers from there but it is not accessible any more. And for some considerable time (weeks, not days).

---

<div class="post-metadata">

**Author:** ![VladimirF](https://avatars.discourse-cdn.com/v4/letter/v/e9a140/32.png) [@VladimirF](https://fortran-lang.discourse.group/u/VladimirF)\
**Post date:** [June 8, 2021, 11:46am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/71 "2021-06-08T11:46:53Z")

</div>

@septc What do you mean by “download”? I was writing about yum or zypper repositories.

---

<div class="post-metadata">

**Author:** ![VladimirF](https://avatars.discourse-cdn.com/v4/letter/v/e9a140/32.png) [@VladimirF](https://fortran-lang.discourse.group/u/VladimirF)\
**Post date:** [June 8, 2021, 11:48am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/72 "2021-06-08T11:48:04Z")

</div>

@septc What does the link [https://yum.repos.intel.com/oneapi](https://yum.repos.intel.com/oneapi) you will get from the download page give you?

---

<div class="post-metadata">

**Author:** ![septc](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/septc/32/77_2.png) [@septc](https://fortran-lang.discourse.group/u/septc)\
**Post date:** [June 8, 2021, 12:38pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/73 "2021-06-08T12:38:49Z")

</div>

@VladimirF I used the page FortranFan suggested right above. Then,

Operating System : Linux  
Distribution : Web & Local (recommended)  
Installer type : Local  
gave me “l\_HPCKit\_p\_2021.2.0.2997\_offline.sh” (and similarly for Mac, dmg).

I’ve just tried your link now, and it gives an error like “no style information (for XML)”. I don’t know the reason, but maybe we can use the above version for now…

---

<div class="post-metadata">

**Author:** ![vmagnin](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/vmagnin/32/28_2.png) [@vmagnin](https://fortran-lang.discourse.group/u/vmagnin)\
**Post date:** [June 25, 2021, 1:40pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/74 "2021-06-25T13:40:37Z")

</div>

I had problems with `source /opt/intel/oneapi/setvars.sh` in my `.bash_profile` script (which is normally launched at each shell login), in my Linux Ubuntu. Hence, I removed it from this file and added in my `.bashrc` (launched each time you open a shell) the following command:

```bash
source /opt/intel/oneapi/setvars.sh --force > /dev/null

```

The `--force` is necessary to avoid that message:

```auto
:: WARNING: setvars.sh has already been run. Skipping re-execution.
   To force a re-execution of setvars.sh, use the '--force' option.
   Using '--force' can result in excessive use of your environment variables.

```

The `> /dev/null` redirection is to avoid having a message printed each time you open a terminal.

---

<div class="post-metadata">

**Author:** ![cradesto](https://avatars.discourse-cdn.com/v4/letter/c/7ba0ec/32.png) [@cradesto](https://fortran-lang.discourse.group/u/cradesto)\
**Post date:** [July 1, 2021, 9:25am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/75 "2021-07-01T09:25:02Z")

</div>

Does intel support conda installation of Fortran Compiler Classic (ifort)?

Following the [link](https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-macos/top/installation/install-using-package-managers/conda.html)  
and executing the command

```auto
conda install -c intel fortran_rt

```

it turns out to install some insignificant number of libraries but the compiler itself.

---

<div class="post-metadata">

**Author:** ![goerz](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/goerz/32/1231_2.png) [@goerz](https://fortran-lang.discourse.group/u/goerz)\
**Post date:** [January 29, 2022, 2:37am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/76 "2022-01-29T02:37:31Z")

</div>

> [@awvwgk](#):
>
> it takes some trial and error to find out which modules to load to get `ifort` and the MKL setup correctly, if you found your setup save the environment or create a meta module to load those in the future automatically.

Can you elaborate? I’ve been trying to load the module files as an alternative to sourcing `/opt/intel/oneapi/setvars.sh`. I tried generating the module-files with

```bash
sudo /opt/intel/oneap/modulefiles-setup.sh --output-dir=/usr/share/lmod/lmod/modulefiles/intel

```

If I do `module load intel/compiler/latest` after that, it puts `ifort` in my `PATH`, but compilation doesn’t work (`libimf.so: cannot open shared object file`). For the record, compilation does work if I source `setvars.sh`, but then I can’t un-load the compiler.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [January 29, 2022, 8:55am UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/77 "2022-01-29T08:55:42Z")

</div>

Welcome to the forum, @goerz.

I’ve currently settled for using the following modulefile to load Intel’s modules:

```auto
local name = "intel"
local version = myModuleVersion()
local prefix = "/opt/intel/oneapi"
local compilerdir = pathJoin(prefix, "compiler", version, "linux")

family("compiler")

append_path("MODULEPATH", pathJoin(prefix, "modulefiles"))
pushenv("CC", pathJoin(compilerdir, "bin/intel64/icc"))
pushenv("CXX", pathJoin(compilerdir, "bin/intel64/icpc"))
pushenv("FC", pathJoin(compilerdir, "bin/intel64/ifort"))
pushenv("F77", pathJoin(compilerdir, "bin/intel64/ifort"))

depends_on("advisor/" .. version)
depends_on("compiler/" .. version)
depends_on("debugger")
depends_on("mkl/" .. version)
depends_on("mpi/" .. version)
depends_on("tbb/" .. version)
depends_on("vtune/" .. version)

```

---

<div class="post-metadata">

**Author:** ![goerz](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/goerz/32/1231_2.png) [@goerz](https://fortran-lang.discourse.group/u/goerz)\
**Post date:** [January 29, 2022, 9:19pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/78 "2022-01-29T21:19:15Z")

</div>

Thanks! I put that in a file `ifort/2022.0.2.lua` in my `MODULEPATH`, but then when I try to load it, I get an error `attempt to call global 'depends_on' (a nil value)`. Any idea what’s wrong here?

I might just have to go back to doing a manual diff of my environment before/after sourcing `setvars.sh` and write a module file by hand based on that. But I don’t get why Intel provides module files at all if it doesn’t get their users a simple `module load ifort`.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [January 29, 2022, 9:27pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/79 "2022-01-29T21:27:28Z")

</div>

I noticed that the latest Intel version does not have consistent versions for the modules anymore (just updated this evening), I had to remove the `.. version` part from the `depends_on`.

Afterwards it loads just fine again

```nohighlight
❯ module load intel
Loading advisor version 2022.0.0
Loading compiler version 2022.0.2
Loading tbb version 2021.5.1
Loading compiler-rt version 2022.0.2
Loading oclfpga version 2022.0.2
  Load "debugger" to debug DPC++ applications with the gdb-oneapi debugger.
  Load "dpl" for additional DPC++ APIs: https://github.com/oneapi-src/oneDPL
Loading debugger version 2021.5.0
Loading mkl version 2022.0.2
Loading mpi version 2021.5.1
Loading vtune version 2022.0.0

```

---

<div class="post-metadata">

**Author:** ![goerz](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/goerz/32/1231_2.png) [@goerz](https://fortran-lang.discourse.group/u/goerz)\
**Post date:** [January 29, 2022, 9:33pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/80 "2022-01-29T21:33:26Z")

</div>

Sorry, yeah, I noticed that too, and I should have mentioned I fixed the `depends_on` to make sure that the names referenced there actually exist. Still, _any_ `depends_on` causes a problem. Lua just doesn’t seem to know about that function. Just `pushenv` is fine, though, so it does know about at least some `lmod` functions.

---

<div class="post-metadata">

**Author:** ![awvwgk](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/awvwgk/32/154_2.png) [@awvwgk](https://fortran-lang.discourse.group/u/awvwgk)\
**Post date:** [January 29, 2022, 9:38pm UTC](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471/81 "2022-01-29T21:38:40Z")

</div>

Maybe that’s a more recent addition to lmod, I’m usually using quite recent versions of most software if available

```nohighlight
❯ module --version

Modules based on Lua: Version 8.5.16 2021-09-24 13:35 -05:00
    by Robert McLay mclay@tacc.utexas.edu

```

There are alternatives to `depends_on`, try `load` or `always_load` (see [An Introduction to Writing Modulefiles — Lmod 8.6.8 documentation](https://lmod.readthedocs.io/en/latest/015_writing_modules.html#modules-with-dependencies)).

[Previous page](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471.md?page=3)

[Next page](https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471.md?page=5)
