开发者
资源
[object Object]

本节内容为使用进行SIMD与SIMT混合编程的指导。

中,SIMT单元和SIMD单元共享片上存储,因此可以利用片上存储Unified Buffer完成SIMD与SIMT混合编程,具体硬件架构的介绍请参考。在进行后续内容的学习前,请先了解SIMD与SIMT混合编程的编程模型:

提供了基于寄存器(Regbase)开发的Reg矢量计算API,Reg矢量计算API可以直接操作Vector Core中的SIMD寄存器,API单次处理的数据量上限等于寄存器的大小,通过接口获取该值。在算子实现中,需要多次调用Reg矢量计算API完成对单核数据的处理。

与SIMD编程不同的是,在SIMT编程中Global Memory上的数据可以被直接读取和使用。SIMT编程常通过组织线程的层次结构来实现数据的切分,使用threadIdx等计算线程应处理的数据索引,完成索引对应数据的计算,从而将函数实现简化为标量计算。