20 #ifdef CUML_ENABLE_GPU
26 template <device_type dst_type, device_type src_type,
typename T>
27 void copy(T* dst, T
const* src, uint32_t size, uint32_t dst_offset, uint32_t src_offset)
29 detail::copy<dst_type, src_type, T>(dst + dst_offset, src + src_offset, size,
cuda_stream{});
32 template <device_type dst_type, device_type src_type,
typename T>
34 T* dst, T
const* src, uint32_t size, uint32_t dst_offset, uint32_t src_offset,
cuda_stream stream)
36 detail::copy<dst_type, src_type, T>(dst + dst_offset, src + src_offset, size, stream);
39 template <device_type dst_type, device_type src_type,
typename T>
40 void copy(T* dst, T
const* src, uint32_t size)
42 detail::copy<dst_type, src_type, T>(dst, src, size,
cuda_stream{});
45 template <device_type dst_type, device_type src_type,
typename T>
48 detail::copy<dst_type, src_type, T>(dst, src, size, stream);
62 detail::copy<device_type::gpu, device_type::gpu, T>(
63 dst + dst_offset, src + src_offset, size, stream);
65 detail::copy<device_type::cpu, device_type::cpu, T>(
66 dst + dst_offset, src + src_offset, size, stream);
68 detail::copy<device_type::gpu, device_type::cpu, T>(
69 dst + dst_offset, src + src_offset, size, stream);
71 detail::copy<device_type::cpu, device_type::gpu, T>(
72 dst + dst_offset, src + src_offset, size, stream);
79 copy<T>(dst, src, size, dst_type, src_type, 0, 0,
cuda_stream{});
90 copy<T>(dst, src, size, dst_type, src_type, 0, 0, stream);
Definition: buffer.hpp:33
int cuda_stream
Definition: cuda_stream.hpp:25
device_type
Definition: device_type.hpp:18
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:325