---
title: 基础知识
description: "纯SIMT编程场景当前不支持使用SIMT API，敬请期待后续版本的正式发布。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/Ascendcopdevg/atlasascendc_api_07_10293.html
sourcePath: /source/zh/canncommercial/900/programug/Ascendcopdevg/atlasascendc_api_07_10293.html
indexId: d0a1cad09fcbbb3ff920dc212a79dc43929b22bc6ffb6a4b4bf930ee083ae9e184
---
# 基础知识

纯SIMT编程场景当前不支持使用SIMT API，敬请期待后续版本的正式发布。


本节内容为使用SIMT API(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_0426.html)进行SIMT编程的指导。

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

SIMT是Ascend C单指令多线程的编程抽象，允许一条指令对数据进行独立寻址，更加灵活， 如下图所示，对于离散访问的算子，适合使用SIMT编程实现，例如Scatter类与Gather类算子。此外，线程可以独立执行，每个线程具有较高的灵活性，能够执行不同的逻辑分支以完成复杂的逻辑实现。
