No need to expressly retain the opencl program now that the zero binary issue is fixed.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
diff --git a/ocl.c b/ocl.c
index b3bb112..e1a5840 100644
--- a/ocl.c
+++ b/ocl.c
@@ -483,12 +483,6 @@ _clState *initCl(unsigned int gpu, char *name, size_t nameSize)
goto build;
}
- clRetainProgram(clState->program);
- if (status != CL_SUCCESS) {
- applog(LOG_ERR, "Error %d: Retaining Program (clRetainProgram)", status);
- return NULL;
- }
-
fclose(binaryfile);
applog(LOG_DEBUG, "Loaded binary image %s", binaryfilename);
@@ -506,12 +500,6 @@ build:
return NULL;
}
- clRetainProgram(clState->program);
- if (status != CL_SUCCESS) {
- applog(LOG_ERR, "Error %d: Retaining Program (clRetainProgram)", status);
- return NULL;
- }
-
/* create a cl program executable for all the devices specified */
char *CompilerOptions = calloc(1, 256);
@@ -643,12 +631,6 @@ build:
return NULL;
}
- clRetainProgram(clState->program);
- if (status != CL_SUCCESS) {
- applog(LOG_ERR, "Error %d: Retaining Program (clRetainProgram)", status);
- return NULL;
- }
-
/* Program needs to be rebuilt */
prog_built = false;
}
@@ -689,12 +671,6 @@ built:
applog(LOG_ERR, "%s", log);
return NULL;
}
-
- clRetainProgram(clState->program);
- if (status != CL_SUCCESS) {
- applog(LOG_ERR, "Error %d: Retaining Program (clRetainProgram)", status);
- return NULL;
- }
}
/* get a kernel object handle for a kernel with the given name */