             #pragma unroll
             for (m = 0; m < BLK_K / DIM_XB; m++)
             {
-                if (BLK_N <= n * DIM_YB + idyB)
-                    printf("aaa %d %d\n", BLK_N, n * DIM_YB + idyB);
-                if ((BLK_K + 1) <= (m * DIM_XB + idxB))
-                    printf("bbb %d %d %d %d\n", BLK_K + 1, m * DIM_XB + idxB, m, BLK_K / DIM_XB);
                 sB[n * DIM_YB + idyB][m * DIM_XB + idxB] = rb[n][m];
             }
         }

        for (n = 0; n < BLK_K / DIM_YA; n++) {
            #pragma unroll
            for (m = 0; m < BLK_M / DIM_XA; m++) {
                ra[n][m] = offs_dA[n * DIM_YA * M + m * DIM_XA];
            }
        }


//#define THR_N  ${THR_N}
//#define THR_M  ${THR_M}

#define fetch(arr, col, m, n, bound) arr[min(n*col + m, bound)]


extern "C" __global__
void sgemm(
