From 319e11011c896a953301b273bfdbb3bb37920d1e Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Tue, 26 Apr 2016 16:07:32 +0100 Subject: [PATCH] Add triad kernel --- src/CUDAStream.cu | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/CUDAStream.cu b/src/CUDAStream.cu index f08c40b..18e1a70 100644 --- a/src/CUDAStream.cu +++ b/src/CUDAStream.cu @@ -98,10 +98,21 @@ void CUDAStream::add() check_error(); } +template +__global__ void triad_kernel(T * a, const T * b, const T * c) +{ + const T scalar = 3.0; + const int i = blockDim.x * blockIdx.x + threadIdx.x; + a[i] = b[i] + scalar * c[i]; +} + template void CUDAStream::triad() { - return; + triad_kernel<<<1024, 1024>>>(d_a, d_b, d_c); + check_error(); + cudaDeviceSynchronize(); + check_error(); } template class CUDAStream;