10 #ifdef CUML_ENABLE_GPU
16 template <device_type dst_type, device_type src_type,
typename T>
17 void copy(T* dst, T
const* src, uint32_t size, uint32_t dst_offset, uint32_t src_offset)
19 detail::copy<dst_type, src_type, T>(dst + dst_offset, src + src_offset, size,
cuda_stream{});
22 template <device_type dst_type, device_type src_type,
typename T>
24 T* dst, T
const* src, uint32_t size, uint32_t dst_offset, uint32_t src_offset,
cuda_stream stream)
26 detail::copy<dst_type, src_type, T>(dst + dst_offset, src + src_offset, size, stream);
29 template <device_type dst_type, device_type src_type,
typename T>
30 void copy(T* dst, T
const* src, uint32_t size)
32 detail::copy<dst_type, src_type, T>(dst, src, size,
cuda_stream{});
35 template <device_type dst_type, device_type src_type,
typename T>
38 detail::copy<dst_type, src_type, T>(dst, src, size, stream);
52 detail::copy<device_type::gpu, device_type::gpu, T>(
53 dst + dst_offset, src + src_offset, size, stream);
55 detail::copy<device_type::cpu, device_type::cpu, T>(
56 dst + dst_offset, src + src_offset, size, stream);
58 detail::copy<device_type::gpu, device_type::cpu, T>(
59 dst + dst_offset, src + src_offset, size, stream);
61 detail::copy<device_type::cpu, device_type::gpu, T>(
62 dst + dst_offset, src + src_offset, size, stream);
69 copy<T>(dst, src, size, dst_type, src_type, 0, 0,
cuda_stream{});
80 copy<T>(dst, src, size, dst_type, src_type, 0, 0, stream);
Definition: buffer.hpp:24
int cuda_stream
Definition: cuda_stream.hpp:14
device_type
Definition: device_type.hpp:7
const_agnostic_same_t< T, U > copy(buffer< T > &dst, buffer< U > const &src, typename buffer< T >::index_type dst_offset, typename buffer< U >::index_type src_offset, typename buffer< T >::index_type size, cuda_stream stream)
Definition: buffer.hpp:316