summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/ginkgo-dpcpp-intrinsincs-oneapi-2024.1.patch19
-rw-r--r--var/spack/repos/builtin/packages/ginkgo/package.py3
2 files changed, 22 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/ginkgo/ginkgo-dpcpp-intrinsincs-oneapi-2024.1.patch b/var/spack/repos/builtin/packages/ginkgo/ginkgo-dpcpp-intrinsincs-oneapi-2024.1.patch
new file mode 100644
index 0000000000..437f89dab3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ginkgo/ginkgo-dpcpp-intrinsincs-oneapi-2024.1.patch
@@ -0,0 +1,19 @@
+diff -ruN spack-src/dpcpp/components/intrinsics.dp.hpp spack-src-patched/dpcpp/components/intrinsics.dp.hpp
+--- spack-src/dpcpp/components/intrinsics.dp.hpp 2024-04-03 18:53:42.724032846 +0000
++++ spack-src-patched/dpcpp/components/intrinsics.dp.hpp 2024-04-03 18:55:01.744543032 +0000
+@@ -67,13 +67,13 @@
+ */
+ __dpct_inline__ int ffs(uint32 mask)
+ {
+- return (mask == 0) ? 0 : (sycl::ext::intel::ctz(mask) + 1);
++ return (mask == 0) ? 0 : (sycl::ctz(mask) + 1);
+ }
+
+ /** @copydoc ffs */
+ __dpct_inline__ int ffs(uint64 mask)
+ {
+- return (mask == 0) ? 0 : (sycl::ext::intel::ctz(mask) + 1);
++ return (mask == 0) ? 0 : (sycl::ctz(mask) + 1);
+ }
+
+
diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py
index 31b0503b89..c17485d93a 100644
--- a/var/spack/repos/builtin/packages/ginkgo/package.py
+++ b/var/spack/repos/builtin/packages/ginkgo/package.py
@@ -106,6 +106,9 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage):
# https://github.com/ginkgo-project/ginkgo/pull/1524
patch("ginkgo-sycl-pr1524.patch", when="@1.7.0 +sycl %oneapi@2024:")
+ # https://github.com/ginkgo-project/ginkgo/pull/1585
+ patch("ginkgo-dpcpp-intrinsincs-oneapi-2024.1.patch", when="@1.7.0 +sycl %oneapi@2024.1:")
+
# Skip smoke tests if compatible hardware isn't found
patch("1.4.0_skip_invalid_smoke_tests.patch", when="@1.4.0")