From: miha-q <> Date: Mon, 4 Mar 2024 05:22:37 +0000 (-0500) Subject: Mon Mar 4 12:22:37 AM EST 2024 X-Git-Url: http://www.foleosoft.com/?a=commitdiff_plain;h=a1c589cac4d5e4bef87168ee0304b2df32cbec75;p=QAnsel.git Mon Mar 4 12:22:37 AM EST 2024 --- diff --git a/src/gpu/gpu_knk.cl b/src/gpu/gpu_knk.cl index ff22a21..f4a9aaf 100644 --- a/src/gpu/gpu_knk.cl +++ b/src/gpu/gpu_knk.cl @@ -11,5 +11,22 @@ __kernel void gpu_knk const int colsB ) { + const int rowR = get_global_id(0); + const int colR = get_global_id(1); + + const int rowA = rowR / rowsB; + const int colA = colR / colsB; + const int rowB = rowR % rowsB; + const int colB = colR % colsB; + + const float r1 = ptrA[((colA * 2) + 1) + ((rowA * 2) + 1) * (colsA * 2)]; + const float i1 = ptrA[(colA * 2) + ((rowA * 2) + 1) * (colsA * 2)]; + const float r2 = ptrB[((colB * 2) + 1) + ((rowB * 2) + 1) * (colsB * 2)]; + const float i2 = ptrB[(colB * 2) + ((rowB * 2) + 1) * (colsB * 2)]; + + ptrR[(colR * 2) + (rowR * 2) * (colsR * 2)] = (r1 * r2) + (-(i1 * i2)); + ptrR[((colR * 2) + 1) + (rowR * 2) * (colsR * 2)] = -((r1 * i2) + (i1 * r2)); + ptrR[(colR * 2) + ((rowR * 2) + 1) * (colsR * 2)] = (r1 * i2) + (i1 * r2); + ptrR[((colR * 2) + 1) + ((rowR * 2) + 1) * (colsR * 2)] = (r1 * r2) + (-(i1 * i2)); }