1#include <muda/type_traits/type_label.h>
4#include <muda/buffer/buffer_2d_view.h>
5#include <muda/buffer/buffer_3d_view.h>
7namespace muda::details::buffer
11MUDA_INLINE MUDA_HOST
void kernel_assign(cudaStream_t stream, VarView<T> dst, CVarView<T> src)
13 ParallelFor(1, 1, 0, stream)
15 [dst, src] __device__(
int i)
mutable
16 { *dst.data() = *src.data(); });
21MUDA_INLINE MUDA_HOST
void kernel_assign(
int grid_dim,
27 ParallelFor(grid_dim, block_dim, 0, stream)
29 [dst, src] __device__(
int i)
mutable
30 { *dst.data(i) = *src.data(i); });
35MUDA_INLINE MUDA_HOST
void kernel_assign(
int grid_dim,
41 ParallelFor(grid_dim, block_dim, 0, stream)
42 .apply(dst.total_size(),
43 [dst, src] __device__(
int i)
mutable
44 { *dst.data(i) = *src.data(i); });
49MUDA_INLINE MUDA_HOST
void kernel_assign(
int grid_dim,
55 ParallelFor(grid_dim, block_dim, 0, stream)
56 .apply(dst.total_size(),
57 [dst, src] __device__(
int i)
mutable
58 { *dst.data(i) = *src.data(i); });
A view interface for any array-like liner memory, which can be constructed from DeviceBuffer/DeviceVe...
A frequently used parallel for loop, DynamicBlockDim and GridStrideLoop strategy are provided,...