我很确定warp只在CUDA中定义。但也许我错了。什么是OpenCL的变形?
这与工作组不一样,是吗? 任何相关的反馈都非常感谢。谢谢!
答案 0 :(得分:6)
未在OpenCL标准中定义。 warp是由硬件执行的线程(CUDA线程不是真正的线程,并且作为单独的SIMD元素映射到warp上,具有一些聪明的硬件/软件映射)。它是工作项的集合,工作组中可以有多个warp。
OpenCL子组被设计为与硬件线程兼容,因此能够代表OpenCL内核中的warp,但完全取决于NVIDIA决定是否实现子组,当然OpenCL子组不能暴露NVIDIA可以为warp公开的每个功能,因为它是标准的,而NVIDIA可以在自己的设备上做任何他们喜欢的事情。