Is the OpenCL authoring method still supported?

The component development documentation references the OCL Development Guide (as an experimental and “upcoming” authoring method) but this document doesn’t appear to exist on the website and Google searches find nothing besides the reference. Yet I have also found documents from more than a decade ago which reference this functionality as being implemented.

There also appear to be no OpenCL platforms listed as available for installation (at least according to the documentation). However I can successfully add an OCL worker to my project, but then attempting to build it results in a warning: “This OCL worker not built since no OCL targets or platforms specified.”

How can I add an OCL platform to my project please? I am using the Intel oneAPI drivers if that is relevant.

Thanks

Disclaimer: I am not a maintainer.

I am unaware of anyone that uses the OCL authoring model.

It’s my understanding that it was produced as a proof of concept a long time ago, and never really fleshed out further.

Personally, I would not recommend using OCL workers. Not just due to lack of documentation, but also as there aren’t many (if any) example workers, that area of the framework is likely to be untested and you are more likely to encounter bugs in newer versions of OpenCPI.

@waltersdom is correct in that support for OpenCPI was created as a proof of concept and never fully flushed out.

The original work was done using OpenCL v1.2. When v2.0 came out it was drastically different and broke backwards compatibility to v1.2 IIRC. When v3.0 was release they reintroduced backwards compatibility to v1.2, which meant that original work could possible be brought back to life.

We haven’t had a lot of requests for this support, so there hasn’t been a huge push for it. Would you be able to share your use case to better understand your needs?

@waltersdom @aolivarez Thank you both for the info, much appreciated!

I don’t know anything about Intel oneApi but if it just provides a C/C++ library to access the API, with some thought I imagine that you can probably use it in an RCC Worker.