firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
673 stars 627 forks source link

FDS Build: Remove mpiifort from intel thirdparty builds #13773

Closed cxp484 closed 1 week ago

cxp484 commented 1 week ago

The latest OneAPI doesn't have ifort, but kept the mpiifort which by default search for ifort compiler. That will cause a Sundials build failure. Hence removing the mpiifort option.

drjfloyd commented 1 week ago

Will this change break compilaiton for those still using ifort?

mcgratta commented 1 week ago

It should not. The FDS makefile still looks for ifort. If you do not have it because you upgraded to the latest oneAPI, you need to ``` export INTEL_IFORT=ifx


in your `.bashrc` file. This is what I am doing .  I am testing the latest oneAPI
cxp484 commented 1 week ago

I realize my previous comment may not have been entirely clear. This change affects only third-party builds, in particular Sundials. Currently, only Sundials requires a Fortran compiler. By default, the script previously searched for compilers in the following order: mpiifort, ifort, mpiifx, and ifx, prioritizing ifort over ifx. However, the latest OneAPI no longer includes ifort but retains mpiifort, which assumes the presence of ifort as a underlying default compiler. As a result, when building Sundials with the latest OneAPI, the script selects mpiifort as fortran compiler, but since ifort is unavailable, the Sundials build fails.

For building Sundials, ifort alone is sufficient, and mpiifort is not necessary. Hence, I’ve removed mpiifort from the list of third-party Fortran compilers while retaining the order ifort, mpiifx, and ifx.

@drjfloyd To answer your question: ifort will still be supported for third-party builds and will maintain priority over ifx.