SIMT ( Single Instruction Multiple Threads)

来源:互联网 发布:软件开发测试基础知识 编辑:程序博客网 时间:2024/06/10 07:56
按照费林分类法,
S IM T也属于S IM D的范畴,因为它也足在多个数据上执行相同的指令。但在程序实现的过
程中,S IM T允许由用户来分配线程, 并行计算也是以线程为单位的。说得具体牲,
CUDA为每个线程指定了标识符(编号)。在已知数暈的数据上,SIMT模型可以指定f t定义

数H的线程,并根据线程标识符设计线程与数据关联的映射法则。

在S IM T模型中, 用户可以只分配一个线程,像申•核的CPU —样来处理庞人的数据,
也可以分配多线程来并行计兑。

现在总结一下SIMD ( 包括S IM T )的两大特点。也就是说,要使MJ G PU做并行计兑,
就要保证并行算法满足以F两点:


1 )每个线程的任务互不相关。
2 ) 每个线程执行相同的指令。


与之相应,具有以下特点的算法能够在GPU上达到最高的执行效率:
1 )每个数据(数据包)都需要经过相同的流程来处理。
2 ) 数据之间没有相干性,即某些数据的计算不依赖于另外一些数据的计算结果。
3 ) 数据量庞大。

。一个完整的程序吋
以娃由多个满足以上条件的部分接合起来的,而对程序全局的控制和各部分的协调可以在
CPU上完成,这也就是所谓的异构并行计算


CUBLAS是由CUDA C 实现的线性代
数函数库

0 0