让我们来看看nVidia Fermi Compute Architecture。它说:
据我所知,对于我来说还不清楚的是,GPU在所谓的扭曲中执行线程,每个扭曲由〜32个线程组成。每个扭曲仅分配给一个核心(是吗?)。这是否意味着单个SM的32个内核中的每个内核都是SIMD处理器,其中单个指令处理的32个数据部分?如果是这样,那为什么我们说一个扭曲中有32个线程,而不是一个SIMD线程呢?为什么有时将核称为标量处理器,而不是矢量处理器?
最佳答案
不,那不是真的。扭曲是32个执行线程的逻辑组合。为了从单个warp执行一条指令,warp调度程序通常必须调度32个执行单元(或“cores”,尽管“core”的定义有些松散)。
内核实际上是标量处理器,而不是矢量处理器。 Warp调度程序将32个内核(或执行单元)编码在一起,以在32个线程中执行一条指令,这就是“SIMT”绰号的来源。
关于cuda - GPU/CUDA核心是SIMD的吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28283970/