---
title: 编程模型概述
description: "AI Core是AI处理器的计算核心，AI处理器通过多个AI Core实现并行计算。与传统CPU相比，AI处理器因其内部拥有更多的计算单元和相应的向量计算指令，更适合模型训练和推理场景，这使得单个硬件指令能完成多组数据的计算。AI处理器提供了以下两种编程模型："
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/Ascendcopdevg/atlas_ascendc_10_10062.html
sourcePath: /source/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_10062.html
indexId: ce6e9891f2b249fb9655f43aec53c81d42454450d187c8cb4a9dbd65f1168cd481
---
# 编程模型概述

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 编程模型分类**

| 编程模型 | 计算空间 | 特点 |
| --- | --- | --- |
| 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编程模型基础知识。
