conda-forge / intel-compiler-repack-feedstock

A conda-smithy repository for intel-compiler-repack.
BSD 3-Clause "New" or "Revised" License
3 stars 9 forks source link

Availability of ifx? #15

Open h-vetinari opened 1 year ago

h-vetinari commented 1 year ago

Hey all

Since this feedstock repacks intel-fortran-rt, or:

Runtime for Intel® Fortran Compiler Classic and Intel® Fortran Compiler (Beta)

I'm wondering if it's also planned to repack ifort for conda-forge? For scipy, we've been stuck with using an unholy combination of MSVC+gfortran because there's no other available fortran compiler on windows in conda-forge. Now that scipy is switching to meson (which enforces a cleaner toolchain than this hack; details), we're really in need of a fortran compiler, and llvm-flang resp. LFortran aren't ready for primetime yet.

The reason I'm asking is that I cannot really imagine the usefulness of the intel fortran runtime in conda-forge, unless there are packages that require it, which would presumably be those that have been compiled with ifort.

Thanks!

napetrov commented 1 year ago

Hi @h-vetinari, thanks for inquiry. Runtime

  1. Think this is just part of all compiler runtimes distribution including C++ and SYCL.
  2. Initial aim was to provide runtimes for other applications build based on Intel Compilers so runtime dependency can be resolved via this package. So non necessary conda-forge build ecosystem but user ecosystem that relay on this runtime packages.

Compiler:

  1. Compiler itself is publicly available via apt/yum channels but there are additional steps were required for legal part of redistribution to conda. This was done for C++ and SYCL compilers. And technically can be done.
  2. ifort is old compiler that wouldn't be developed further, so it for sure wouldn't be deployed. But ifx is current replacement for ifort - so it probably have chances to get here if there would be enough interest for it.

This wouldn't be fast...

h-vetinari commented 1 year ago

Hi @napetrov, thanks for the reply!

But ifx is current replacement for ifort - so it probably have chances to get here if there would be enough interest for it.

I wasn't aware how the new Fortran compiler is called, but this would be hugely helpful! Please let me know what I can do to make that case (including gathering feedback or support from conda-forge/core)

For context: We've had big problems serving packages with Fortran components (mainly on windows), because we have no compilers available for that in conda-forge, except gfortran-through-MinGW, which comes with a long list of headaches though.

Having a production grade compiler available in our infrastructure would be incredibly beneficial.

rgommers commented 1 year ago

Having a production grade compiler available in our infrastructure would be incredibly beneficial.

+1. I'd also add that this would make it a lot easier to use ifx in CI of mainstream packages like SciPy, especially on Windows. The separate installers and .bat scripts that Intel provides aren't really workable; a simple conda install ifx (or intel-compilers) would be way easier. As a data point, I did put time into that at https://github.com/scipy/scipy/pull/16957, but it was too painful to finish.

Krande commented 7 months ago

@h-vetinari Any news on adding support for ifx? If it is only a matter of someone needing to spend some time on this, I would be able to dedicate time for this in the coming weeks.

We've been working on adding windows support for the Code Aster feedstock, and right now it seems like a MSVC compatible Fortran compiler is the only missing piece. I have managed to compile locally with ifx using the intel oneAPI fortran 2024.0 and would be happy to try to help adding ifx support on conda-forge

h-vetinari commented 7 months ago

Since the compiler sources are not available, only intel can provide ifx; we have no way to build it ourselves. In the meantime, you can try using flang 17 or 18 as a MSVC-compatible compiler on windows. It's what we're using for SciPy for example (background).

Krande commented 7 months ago

Thank you for the response!

Okay, then I'll shift my efforts to the flang compiler.

(A really interesting article btw.)

Best Regards Kristoffer

jacobwilliams commented 1 week ago

Note: it appears that Intel now has the ifx compiler available on their conda channel. It's ifx_linux-64 in https://software.repos.intel.com/python/conda/

see: https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler-download.html?operatingsystem=linux&distribution-linux=conda

jcapriot commented 1 day ago

Windows as well at ifx_win-64 !

Note: it appears that Intel now has the ifx compiler available on their conda channel. It's ifx_linux-64 in https://software.repos.intel.com/python/conda/

see: https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler-download.html?operatingsystem=linux&distribution-linux=conda