编程模型概述
AI Core是AI处理器的计算核心,AI处理器通过多个AI Core实现并行计算。与传统CPU相比,AI处理器由于其内部拥有更多的计算单元和相应的向量计算指令,更适合模型训练和推理场景,这使得单个硬件指令能完成多组数据的计算。AI处理器提供了以下两种编程模型:
- SIMD(Single Instruction Multiple Data):单指令多数据。通过单条指令多个数据的方式实现并行计算。
- SIMT(Single Instruction Multiple Thread):单指令多线程。通过单条指令多个线程的方式实现并行计算。
AI CPU是位于Device侧的处理器,其具备与AI Core相同的内存访问能力,可直接访问Device侧的内存资源;它也可以像Host侧的CPU一样进行数据计算。
编程模型 |
计算空间 |
特点 |
|---|---|---|
SIMD编程 |
AI CORE |
适合矩阵计算、连续计算的矢量算子及融合算子场景,提供SIMD与SIMT混合的高级编程方式。 |
SIMT编程 |
AI CORE |
适用于离散访问场景、复杂分支控制场景。 |
AI CPU编程 |
AI CPU |
作为AI Core计算的补充。 |
- SIMD编程:
适合矩阵计算、连续计算的矢量算子及融合算子场景。此外,结合这两种编程方式的SIMD与SIMT混合编程,可以充分利用两者的优点,实现更佳的性能和更高的效率。若需详细了解SIMD编程、SIMD与SIMT混合编程,请查阅AI Core SIMD编程。算子开发基本流程请参阅SIMD算子实现。
- SIMT编程:
适用于离散访问场景、矢量算子的复杂分支控制场景,也便于熟悉SIMT算子开发的人员快速掌握AI处理器上的算子开发,目前仅支持Atlas 350 加速卡;关于SIMT编程的进一步学习,用户可参阅AI Core SIMT编程,了解详细的SIMT编程原理,或阅读SIMT算子实现,学习SIMT算子开发的基本流程。
- AI CPU编程:
通常作为AI Core的补充,主要承担非矩阵类、逻辑比较复杂的分支密集型计算。您可通过阅读AI CPU编程,掌握AI CPU编程模型基础知识。
父主题: 编程模型