From e86e04f6d6cf1bcdaf6a7f9cac1930dde2c8b6ab Mon Sep 17 00:00:00 2001 From: LordMathis Date: Thu, 11 Apr 2024 19:49:09 +0200 Subject: [PATCH] Add clearing kernel --- include/kernels/matmul.cuh | 5 +++++ src/kernels/matmul.cu | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/kernels/matmul.cuh b/include/kernels/matmul.cuh index 75100ba..de70f1f 100644 --- a/include/kernels/matmul.cuh +++ b/include/kernels/matmul.cuh @@ -62,6 +62,11 @@ __global__ void vec_scalar_sub( const unsigned int w ); +__global__ void clear( + float* __restrict__ d_vector, + const unsigned int w +); + } // namespace CUDANet::Kernels #endif // CUDANET_MATMUL_H \ No newline at end of file diff --git a/src/kernels/matmul.cu b/src/kernels/matmul.cu index 190b8b4..80e3c00 100644 --- a/src/kernels/matmul.cu +++ b/src/kernels/matmul.cu @@ -83,4 +83,15 @@ __global__ void Kernels::vec_scalar_sub( return; } d_output[tid] = d_vector[tid] - d_scalar[0]; +} + +__global__ void Kernels::clear( + float* __restrict__ d_vector, + const unsigned int w +) { + int tid = blockDim.x * blockIdx.x + threadIdx.x; + if (tid >= w) { + return; + } + d_vector[tid] = 0.0f; } \ No newline at end of file