Cross-Platform GPU Acceleration Using the SDK
Hi gang;
I am looking more into GPU acceleration and have some questions.
Looking at the sample project SDK_Invert_ProcAmp, I can see there are seperate conditions depending on whether the user has a CUDA, OpenCL or Metal supported system. Here's my understanding of each:
CUDA is great but only for NVIDIA cards so you cannot rely entirely on it, and it won't work on any AMD-carded systems.
OpenCL is for GPU computations (not necessarily graphics, like OpenGL). Both seem to be cross-platform compatible and both seem to work across most hardware. However, I have read that Mac has officially dropped support for it, even though it still works. That means the future is uncertain for it, no?
Metal is the Mac GPU environment. I know nothing about it and am not really interesting in having to learn it, just to support GPU acceleration on the Mac.
So it seems the best and simplest approach would be to use OpenCL and / or OpenGL since it is cross-platform but it is worrisome that Mac no longer supports it.
If that is the case, why is it still featured in the SDK_Invert_ProcAmp project?
Any other tips or suggestions for adding GPU acceleration in my plugin?
Thanks,
-Richard
