Skip to content

Commit

Permalink
Add some static_asserts
Browse files Browse the repository at this point in the history
  • Loading branch information
masterleinad committed Jan 10, 2024
1 parent b4642a5 commit 1c85dd0
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions core/src/Kokkos_ExecPolicy.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -983,6 +983,12 @@ template <typename Rank, typename TeamHandle, typename Lambda,
KOKKOS_INLINE_FUNCTION void parallel_reduce(
TeamThreadMDRange<Rank, TeamHandle> const& policy, Lambda const& lambda,
ReducerValueType& val) {
static_assert(!Kokkos::is_view_v<ReturnValueType> &&
!std::is_array_v<ReturnValueType> &&
!std::is_pointer_v<ReturnValueType> &&
!Kokkos::is_reducer_v<ReturnValueType>,
"Only scalar return types are allowed!");

val = ReducerValueType{};
Impl::md_parallel_impl<Rank>(policy, lambda, val);
policy.team.team_reduce(
Expand All @@ -1000,6 +1006,12 @@ template <typename Rank, typename TeamHandle, typename Lambda,
KOKKOS_INLINE_FUNCTION void parallel_reduce(
ThreadVectorMDRange<Rank, TeamHandle> const& policy, Lambda const& lambda,
ReducerValueType& val) {
static_assert(!Kokkos::is_view_v<ReturnValueType> &&
!std::is_array_v<ReturnValueType> &&
!std::is_pointer_v<ReturnValueType> &&
!Kokkos::is_reducer_v<ReturnValueType>,
"Only a scalar return types are allowed!");

val = ReducerValueType{};
Impl::md_parallel_impl<Rank>(policy, lambda, val);
if constexpr (false
Expand Down Expand Up @@ -1030,6 +1042,12 @@ template <typename Rank, typename TeamHandle, typename Lambda,
KOKKOS_INLINE_FUNCTION void parallel_reduce(
TeamVectorMDRange<Rank, TeamHandle> const& policy, Lambda const& lambda,
ReducerValueType& val) {
static_assert(!Kokkos::is_view_v<ReturnValueType> &&
!std::is_array_v<ReturnValueType> &&
!std::is_pointer_v<ReturnValueType> &&
!Kokkos::is_reducer_v<ReturnValueType>,
"Only a scalar return types are allowed!");

val = ReducerValueType{};
Impl::md_parallel_impl<Rank>(policy, lambda, val);
if constexpr (false
Expand Down

0 comments on commit 1c85dd0

Please sign in to comment.