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