cl_program program;
if (GPU_mmul_cache == NULL)
{
- printf("huh?\n");
//Load and compile program
char* tmp = malloc(src_gpu_mmul_cl_len);
memcpy(tmp, src_gpu_mmul_cl, src_gpu_mmul_cl_len);
const char* ptr = (const char*)src_gpu_mmul_cl;
- cl_program program = clCreateProgramWithSource(GPU_context, 1, (const char**)&tmp, NULL, &err);
+ program = clCreateProgramWithSource(GPU_context, 1, (const char**)&tmp, NULL, &err);
if (err != CL_SUCCESS)
{
free(tmp);
free(log);
exit(1);
}
- //err = clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &GPU_mmul_cache_len, NULL);
- //if (err != CL_SUCCESS)
- //{
- // fprintf(stderr, "GPU fatal error: clGetProgramInfo() failed.\n");
- // exit(1);
- //}
- //GPU_mmul_cache = malloc(GPU_mmul_cache_len);
- //clGetProgramInfo(program, CL_PROGRAM_BINARIES, sizeof(unsigned char*), &GPU_mmul_cache, NULL);
- //printf("%lu\n", GPU_mmul_cache_len);
- //if (err != CL_SUCCESS)
- //{
- // fprintf(stderr, "GPU fatal error: clGetProgramInfo() failed.\n");
- // exit(1);
- //}
+ err = clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &GPU_mmul_cache_len, NULL);
+ if (err != CL_SUCCESS)
+ {
+ fprintf(stderr, "GPU fatal error: clGetProgramInfo() failed.\n");
+ exit(1);
+ }
+ GPU_mmul_cache = malloc(GPU_mmul_cache_len);
+ clGetProgramInfo(program, CL_PROGRAM_BINARIES, sizeof(unsigned char*), &GPU_mmul_cache, NULL);
+ printf("%lu\n", GPU_mmul_cache_len);
+ if (err != CL_SUCCESS)
+ {
+ fprintf(stderr, "GPU fatal error: clGetProgramInfo() failed.\n");
+ exit(1);
+ }
}
else
{
- printf("AAA\n");
program = clCreateProgramWithBinary(GPU_context, 1, &GPU_device_id, &GPU_mmul_cache_len, (const unsigned char**)&GPU_mmul_cache, NULL, &err);
if (err != CL_SUCCESS)
{
}
//Setup kernel
- printf("a\n");
cl_kernel kernel = clCreateKernel(program, "gpu_mmul", &err);
- printf("b\n");
if (err != CL_SUCCESS)
{
fprintf(stderr, "GPU fatal error: clCreateKernel() failed.\n");