16 namespace unifiedCudaHip
18 template<
typename T_ApiInterface,
typename T_Dest,
typename T_Source>
21 static_assert(
sizeof(T_Dest) &&
false,
"Not supported memcpy kind.");
24 template<
typename T_ApiInterface, alpaka::concepts::UnifiedCudaHipApi T_Source>
25 struct MemcpyKind<T_ApiInterface,
api::Host, T_Source>
27 static constexpr auto kind = T_ApiInterface::memcpyDeviceToHost;
30 template<
typename T_ApiInterface, alpaka::concepts::UnifiedCudaHipApi T_SourceDestApi>
31 struct MemcpyKind<T_ApiInterface, T_SourceDestApi, T_SourceDestApi>
33 static constexpr auto kind = T_ApiInterface::memcpyDeviceToDevice;
36 template<
typename T_ApiInterface>
37 struct MemcpyKind<T_ApiInterface,
api::Host, api::Host>
39 static constexpr auto kind = T_ApiInterface::memcpyHostToHost;
42 template<
typename T_ApiInterface, alpaka::concepts::UnifiedCudaHipApi T_Dest>
43 struct MemcpyKind<T_ApiInterface, T_Dest,
api::Host>
45 static constexpr auto kind = T_ApiInterface::memcpyHostToDevice;
Functionality which is usable on the host CPU controller thread.