From c9b3d07b84dc100af721e26ac0ff6127765ab1ad Mon Sep 17 00:00:00 2001 From: James Price Date: Mon, 24 Oct 2016 12:49:58 +0100 Subject: [PATCH] Fix OpenCL host code for dot kernel Wrong number of blocks was being copied and summed, and the host sums vector didn't have the correct size. --- OCLStream.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OCLStream.cpp b/OCLStream.cpp index cef5fa6..3e97f7d 100644 --- a/OCLStream.cpp +++ b/OCLStream.cpp @@ -138,8 +138,9 @@ OCLStream::OCLStream(const unsigned int ARRAY_SIZE, const int device_index) d_a = cl::Buffer(context, CL_MEM_READ_WRITE, sizeof(T) * ARRAY_SIZE); d_b = cl::Buffer(context, CL_MEM_READ_WRITE, sizeof(T) * ARRAY_SIZE); d_c = cl::Buffer(context, CL_MEM_READ_WRITE, sizeof(T) * ARRAY_SIZE); - d_sum = cl::Buffer(context, CL_MEM_WRITE_ONLY, sizeof(T) * WGSIZE); + d_sum = cl::Buffer(context, CL_MEM_WRITE_ONLY, sizeof(T) * (ARRAY_SIZE/WGSIZE)); + sums = std::vector(ARRAY_SIZE/WGSIZE); } template