我是一个GPGPU概念的新手,过去几个月我一直在缓慢地学习CUDA和OPENCL之间的区别。我意识到OpenCL规范允许程序员针对计算设备(无论是GPU/CPU架构)进行编程,但是CUDA C方法没有这种抽象,因为它总是针对兼容的Nvidia GPU架构。所以我想知道,如果我使用Nvidia在CUDA环境中的实现编写OPENCL内核,我是否仍然可以针对CPU进行编程?据我所知,AMD Stream环境允许您使用其OpenCL实现来完成此操作。
提前感谢。
提前感谢。
如果您需要的是在安装了基于Nvidia GPU的OpenCL的系统上针对CPU进行目标设置,则仍然可以这样做。 Nvidia的OpenCL实现仅支持Nvidia GPU,但AMD的实现支持CPU,可以与NVidia并行安装。
类似于OpenGL,在Linux和Windows上,OpenCL使用包装器库来委托多个实现之间的交互。