NVIDIA GPU的CUDA核心与OpenCL计算单元之间有什么关系?

时间:2015-12-14 03:29:49

标签: cuda parallel-processing opencl

我的电脑配备了GeForce GTX 960M,NVIDIA声称拥有640个CUDA核心。但是,当我运行clGetDeviceInfo来查找计算机中的计算单元数时,它打印出5(见下图)。听起来CUDA核心与OpenCL认为的计算单元有些不同?或者一组CUDA核心可能形成一个OpenCL计算单元?你能解释一下吗?

enter image description here

2 个答案:

答案 0 :(得分:6)

  

NVIDIA GPU的CUDA核心与OpenCL计算单元之间有什么关系?

您的GTX 960M是一款带有5个流式多处理器的Maxwell设备,每个处理器具有128个CUDA内核,总共640 CUDA cores

NVIDIA Streaming Multiprocessor is equivalent to an OpenCL Compute Unit。之前链接的答案还将为您提供一些有用的信息,这些信息可能有助于您在评论中调整内核大小。

答案 1 :(得分:0)

  

CUDA架构与OpenCL架构非常接近。

     

CUDA设备围绕可扩展的多线程流式多处理器(SM)阵列构建。多处理器对应于OpenCL计算单元。

     

多处理器为每个OpenCL工作项执行CUDA线程,为每个OpenCL工作组执行线程块。内核通过线程块网格在OpenCLNDRange上执行。如图2-1所示,执行内核的每个线程块因此由其工作组ID唯一标识,每个线程由其全局ID或其本地ID和工作组ID的组合标识。 / p>

从OpenCL CUDA架构编程指南http://www.nvidia.com/content/cudazone/download/OpenCL/NVIDIA_OpenCL_ProgrammingGuide.pdf

复制而来