From: miha-q <> Date: Mon, 4 Mar 2024 05:34:54 +0000 (-0500) Subject: Mon Mar 4 12:34:54 AM EST 2024 X-Git-Url: http://www.foleosoft.com/?a=commitdiff_plain;h=8d06c2d03329356f12ecf9ea8477e05980b24141;p=QAnsel.git Mon Mar 4 12:34:54 AM EST 2024 --- diff --git a/src/gpu/gpu.c b/src/gpu/gpu.c index e9c612c..e1ff6c3 100644 --- a/src/gpu/gpu.c +++ b/src/gpu/gpu.c @@ -7,8 +7,6 @@ cl_context GPU_context; cl_command_queue GPU_command_queue; unsigned char* GPU_mmul_cache = NULL; size_t GPU_mmul_cache_len = 0; -unsigned char* GPU_knk_cache = NULL; -size_t GPU_knk_cache_len = 0; uint8_t GPU_init() { @@ -173,7 +171,7 @@ void GPU_knk(float* ptrR, int rowsR, int colsR, float* ptrA, int rowsA, int cols //Load and compile program cl_program program; - if (GPU_knk_cache == NULL) + if (GPU_mmul_cache == NULL) { program = clCreateProgramWithSource(GPU_context, 1, (const char*[]){src_gpu_knk_cl}, NULL, &err); gpuerr(clCreateProgramWithSource); @@ -189,18 +187,18 @@ void GPU_knk(float* ptrR, int rowsR, int colsR, float* ptrA, int rowsA, int cols free(log); exit(1); } - err = clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &GPU_knk_cache_len, NULL); gpuerr(clGetProgramInfo); - GPU_knk_cache = malloc(GPU_knk_cache_len); - clGetProgramInfo(program, CL_PROGRAM_BINARIES, sizeof(unsigned char*), &GPU_knk_cache, NULL); gpuerr(clGetProgramInfo); + err = clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &GPU_mmul_cache_len, NULL); gpuerr(clGetProgramInfo); + GPU_mmul_cache = malloc(GPU_mmul_cache_len); + clGetProgramInfo(program, CL_PROGRAM_BINARIES, sizeof(unsigned char*), &GPU_mmul_cache, NULL); gpuerr(clGetProgramInfo); } else { - program = clCreateProgramWithBinary(GPU_context, 1, &GPU_device_id, &GPU_knk_cache_len, (const unsigned char**)&GPU_knk_cache, NULL, &err); + program = clCreateProgramWithBinary(GPU_context, 1, &GPU_device_id, &GPU_mmul_cache_len, (const unsigned char**)&GPU_mmul_cache, NULL, &err); gpuerr(clCreateProgramWithBinary); } //Setup kernel - cl_kernel kernel = clCreateKernel(program, "gpu_knk", &err); gpuerr(clCreateKernel); + cl_kernel kernel = clCreateKernel(program, "gpu_mmul", &err); gpuerr(clCreateKernel); err = clSetKernelArg(kernel, 0, sizeof(cl_mem), (void*)&memR); gpuerr(clSetKernelArg); err = clSetKernelArg(kernel, 1, sizeof(int), &rowsR); gpuerr(clSetKernelArg); err = clSetKernelArg(kernel, 2, sizeof(int), &colsR); gpuerr(clSetKernelArg);