diff --git a/src/CUDAStream.cu b/src/CUDAStream.cu index d95f9a1..163a3f1 100644 --- a/src/CUDAStream.cu +++ b/src/CUDAStream.cu @@ -1,10 +1,17 @@ #include "CUDAStream.h" +template +__global__ void copy_kernel(const T * a, T * c) +{ + const int i = blockDim.x * blockIdx.x + threadIdx.x; + c[i] = a[i]; +} + template void CUDAStream::copy() { - return; + copy<<<1024, 1024>>>(a, c); } template diff --git a/src/CUDAStream.h b/src/CUDAStream.h index bfea7ed..ab9ac38 100644 --- a/src/CUDAStream.h +++ b/src/CUDAStream.h @@ -10,4 +10,11 @@ class CUDAStream : public Stream void add(); void mul(); void triad(); + + private: + // Device side pointers to arrays + T *d_a; + T *d_b; + T *d_c; + };