开发者
资源
[object Object]

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一样进行数据计算。

表 1 编程模型分类

[object Object][object Object]

[object Object]
  • SIMD编程:

    适合矩阵计算、连续计算的矢量算子及融合算子场景。此外,结合这两种编程方式的SIMD与SIMT混合编程,可以充分利用两者的优点,实现更佳的性能和更高的效率。若需详细了解SIMD编程、SIMD与SIMT混合编程,请查阅。算子开发的基本流程请参阅

  • SIMT编程:

    适用于离散访问场景、矢量算子的复杂分支控制场景,也便于熟悉SIMT算子开发的人员快速掌握AI处理器上的算子开发,目前仅支持Atlas 350 加速卡;关于SIMT编程的进一步学习,请参考,了解详细的SIMT编程原理,阅读,学习SIMT算子开发的基本流程。

  • AI CPU编程:

    通常作为AI Core的补充,主要承担非矩阵类、逻辑比较复杂的分支密集型计算。您可通过阅读,掌握AI CPU编程模型基础知识。