Can I target the CPU via OpenCL when developing using the CUDA OpenCL sdk toolkit?

I am new to GPGPU concepts and for the last couple of months I have been slowly learning the differences between CUDA and OPENCL. I realized that the OpenCL specification allows the programmer to orient the computing device (so that any GPU / CPU architecture), but the CUDA C approach does not have such an abstraction, since it always aims at a compatible Nvidia GPU architecture. So I was wondering if I can write the OPENCL core using the Nvidia implementation in the CUDA environment, can I still target the processor? As far as I understand, the AMD Stream environment allows you to do this using its OpenCL implementation.

Thanks in advance.

+3
source share
2 answers

You can still target the CPU on a system with OpenCL installed based on the Nvidia graphics core, if that is what you mean. Nvidia OpenCL implementation only supports Nvidia GPUs, but the AMD implementation, which can be installed with NVidia, also supports processors.

Like OpenGL, OpenCL (on Linux and Windows) uses a wrapper library to delegate between multiple implementations.

+3
source

NVIDIA OpenCL, ATI OpenCL, AMD OpenCL (CPU) - API: OpenCL. , OpenCL , / , OpenCL, .

NVIDIA OpenCL CUDA sdk , AMD Stream - (, OpenCL on Power), , OpenCL.

+2

Source: https://habr.com/ru/post/1774780/


All Articles