Concluding the answer received by @nulvinge, I would say that OpenCL for programming it on a GPU, such as OpenGL, refers to GPU rendering. But this is not the only option for developing several architectures, you can also use DirectCompute, but I would not say that this is the best option, just if you want your code to work on all DirectX11 compatible GPUs, including some GPUs Intel cards correct too?
But even if you are thinking of GPU programming with OpenCL, don't forget to study the architecture of the platforms you use. ATI processors, GPUs, and NVIDIA GPUs have big differences, and your code is needed to configure for each platform you use if you want to get the most out of it ...
Fortunately, NVIDIA and AMD have programming guides to help you :)
Vando source share