From 6eb8a4940f8743dcb8a05c6f4e0fd2b813234a82 Mon Sep 17 00:00:00 2001 From: miha-q <> Date: Thu, 7 Mar 2024 20:06:20 -0500 Subject: [PATCH] Thu Mar 7 08:06:20 PM EST 2024 --- examples/slow.txt | 5 +---- src/complex.c | 10 +++++----- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/slow.txt b/examples/slow.txt index f4126d6..d997061 100644 --- a/examples/slow.txt +++ b/examples/slow.txt @@ -1,5 +1,5 @@ //designed to be slow -qreg q[14]; +qreg q[11]; x q[0]; x q[1]; x q[2]; @@ -11,8 +11,5 @@ x q[7]; x q[8]; x q[9]; x q[10]; -x q[11]; -x q[12]; -x q[13]; born; \ No newline at end of file diff --git a/src/complex.c b/src/complex.c index 2d632df..f1faff3 100644 --- a/src/complex.c +++ b/src/complex.c @@ -8,6 +8,7 @@ #include "cores.c" #include "kernel_cpu.cl" #include "kernel_gpu.cl" +#define OPTIMAL_WGS_KNK 2 typedef struct { float real, imaginary; @@ -556,8 +557,8 @@ void cpx_mtx_dot_metal(float* ptrR, float* ptrA, float* ptrB, int rowsA, int col err = clSetKernelArg(kernel, 5, sizeof(int), &rowsB); gpuerr(err); err = clSetKernelArg(kernel, 6, sizeof(int), &colsB); gpuerr(err); - //Run the program - err = clEnqueueNDRangeKernel(cpx_mtx_command_queue, kernel, 2, NULL, (size_t[]){rowsR, colsR}, NULL, 0, NULL, NULL); + size_t wgs[2] = {1, 1}; + err = clEnqueueNDRangeKernel(cpx_mtx_command_queue, kernel, 2, NULL, (size_t[]){rowsR, colsR}, wgs, 0, NULL, NULL); gpuerr(err); //Wait for completion @@ -751,10 +752,9 @@ void cpx_mtx_knk_metal_2x2(float* ptrR, float* ptrA, float* ptrB, int rowsA, int err = clSetKernelArg(kernel,10, sizeof(float), &gate6); gpuerr(err); err = clSetKernelArg(kernel,11, sizeof(float), &gate7); gpuerr(err); - //Run the program - size_t wgs = 2; - err = clEnqueueNDRangeKernel(cpx_mtx_command_queue, kernel, 1, NULL, (size_t[]){rowsR / 2}, &wgs, 0, NULL, NULL); + size_t wgs[2] = {OPTIMAL_WGS_KNK}; + err = clEnqueueNDRangeKernel(cpx_mtx_command_queue, kernel, 1, NULL, (size_t[]){rowsR / 2}, wgs, 0, NULL, NULL); gpuerr(err); //Wait for completion -- 2.39.5