]> foleosoft.com Git - QAnsel.git/commitdiff
Mon Mar 4 11:55:49 AM EST 2024
authormiha-q <>
Mon, 4 Mar 2024 16:55:49 +0000 (11:55 -0500)
committermiha-q <>
Mon, 4 Mar 2024 16:55:49 +0000 (11:55 -0500)
src/QAnsel.c
src/complex.c

index 6615e707fcec15e07e5680c5af814beb2dd698cf..fb19487fb6ce796739f378f74da1dca0e476ed02 100644 (file)
@@ -211,43 +211,18 @@ void qansel_instruction(cpx_mtx_t* stateVector, unsigned char qubitCount, QInstr
 
                tmp.rows = filter.rows * gate.rows;
                tmp.cols = filter.cols * gate.cols;
-               //tmp.ptr = malloc((tmp.rows * 2) * (tmp.cols * 2) * sizeof(float));
                tmp.ptr = malloc(tmp.rows * (tmp.cols * 2) * sizeof(float));
 
                #ifdef GPU_ENABLED
                if (USE_GPU/* && (tmp.rows >= 512 || tmp.cols >= 512)*/)
                {
-                       cpx_mtx_knk
-                       (
-                               tmp.ptr, filter.ptr, gate.ptr,
-                               tmp.rows, tmp.cols,
-                               filter.rows, filter.cols,
-                               gate.rows, gate.cols
-                       );
-                       //cpx_ncpx_knk_mt
-                       //(
-                       //      tmp.ptr, tmp.rows, tmp.cols,
-                       //      filter.ptr, filter.rows, filter.cols,
-                       //      gate.ptr, gate.rows, gate.cols
-                       //);
+                       cpx_mtx_knk(tmp.ptr, filter.ptr, gate.ptr, filter.rows, filter.cols, gate.rows, gate.cols);
                }
                else
                {
-                       cpx_mtx_knk
-                       (
-                               tmp.ptr, filter.ptr, gate.ptr,
-                               tmp.rows, tmp.cols,
-                               filter.rows, filter.cols,
-                               gate.rows, gate.cols
-                       );
+                       cpx_mtx_knk(tmp.ptr, filter.ptr, gate.ptr, filter.rows, filter.cols, gate.rows, gate.cols);
                }
                #else
-               //cpx_ncpx_knk_mt
-               //(
-               //      tmp.ptr, tmp.rows, tmp.cols,
-               //      filter.ptr, filter.rows, filter.cols,
-               //      gate.ptr, gate.rows, gate.cols
-               //);
                cpx_mtx_knk
                (
                        tmp.ptr, filter.ptr, gate.ptr,
index 5ecd977f5882d87cc2fd8aeb729975d86e793466..b8e4197c76c7c961cb4e7f7ff8e688b4d07547da 100644 (file)
@@ -148,8 +148,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 rowsR, int colsR, int rowsA, int colsA, int rowsB, int colsB)
+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;
@@ -319,8 +321,10 @@ void cpx_mtx_dot_metal(float* ptrR, float* ptrA, float* ptrB, int rowsA, int col
        err = clReleaseMemObject(memR); gpuerr(clReleaseMemObject);
 }
 
-void cpx_mtx_knk_metal(float* ptrR, float* ptrA, float* ptrB, int rowsR, int colsR, int rowsA, int colsA, int rowsB, int colsB)
+void cpx_mtx_knk_metal(float* ptrR, float* ptrA, float* ptrB, int rowsA, int colsA, int rowsB, int colsB)
 {
+       int rowsR = rowsA * rowsB;
+       int colsR = colsA * colsB;
        //Create buffers
        size_t sizeR = ((colsR * 2) * rowsR) * sizeof(float);
        size_t sizeA = ((colsA * 2) * rowsA) * sizeof(float);