GPU extensions for Google Tests
As discussed in the past, we could make use of some compact abstraction layer for GPU framework glue code that wraps boilerplate code required to manage devices, initialization, teardown of contexts, queues, etc. Ideally, this would be a compact base-class which provides the API with CUDA and OpenCL flavors implemented.
As an example for such a class for OpenCL testing see:
Use new GPU infrastructure in MDLib tests
This make use of common device testing infrastructure in MDLib tests,
where both GPU and CPU implementations are tested. The GPU runners
will now be executed on all the detected devices, not only on the
default one. Also, this will allow to use the MDLib tests in OpenCL
and SYCL, where proper device context object is needed.