我在理解GPU上的SIMT执行时遇到了一些问题。到目前为止,我已经将这些线程放置在“warps”(例如32个线程/ warp)中。这些线程将是相同的类型,并可以并行运行(但可以独立运行,支持&)。SIMT扭曲问题
我正在阅读的书然后继续混淆我。 'It is then up to the instruction unit to select warps that are ready to execute their next instruction, and this instruction is then issued to the active threads of the warp. Each SP core executes an instruction for four individual threads of a warp using four clocks'.
选择的架构有8个SP,每个warp有32个线程。因此每个SP分配4个线程。为什么不分配1个线程/ SP? “使用四个钟表”是什么意思?每条指令是否需要1个时钟,并执行4次(每个线程1个)?
我的另一个问题是如果你有一个32线程的warp每个包含一个条件。如果半分支一路和另一半?从我读过的内容来看,线程执行两个结果?这个怎么用?即它如何遵守程序规则