From 134310e09a184149b8933642b45f21ac12a01303 Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Thu, 29 Feb 2024 22:41:11 +0100 Subject: [PATCH] Add layout constraint --- include/ddc/mirror.hpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/include/ddc/mirror.hpp b/include/ddc/mirror.hpp index 801b712a7..99fd2f1ab 100644 --- a/include/ddc/mirror.hpp +++ b/include/ddc/mirror.hpp @@ -17,6 +17,9 @@ auto create_mirror( [[maybe_unused]] Space const& space, ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); return Chunk( src.domain(), KokkosAllocator, typename Space::memory_space>()); @@ -26,6 +29,9 @@ auto create_mirror( template auto create_mirror(ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); return Chunk(src.domain(), HostAllocator>()); } @@ -35,6 +41,9 @@ auto create_mirror_and_copy( Space const& space, ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); Chunk chunk = create_mirror(space, src); parallel_deepcopy(space, chunk, src); return chunk; @@ -44,6 +53,9 @@ auto create_mirror_and_copy( template auto create_mirror_and_copy(ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); Chunk chunk = create_mirror(src); parallel_deepcopy(chunk, src); return chunk; @@ -56,6 +68,9 @@ auto create_mirror_view( Space const& space, ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); if constexpr (Kokkos::SpaceAccessibility::accessible) { return src; } else { @@ -68,6 +83,9 @@ auto create_mirror_view( template auto create_mirror_view(ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); if constexpr (Kokkos::SpaceAccessibility::accessible) { return src; } else { @@ -82,6 +100,9 @@ auto create_mirror_view_and_copy( Space const& space, ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); if constexpr (Kokkos::SpaceAccessibility::accessible) { return src; } else { @@ -94,6 +115,9 @@ auto create_mirror_view_and_copy( template auto create_mirror_view_and_copy(ChunkSpan const& src) { + static_assert( + std::is_same_v, + "Only layout right is supported"); if constexpr (Kokkos::SpaceAccessibility::accessible) { return src; } else {