If you want to report bugs/suggestions you are welcome to go to bugzilla at Khronos if it's something important.
https://www.khronos.org/bugzilla/
I think it's public registration. Obviously don't overdo it. You are always welcome to post here as well as we maintain it.
I looked at your query about build. There is:
cl_int build( const char* options = NULL, void (CL_CALLBACK *notifyFptr)(cl_program, void*) = NULL, void *data = NULL );
Which calls ::clBuildProgram with a null device list. That should do exactly what you want shouldn't it? The arguments are all optional... so calling build() should be fine.
What about extensions to the C API?
I'd really like a way to cancel events. From an implementation perspective, this would only be advisory. It's something users (e.g. of interactive programs) could use, once the results of some in-flight computation have been invalidated. The benefit would be to free up device resources ASAP, so that processing of new data could start sooner.
It would also be useful to have a function like clWaitForEvents() that waits until any of the specified events completes (or a timeout expires). I'm thinking of something along the lines of select() or epoll(). This is useful for 3 reasons:
Hi LeeHowes,
Sorry, I didn't see your reply (I though I would receive a reply notification via e-mail).
LeeHowes wrote:
I looked at your query about build. There is:
cl_int build( const char* options = NULL, void (CL_CALLBACK *notifyFptr)(cl_program, void*) = NULL, void *data = NULL );
Which calls ::clBuildProgram with a null device list. That should do exactly what you want shouldn't it? The arguments are all optional... so calling build() should be fine.
This is exactly what I want, thank you for pointing this out. I had an older cl.hpp header that didn't have this overloaded "build()".
Best regards.