CUDA上的单线程

CUDA上的单线程,cuda,Cuda,我正在调用一个CUDA内核,其中只有一个块和一个线程,例如 内核 该内核是否只在指定的单个CUDA内核上执行? 例如,如果GPU有128个内核,那么128个内核中只有1个可以工作 非常感谢 每个CUDA核心都是SM的SIMD中的一条通道。您的内核只激活一个SM并使用其中一个通道。因此,内核的效率非常低,只利用一个SM的一个通道。否。CUDA是一种SIMD风格的体系结构,基本执行单元是一个warp——由32个线程组成的分组,在硬件上以锁步方式执行。如果启动包含单个线程的单个块,硬件将执行32个线程

我正在调用一个CUDA内核,其中只有一个块和一个线程,例如

内核

该内核是否只在指定的单个CUDA内核上执行? 例如,如果GPU有128个内核,那么128个内核中只有1个可以工作


非常感谢

每个CUDA核心都是SM的SIMD中的一条通道。您的内核只激活一个SM并使用其中一个通道。因此,内核的效率非常低,只利用一个SM的一个通道。

否。CUDA是一种SIMD风格的体系结构,基本执行单元是一个warp——由32个线程组成的分组,在硬件上以锁步方式执行。如果启动包含单个线程的单个块,硬件将执行32个线程的单个扭曲,其中31个线程被屏蔽,并执行相当于一个noop流的线程。任何给定的warp都是在单个流式多处理器上执行的,并且取决于您使用的硬件的生成,这可能涉及到它运行的SM的8、16或32个内核