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