]> foleosoft.com Git - QAnsel.git/commitdiff
Mon Mar 4 12:01:36 PM EST 2024
authormiha-q <>
Mon, 4 Mar 2024 17:01:36 +0000 (12:01 -0500)
committermiha-q <>
Mon, 4 Mar 2024 17:01:36 +0000 (12:01 -0500)
src/complex.c
src/kernel.cl

index b8e4197c76c7c961cb4e7f7ff8e688b4d07547da..3a111e7c3615a666d76dcc38355f6407a96bea60 100644 (file)
@@ -151,11 +151,10 @@ void cpx_mtx_dot(float* ptrR, float* ptrA, float* ptrB, size_t rowsA, size_t col
 void cpx_mtx_knk(float* ptrR, float* ptrA, float* ptrB, int rowsA, int colsA, int rowsB, int colsB)
 {
        int rowsR = rowsA * rowsB;
-       int colsR = colsA * colsB;
     for (int i = 0; i < rowsR; i++)
     {
                GPU_GLOBAL_ID_0 = i;
-               kernel_knk(ptrR, ptrA, ptrB, rowsR, colsR, rowsA, colsA, rowsB, colsB);
+               kernel_knk(ptrR, ptrA, ptrB, rowsA, colsA, rowsB, colsB);
     }
 }
 
@@ -375,12 +374,10 @@ void cpx_mtx_knk_metal(float* ptrR, float* ptrA, float* ptrB, int rowsA, int col
        err = clSetKernelArg(kernel, 0, sizeof(cl_mem), (void*)&memR); gpuerr(clSetKernelArg);
        err = clSetKernelArg(kernel, 1, sizeof(cl_mem), (void*)&memA); gpuerr(clSetKernelArg);
        err = clSetKernelArg(kernel, 2, sizeof(cl_mem), (void*)&memB); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 3, sizeof(int), &rowsR); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 4, sizeof(int), &colsR); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 5, sizeof(int), &rowsA); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 6, sizeof(int), &colsA); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 7, sizeof(int), &rowsB); gpuerr(clSetKernelArg);
-       err = clSetKernelArg(kernel, 8, sizeof(int), &colsB); gpuerr(clSetKernelArg);
+       err = clSetKernelArg(kernel, 3, sizeof(int), &rowsA); gpuerr(clSetKernelArg);
+       err = clSetKernelArg(kernel, 4, sizeof(int), &colsA); gpuerr(clSetKernelArg);
+       err = clSetKernelArg(kernel, 5, sizeof(int), &rowsB); gpuerr(clSetKernelArg);
+       err = clSetKernelArg(kernel, 6, sizeof(int), &colsB); gpuerr(clSetKernelArg);
 
        //Run the program
        err = clEnqueueNDRangeKernel(cpx_mtx_command_queue, kernel, 1, NULL, (size_t[]){rowsR}, NULL, 0, NULL, NULL);
index df3af2ef2d9ea5680671be8bd50a33e2781f694b..542ec74203fdcf09f8dcbee53b2ff88bb37c208b 100644 (file)
@@ -48,14 +48,15 @@ __kernel void kernel_knk
     __global float* ptrR,
     __global float* ptrA,
     __global float* ptrB,
-    const int rowsR,
-    const int colsR,
     const int rowsA,
     const int colsA,
     const int rowsB,
     const int colsB
 )
 {
+
+    const int rowsR = rowsA * rowsB;
+    const int colsR = colsA * colsB;
     int rowR = get_global_id(0);
     for (int colR = 0; colR < colsR; colR++)
     {