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()
{
//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);
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);