]> foleosoft.com Git - QAnsel.git/commitdiff
Sun Mar 3 01:20:23 AM EST 2024
authormiha-q <>
Sun, 3 Mar 2024 06:20:23 +0000 (01:20 -0500)
committermiha-q <>
Sun, 3 Mar 2024 06:20:23 +0000 (01:20 -0500)
src/gpu/gpu.c

index dfc912441368fbb3659aa07b913415d62d3a3f73..8f93b4f4ab5db5b035b8bd21220b3a2235f104b7 100644 (file)
@@ -108,12 +108,11 @@ void GPU_mmul(float* ptrR, float* ptrA, float* ptrB, size_t rowsA, size_t colsB,
        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);
@@ -133,24 +132,23 @@ void GPU_mmul(float* ptrR, float* ptrA, float* ptrB, size_t rowsA, size_t colsB,
                        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)
                {
@@ -160,9 +158,7 @@ void GPU_mmul(float* ptrR, float* ptrA, float* ptrB, size_t rowsA, size_t colsB,
        }
 
        //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");