Cuda 如果扭曲中的线数少于32,会发生什么情况?

Cuda 如果扭曲中的线数少于32,会发生什么情况?,cuda,gpgpu,nvidia,Cuda,Gpgpu,Nvidia,我读到一条经线的线数可以是32或更多。为什么呢?如果数量少于32个线程,这是否意味着资源没有得到充分利用,或者我们无法容忍内存延迟?您的问题需要澄清-也许您混淆了CUDA的“扭曲”和“块”概念 关于扭曲,重要的是要记住扭曲及其大小是硬件的属性。Warps是一组硬件线程,每个周期(现在)执行相同的指令。换句话说,大小宽度表示SIMD样式的执行宽度,这是程序员无法更改的。在CUDA中,您启动线程块,当映射到硬件时,这些线程块将以扭曲大小的束执行。如果开始块时线程数不能被扭曲大小整除,则硬件将只执行最

我读到一条经线的线数可以是32或更多。为什么呢?如果数量少于32个线程,这是否意味着资源没有得到充分利用,或者我们无法容忍内存延迟?

您的问题需要澄清-也许您混淆了CUDA的“扭曲”和“块”概念

关于扭曲,重要的是要记住扭曲及其大小是硬件的属性。Warps是一组硬件线程,每个周期(现在)执行相同的指令。换句话说,大小宽度表示SIMD样式的执行宽度,这是程序员无法更改的。在CUDA中,您启动线程块,当映射到硬件时,这些线程块将以扭曲大小的束执行。如果开始块时线程数不能被扭曲大小整除,则硬件将只执行最后一个扭曲,其中一些线程被“屏蔽”(即,它们确实必须执行,但对GPU/内存的状态没有任何影响)


有关更多详细信息,我建议您仔细阅读。

我不理解您的问题。在所有受支持的CUDA硬件(过去和现在)上,每个扭曲的线程数正好是32。