diff --git a/src/CUDAStream.cu b/src/CUDAStream.cu index 5629b40..15b1b41 100644 --- a/src/CUDAStream.cu +++ b/src/CUDAStream.cu @@ -65,10 +65,21 @@ void CUDAStream::copy() check_error(); } +template +__global__ void mul_kernel(T * b, const T * c) +{ + const T scalar = 3.0; + const int i = blockDim.x * blockIdx.x + threadIdx.x; + b[i] = scalar * c[i]; +} + template void CUDAStream::mul() { - return; + mul_kernel<<<1024, 1024>>>(d_b, d_c); + check_error(); + cudaDeviceSynchronize(); + check_error(); } template @@ -85,3 +96,4 @@ void CUDAStream::triad() template class CUDAStream; template class CUDAStream; +