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

[BUG] Compilation failure for SYCL with Intel oneAPI 2025.0 #596

Closed
baperry2 opened this issue Oct 29, 2024 · 2 comments
Closed

[BUG] Compilation failure for SYCL with Intel oneAPI 2025.0 #596

baperry2 opened this issue Oct 29, 2024 · 2 comments

Comments

@baperry2
Copy link

Current Behavior:

The PelePhysics CI is failing while compiling Sundials with SYCL support. The error is reproduced below - the std::sqrt function is not found. This is new behavior for Intel oneAPI 2025.0 (released 10/25/24) and does not occur for older versions.

/home/runner/work/PelePhysics/PelePhysics/PelePhysics-sycl/Submodules/sundials/src/nvector/sycl/nvector_sycl.cpp:1149:10: error: no member named 'sqrt' in namespace 'std'; did you mean 'sycl::sqrt'?
 1149 |   return std::sqrt(sum / N);
      |          ^~~~~~~~~
      |          sycl::sqrt
/opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/detail/builtins/math_functions.inc:188:34: note: 'sycl::sqrt' declared here
  188 | BUILTIN_GENF_NATIVE_OPT(ONE_ARG, sqrt)
      |                                  ^
/home/runner/work/PelePhysics/PelePhysics/PelePhysics-sycl/Submodules/sundials/src/nvector/sycl/nvector_sycl.cpp:1195:10: error: no member named 'sqrt' in namespace 'std'; did you mean 'sycl::sqrt'?
 1195 |   return std::sqrt(sum / N);
      |          ^~~~~~~~~
      |          sycl::sqrt
/opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/detail/builtins/math_functions.inc:188:34: note: 'sycl::sqrt' declared here
  188 | BUILTIN_GENF_NATIVE_OPT(ONE_ARG, sqrt)
      |                                  ^
/home/runner/work/PelePhysics/PelePhysics/PelePhysics-sycl/Submodules/sundials/src/nvector/sycl/nvector_sycl.cpp:1236:10: error: no member named 'sqrt' in namespace 'std'; did you mean 'sycl::sqrt'?
 1236 |   return std::sqrt(N_VWSqrSumLocal_Sycl(x, w));
      |          ^~~~~~~~~
      |          sycl::sqrt
/opt/intel/oneapi/compiler/2025.0/bin/compiler/../../include/sycl/detail/builtins/math_functions.inc:188:34: note: 'sycl::sqrt' declared here
  188 | BUILTIN_GENF_NATIVE_OPT(ONE_ARG, sqrt)
      |                                  ^

See here for full output.

Expected Behavior:

Sundials should compile successfully with Intel oneAPI 2025.0.

Steps To Reproduce:

Haven't reproduced locally, just by running the PelePhysics-CI workflow.

Environment:

  • SUNDIALS version: 7.1.1
  • OS: Ubuntu 24.04
  • Intel oneAPI 2025.0

Anything else:

gardner48 added a commit that referenced this issue Dec 10, 2024
Fix SYCL vector build with 2025 oneAPI compilers. Fix for #596

---------

Co-authored-by: David Gardner <gardner48@llnl.gov>
@balos1
Copy link
Member

balos1 commented Dec 11, 2024

This has been fixed by #617 and in sundials 7.2.0.

@balos1 balos1 closed this as completed Dec 11, 2024
@baperry2
Copy link
Author

Thanks for this fix - intel 2025 is working for Pele now.

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

No branches or pull requests

2 participants