11 #include <type_traits>
55 typename std::enable_if_t<
56 std::is_same_v<TTag, TagCpuOmp2Blocks> || std::is_same_v<TTag, TagCpuOmp2Threads>
57 || std::is_same_v<TTag, TagCpuSerial> || std::is_same_v<TTag, TagCpuTbbBlocks>
58 || std::is_same_v<TTag, TagCpuThreads>,
64 TViewSrc
const& viewSrc) ->
void
66 using Type = std::remove_const_t<std::remove_all_extents_t<TTypeDst>>;
69 reinterpret_cast<Type*
>(
const_cast<std::remove_const_t<TTypeDst>*
>(&viewDst)),
80 typename std::enable_if_t<
81 std::is_same_v<TTag, TagCpuOmp2Blocks> || std::is_same_v<TTag, TagCpuOmp2Threads>
82 || std::is_same_v<TTag, TagCpuSerial> || std::is_same_v<TTag, TagCpuTbbBlocks>
83 || std::is_same_v<TTag, TagCpuThreads>,
88 TViewDstFwd&& viewDst,
91 using Type = std::remove_all_extents_t<TTypeSrc>;
94 reinterpret_cast<Type*
>(&viewSrc),
106 typename std::enable_if_t<
107 std::is_same_v<TTag, TagCpuOmp2Blocks> || std::is_same_v<TTag, TagCpuOmp2Threads>
108 || std::is_same_v<TTag, TagCpuSerial> || std::is_same_v<TTag, TagCpuTbbBlocks>
109 || std::is_same_v<TTag, TagCpuThreads>,
115 TViewSrc
const& viewSrc,
116 TExtent
const& extent) ->
void
118 using Type = std::remove_const_t<std::remove_all_extents_t<TTypeDst>>;
120 reinterpret_cast<Type*
>(
const_cast<std::remove_const_t<TTypeDst>*
>(&viewDst)),
130 typename TViewDstFwd,
132 typename std::enable_if_t<
133 std::is_same_v<TTag, TagCpuOmp2Blocks> || std::is_same_v<TTag, TagCpuOmp2Threads>
134 || std::is_same_v<TTag, TagCpuSerial> || std::is_same_v<TTag, TagCpuTbbBlocks>
135 || std::is_same_v<TTag, TagCpuThreads>,
140 TViewDstFwd&& viewDst,
142 TExtent
const& extent) ->
void
144 using Type = std::remove_all_extents_t<TTypeSrc>;
146 reinterpret_cast<Type*
>(&viewSrc),
The alpaka accelerator library.
typename trait::IdxType< T >::type Idx
ALPAKA_FN_HOST auto memcpy(TQueue &queue, alpaka::detail::DevGlobalImplGeneric< TTag, TTypeDst > &viewDst, TViewSrc const &viewSrc) -> void
ALPAKA_FN_HOST auto createTaskMemcpy(TViewDstFwd &&viewDst, TViewSrc const &viewSrc, TExtent const &extent)
Creates a memory copy task.
ALPAKA_NO_HOST_ACC_WARNING ALPAKA_FN_HOST_ACC auto getExtents(T const &object) -> Vec< Dim< T >, Idx< T >>
ALPAKA_FN_HOST auto getDev(T const &t)
ALPAKA_FN_HOST auto enqueue(TQueue &queue, TTask &&task) -> void
Queues the given task in the given queue.
typename trait::DimType< T >::type Dim
The dimension type trait alias template to remove the ::type.
The memory view to wrap plain pointers.