文件最后提交记录最后更新时间
Initial commit 6 个月前
Initial commit 6 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
capi资料刷新 Co-authored-by: pangfudong<pangfudong@huawei.com> 6 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
C API资料规范问题刷新 Co-authored-by: pangfudong<pangfudong@huawei.com> 6 个月前
refactor: asc_get_sub_block_dim to num Co-authored-by: haipingmao<maohaiping@huawei.com> 5 个月前
update api docs Co-authored-by: 艾鑫<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !91 merge master into master update api docs Created-by: ai_xin Commit-by: 艾鑫 Merged-by: cann-robot Description: ## 描述 更新API文档 ## 关联的Issue 无 ## 测试 本地验证 ## 文档更新 更新了docs/api/下的API说明文档 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/asc-devkit!915 个月前
README.md

C API

C API开放芯片完备编程能力,支持以数组形式分配内存,一般基于指针编程。提供与业界一致的C语言编程体验。

需要包含的头文件

说明

包含asc_simd.h文件来调用C API相应接口。如无特殊说明,包含该头文件即可满足接口调用需求。 若API文档中有特殊说明,则应遵循API的具体说明。

#include "c_api/asc_simd.h"

API类型介绍

  • 前n个数据计算:该类型API在计算时采用“紧密排布”的数据读取方式,即从起始位置开始,按顺序连续获取所需数据。例如,若需处理N个数据,则从源操作数的第0个位置开始,依次取至第N-1个位置。
  • 高维切分计算:该类型API按照设定的规则“跳过部分数据”。适合处理需要间隔采样的场景,灵活度高,但需要额外配置相关参数。
  • 同步计算:该类型API内部自动插入同步操作。数据读取方式和连续计算API相同,易用性更强。

关键字

名称 描述
__gm__ 存储空间定义修饰符,表示被修饰的变量位于Global Memory地址空间。
__ubuf__ 存储空间定义修饰符,表示被修饰的变量位于Unified Buffer地址空间。
__aicore__ 执行空间限定符。表示该函数只能在Ai Core上执行。

流水类型

NPU内部有不同的计算单元,在计算时往往需要把计算数据搬运到计算单元上。不同计算单元上的计算过程、数据搬运过程可划分为不同的流水线。在AI Core上执行的操作会被分配到不同的流水线(PIPE)上执行,包括以下几种:

  • PIPE_TYPE_S:标量流水线,负责指令分发和标量计算。
  • PIPE_TYPE_V:矢量计算流水线。
  • PIPE_TYPE_M:矩阵计算流水线。
  • PIPE_TYPE_MTE1:搬运操作。包括从L1 Buffer到L0A Buffer或L0B Buffer,从L1 Buffer到UB的搬运操作和L0A Buffer或L0B Buffer的初始化操作。
  • PIPE_TYPE_MTE2:搬运操作。包括从GM到L1 Buffer、从GM到L0A Buffer或L0B Buffer、从GM到UB的搬运操作和L1 Buffer的初始化操作。
  • PIPE_TYPE_MTE3:搬运操作。包括从UB到GM,从UB到L1 Buffer的操作。
  • PIPE_TYPE_FIX:Fixpipe流水线。
  • PIPE_TYPE_ALL:所有流水线。

可通过同步控制类API控制同一流水线内的运行顺序和不同流水线建的执行顺序。

API列表

目录
数据结构
矢量计算
数据搬运
同步控制
系统变量
原子操作
其他操作