Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Intel oneAPI missing #952

Closed
MarDiehl opened this issue Sep 16, 2024 · 7 comments
Closed

Support for Intel oneAPI missing #952

MarDiehl opened this issue Sep 16, 2024 · 7 comments

Comments

@MarDiehl
Copy link

I'm reposting the issue from bfgroup/b2#413 here because the lack of response.

Environment and version details

  • Operating System+version: Arch Linux
  • Compiler+version: Intel oneAPI 2024.2.1
  • Shell: zsh
  • B2 Version: B2 5.2.1 (OS=LINUX, jobs=8)
  • B2 Configuration: Output of b2 --debug-configuration in your project.
    not added because it uses gcc.

Brief problem description

Options defined in https://github.com/bfgroup/b2/blob/3c0f5630157c3db1025b54c2f6da25cf234b8e20/src/tools/intel-linux.jam are incompatible with LLVM-based Intel compilers:

Steps to reproduce the issue

Install Boost with

./bootstrap.sh --prefix=/tmp/boost
./b2 install --without-python --without-graph_parallel --without-mpi cxxstd=17  toolset=intel-linux  link=shared address-model=64 architecture=x86 runtime-link=shared

Actual behavior summary

The compiler gives warnings and errors and installation of a few files fails.
A few example errors are shown

intel-linux.compile.c++ bin.v2/libs/log/build/intel-linux-linux/release/x86_64/cxxstd-17-iso/threading-multi/visibility-hidden/trivial.o
icpx: command line warning #10430: Unsupported command line options encountered
These options as listed are not supported.
For more information, use '-qnextgen-diag'.
option list: 
	-ip
	-wd177,780,2196,1782,193,304,981,1418,411,734,279
...skipped <pbin.v2/libs/math/build/intel-linux-linux/release/x86_64/cxxstd-17-iso/threading-multi/visibility-hidden>acoshl.o for lack of <pbin.v2/libs/math/build/intel-linux-linux/release/x86_64/cxxstd-17-iso/threading-multi/visibility-hidden>pch.pchi...
...failed updating 1 target...
   intel-linux.compile.c++.pch bin.v2/libs/math/build/intel-linux-linux/release/x86_64/cxxstd-17-iso/threading-multi/visibility-hidden/pch.pchi

Expected behavior summary

b2 should support the most recent Intel C++ compiler (icpx)

@hainest
Copy link

hainest commented Sep 19, 2024

-ip is not supported anymore
-use-pch should be -include-pch or -pch-use
pch-create should be -Xclang -emit-pch -o

These have been fixed in spack (patch). I've been meaning to push them upstream, but I guess now is a good time. I can submit a PR here, unless you're working on one.

the Fortran compiler is called ifx, not ifort

Huh. I don't know why that hasn't been encountered in spack builds. As of 4e62a3e , the ony Fortran file I can find is ./numeric/odeint/performance/fortran_lorenz.f90. Clearly, it's needed. I'll add that to my TODO for spack.

@MarDiehl
Copy link
Author

Huh. I don't know why that hasn't been encountered in spack builds. As of 4e62a3e , the ony Fortran file I can find is ./numeric/odeint/performance/fortran_lorenz.f90. Clearly, it's needed. I'll add that to my TODO for spack.

ifort exists in parallel and was the preferred compiler in the first oneAPI releases. But now, ifx is the default and iforts removal has been scheduled.

@MarDiehl
Copy link
Author

I can submit a PR here, unless you're working on one.

I can do that, but would mainly use code from your spack package. Let me know if that would be ok.

@hainest
Copy link

hainest commented Sep 20, 2024

Huh. I don't know why that hasn't been encountered in spack builds. As of 4e62a3e , the ony Fortran file I can find is ./numeric/odeint/performance/fortran_lorenz.f90. Clearly, it's needed. I'll add that to my TODO for spack.

ifort exists in parallel and was the preferred compiler in the first oneAPI releases. But now, ifx is the default and iforts removal has been scheduled.

Ah, ok. That would explain it. Do you happen to know what version added ifx?

@hainest
Copy link

hainest commented Sep 20, 2024

I can submit a PR here, unless you're working on one.

I can do that, but would mainly use code from your spack package. Let me know if that would be ok.

Of course! Let me know if you have any other questions about the patches there (there are lots).

@MarDiehl
Copy link
Author

Ah, ok. That would explain it. Do you happen to know what version added ifx?

It was there since the release of oneAPI (https://fortran-lang.discourse.group/t/intel-releases-oneapi-toolkit-free-fortran-2018/471). It reached feature parity with the old compiler in the 2023.0.0 release: https://fortran-lang.discourse.group/t/intel-fortran-2023-launch/4929

@MarDiehl
Copy link
Author

Closing, because boostorg/build#739 seems to be the right place for this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants