I’m building an application that uses OpenCL on windows, including OpenCL 2.0+ features.
On my own machine, that has compatible HW and up-to-date drivers, I get no problems running the builds.
However, I’ve been deploying it to other machines and have been encountering freezes/crashing for various reasons during initialization of my OpenCL kernels/programs/etc.
The other machines have either incompatible HW (no gfx card or gfx card not compatible with OCL2.0+), out-of-date GFX drivers, out-of-date OpenCL drivers, etc.
I already track OpenCL-returned error codes, but I’m also getting segmentation faults on these machines during initialization of the various OpenCL functions, or they will simply hang during OCL program initialization.
How can I do a robust compatibility check on a particular machine?