CANN asc-devkit SIMT抽象硬件架构

发布时间:2026/7/18 9:59:08
CANN asc-devkit SIMT抽象硬件架构 抽象硬件架构【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkitAI Core上的SIMTSingle Instruction Multiple Thread单指令多线程编程允许指令对数据进行独立寻址从而支持线程级并行计算。这种方式特别适用于离散访问和复杂控制逻辑等场景目前仅支持Atlas 350加速卡。SIMT编程能够有效简化复杂算子和不规则控制流的开发缓解包含分支的发散计算并控制程序复杂度从而提高硬件利用率和能效。如图1所示AI处理器内部有多个Vector Core每个Vector Core包含计算单元、Shared Memory位于Unified Buffer、寄存器核外的Global Memory是全局内存空间被所有Vector Core共享。图1SIMT抽象硬件架构图![](https://raw.gitcode.com/cann/asc-devkit/raw/ded540824a702f5cab69a36879315c31ce8ff9b7/docs/zh/guide/figures/SIMT抽象硬件架构图.png SIMT抽象硬件架构图?utm_sourcegitcode_repo_files)以下是SIMT多线程计算涉及到的硬件资源的说明每个线程拥有独立的寄存器用于存储局部数据寄存器的数量受线程块内线程数量影响线程数量越多每个线程拥有的寄存器数量越少。Unified Buffer按功能划分为多个区域其中一部分内存空间作为线程块内所有线程的共享内存Shared Memory支持线程块内的线程进行数据交互一部分作为Data Cache用于缓存全局内存数据。L2 Cache是所有Vector Core共享的高速缓存位于Global Memory与各Vector Core的Data Cache之间用于缓存全局内存数据以减少访问延迟。L2 Cache由硬件自动管理用户无需显式配置。SIMT模式中读取Global Memory上的数据时通过Data Cache单元完成数据中转数据流经由Global Memory到Data Cache再从Data Cache到寄存器。Data Cache是Unified Buffer中预留的一部分空间实际大小由用户自主分配。若您对上述内容中的线程、线程块等概念不熟悉建议查阅线程架构了解更多SIMT线程架构知识同时您也可以通过阅读内存层级了解如何在Unified Buffer中配置共享内存与Data Cache的空间大小。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考