已合并
公共资料修改 #661
huang-chuhong创建于 2025年12月30日
公共资料修改 #661
已合并
huang-chuhong创建于 2025年12月30日
8 个文件变更+22-11
@@ -1,4 +1,7 @@
1# 环境部署1# 环境部署
2+ 
3+基于本项目进行[算子调用](../invocation/quick_op_invocation.md)或[算子开发](../develop/aicore_develop_guide.md)之前,需要参考下述步骤完成基础环境搭建。
4+ 
2## 前提条件5## 前提条件
3 6 
4使用本项目前,请确保如下基础依赖、NPU驱动和固件已安装。7使用本项目前,请确保如下基础依赖、NPU驱动和固件已安装。
@@ -145,7 +145,7 @@ cannsim report [options]
145 145 
1464. 仿真结果查看1464. 仿真结果查看
147 在Chrome浏览器中输入“chrome://tracing”地址,并将通过生成指令流水图文件(trace.json)拖到空白处打开,键盘上输入快捷键(W:放大,S:缩小,A:左移,D:右移)可进行查看。147 在Chrome浏览器中输入“chrome://tracing”地址,并将通过生成指令流水图文件(trace.json)拖到空白处打开,键盘上输入快捷键(W:放大,S:缩小,A:左移,D:右移)可进行查看。
148- ![指令流水图](../figures/指令流水图%20.png)148+ ![指令流水图](../figures/指令流水图.png)
149 149 
150 表2 关键字段说明150 表2 关键字段说明
151 151 
@@ -6,7 +6,7 @@
6 6 
7算子运行过程中,如果出现算子执行失败、精度异常等问题,可以打印各阶段信息,如Kernel中间结果,进行问题分析和定位。7算子运行过程中,如果出现算子执行失败、精度异常等问题,可以打印各阶段信息,如Kernel中间结果,进行问题分析和定位。
8 8 
9-以`AddExample`算子为例,常见调试方法如下:9+常见调试方法如下:
10 10 
11* **printf**11* **printf**
12 12 
@@ -15,8 +15,6 @@
15 15 
16![原理图](../figures/aclnn调用.png)16![原理图](../figures/aclnn调用.png)
17 17 
18-aclnn接口调用流程介绍请参考[《应用开发(C&C++)》](https://hiascend.com/document/redirect/CannCommunityInferWizard)中“单算子调用 > 单算子调用流程”章节。
19- 
20### 示例代码18### 示例代码
21 19 
22`AddExample`算子以aclnn接口形式调用的示例代码如下(详细代码参见[test_aclnn_add_example.cpp](../../../examples/add_example/examples/test_aclnn_add_example.cpp)),**仅为参考**,其他算子接口调用过程类似,请替换为实际aclnn接口。调用前,请按照环境安装的提示信息设置环境变量。20`AddExample`算子以aclnn接口形式调用的示例代码如下(详细代码参见[test_aclnn_add_example.cpp](../../../examples/add_example/examples/test_aclnn_add_example.cpp)),**仅为参考**,其他算子接口调用过程类似,请替换为实际aclnn接口。调用前,请按照环境安装的提示信息设置环境变量。
@@ -226,7 +224,6 @@ int main()
226 224 
227![原理图](../figures/IR调用.png)225![原理图](../figures/IR调用.png)
228 226 
229-构图流程介绍请参考[《图模式开发指南》](https://hiascend.com/document/redirect/CannCommunityAscendGraph)中“构建Graph > 使用图开发接口全新构建Graph > 通过算子原型构建Graph”章节。
230### 示例代码227### 示例代码
231 228 
232`AddExample`算子以图方式调用的示例代码如下(详细代码参见[test_geir_add_example.cpp](../../../examples/add_example/examples/test_geir_add_example.cpp)),**仅为参考**,其他算子的调用过程类似,请替换为实际的算子原型。229`AddExample`算子以图方式调用的示例代码如下(详细代码参见[test_geir_add_example.cpp](../../../examples/add_example/examples/test_geir_add_example.cpp)),**仅为参考**,其他算子的调用过程类似,请替换为实际的算子原型。
@@ -98,7 +98,7 @@
98 98 
99- **执行算子样例**99- **执行算子样例**
100 100 
101- > **说明**:Ascend 950PR/Ascend 950DT产品使用仿真执行算子样例,请见[仿真指导](../debug/op_debug_prof.md#方式二针对ascend-950pr)。101+ > **说明**:Ascend 950PR产品使用仿真执行算子样例,请见[仿真指导](../debug/op_debug_prof.md#方式二针对ascend-950pr)。
102 102 
103 - 完成自定义算子包安装后,执行如下命令:103 - 完成自定义算子包安装后,执行如下命令:
104 ```bash104 ```bash
@@ -25,5 +25,5 @@
25## 算子开发样例25## 算子开发样例
26|样例目录| 样例介绍 |算子开发|算子调用 |26|样例目录| 样例介绍 |算子开发|算子调用 |
27|---|------------------|---|---|27|---|------------------|---|---|
28-| add_example | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./add_example/examples/)|28+| add_example | 实现两个张量相加功能的算子。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[README](add_example/README.md)|
29-| mc2/all_gather_add | 实现AllGatherAdd通算算子 。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[examples](./mc2/all_gather_add/examples/)|29+| mc2/all_gather_add | 实现AllGatherAdd通算算子 。 | 算子端到端开发过程参见[AI Core算子开发指南](../docs/zh/develop/aicore_develop_guide.md)。 |调用样例参见[README](mc2/all_gather_add/README.md)|
@@ -64,6 +64,17 @@ $$
64 64 
65## 调用说明65## 调用说明
66 66 
67-| 调用方式 | 调用样例 | 说明 |67+<table><thead>
68-|--------------|------------------------------------------------------------------------|--------------------------------------------------------------|68+ <tr>
69-| aclnn调用 | [test_aclnn_add_example](./examples/test_aclnn_add_example.cpp) | 通过直调的方式调用AddExample算子。 |69+ <th>调用方式</th>
70+ <th>调用样例</th>
71+ <th>说明</th>
72+ </tr></thead>
73+<tbody>
74+ <tr>
75+ <td>aclnn调用</td>
76+ <td><a href="./examples/test_aclnn_add_example.cpp">test_aclnn_add_example</a></td>
77+ <td rowspan="2">参见<a href="../../docs/zh/invocation/quick_op_invocation.md">算子调用</a>完成算子编译和验证。</td>
78+ </tr>
79+</tbody>
80+</table>