Skip to content

Commit 731dd5a

Browse files
committed
Explicity pass template params to ZeroMemset for intel icpc compilers
Avoid apparent CTAD issue with older icpc intel compilers Resolves issue kokkos#6775
1 parent 3611cfe commit 731dd5a

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

core/src/Kokkos_CopyViews.hpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,7 +1359,13 @@ contiguous_fill_or_memset(
13591359
&& !std::is_same_v<ExecutionSpace, Kokkos::OpenMP>
13601360
#endif
13611361
)
1362+
#if defined(KOKKOS_COMPILER_INTEL) && && (KOKKOS_COMPILER_INTEL < 2100)
1363+
// icpc needs extra ctad help to compile
1364+
// See https://github.com/kokkos/kokkos/issues/6775
1365+
ZeroMemset<ExecutionSpace, View<DT, DP...>>(exec_space, dst);
1366+
#else
13621367
ZeroMemset(exec_space, dst);
1368+
#endif
13631369
else
13641370
contiguous_fill(exec_space, dst, value);
13651371
}
@@ -1391,7 +1397,13 @@ contiguous_fill_or_memset(
13911397
// leading to the significant performance issues
13921398
#ifndef KOKKOS_ARCH_A64FX
13931399
if (Impl::is_zero_byte(value))
1400+
#if defined(KOKKOS_COMPILER_INTEL) && && (KOKKOS_COMPILER_INTEL < 2100)
1401+
// icpc needs extra ctad help to compile
1402+
// See https://github.com/kokkos/kokkos/issues/6775
1403+
ZeroMemset<exec_space_type, ViewType>(exec, dst);
1404+
#else
13941405
ZeroMemset(exec, dst);
1406+
#endif
13951407
else
13961408
#endif
13971409
contiguous_fill(exec, dst, value);

0 commit comments

Comments
 (0)