什么是 OpenCL 上下文中的扭曲?
What is a warp in context of OpenCL?
我相当确定扭曲仅在 CUDA 中定义。但也许我错了。什么是 OpenCL 方面的扭曲?
这和工作组不一样吧?
非常感谢任何相关反馈。谢谢!
它没有在 OpenCL 标准中定义。 warp 是由硬件执行的线程(CUDA 线程并不是真正的线程,而是通过一些巧妙的 hardware/software 映射作为单独的 SIMD 元素映射到 warp 上)。它是工作项的集合,一个工作组中可以有多个 warp。
OpenCL 子组被设计为与硬件线程兼容,因此能够表示 OpenCL 内核中的扭曲,但是否实施子组完全取决于 NVIDIA,当然还有 OpenCL subgroup 无法公开 NVIDIA 可以为 warp 公开的所有功能,因为它是一个标准,而 NVIDIA 可以在自己的设备上做任何他们喜欢的事情。
我相当确定扭曲仅在 CUDA 中定义。但也许我错了。什么是 OpenCL 方面的扭曲?
这和工作组不一样吧? 非常感谢任何相关反馈。谢谢!
它没有在 OpenCL 标准中定义。 warp 是由硬件执行的线程(CUDA 线程并不是真正的线程,而是通过一些巧妙的 hardware/software 映射作为单独的 SIMD 元素映射到 warp 上)。它是工作项的集合,一个工作组中可以有多个 warp。
OpenCL 子组被设计为与硬件线程兼容,因此能够表示 OpenCL 内核中的扭曲,但是否实施子组完全取决于 NVIDIA,当然还有 OpenCL subgroup 无法公开 NVIDIA 可以为 warp 公开的所有功能,因为它是一个标准,而 NVIDIA 可以在自己的设备上做任何他们喜欢的事情。