已合并
优化example示例中 产品支持情况 描述 #1276
qiang_zq创建于 3月28日
优化example示例中 产品支持情况 描述 #1276
已合并
qiang_zq创建于 3月28日
97 个文件变更+1285-662
@@ -17,57 +17,59 @@
178. 同步等待计算完成并获取结果178. 同步等待计算完成并获取结果
189. 销毁 `aclDataBuffer` 并释放资源189. 销毁 `aclDataBuffer` 并释放资源
19 19 
20-## 支持的产品型号20+## 产品支持情况
21 21 
22-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 22+本样例支持以下产品
23-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
24-- Atlas 200I/500 A2 推理产品
25-- Atlas 推理系列产品
26-- Atlas 训练系列产品
27 23 
24+| 产品 | 是否支持 |
25+| --- | --- |
26+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
27+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
28 28 
29## 编译运行29## 编译运行
30 30 
31环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。31环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。
32 32 
33 33 
34-## 运行前环境变量34+运行步骤如下:
35- 
36-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
37 35 
38```bash36```bash
39# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录37# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
40source ${install_root}/cann/set_env.sh38source ${install_root}/cann/set_env.sh
41export ASCEND_INSTALL_PATH=${install_root}/cann39export ASCEND_INSTALL_PATH=${install_root}/cann
40+ 
41+# 编译运行
42+bash run.sh
42```43```
43 44 
44## 相关样例45## 相关样例
45 46 
46- [4_custom_kernel_launch](../4_custom_kernel_launch/README.md):如果需要使用 `<<<>>>` 调用自定义 AscendC Kernel,可参考该样例。47- [4_custom_kernel_launch](../4_custom_kernel_launch/README.md):如果需要使用 `<<<>>>` 调用自定义 AscendC Kernel,可参考该样例。
47 48 
48-## 相关 API49+## CANN RUNTIME API
49 50 
50-| API | 说明 |51+在本样例中,涉及的关键功能点及其关键接口如下所示:
51-|-----|------|52+- 初始化
52-| `aclInit` | 初始化 ACL |53+ - 调用 `aclInit` 接口初始化 ACL
53-| `aclrtSetDevice` | 设置设备 |54+ - 调用 `aclFinalize` 接口释放 ACL 资源。
54-| `aclrtCreateStream` | 创建 Stream |55+- Device Stream 管理
55-| `aclrtMalloc` | 分配 Device 内存 |56+ - 调用 `aclrtSetDevice` 接口设置计算设备。
56-| `aclrtMemcpy` | 内存拷贝 |57+ - 调用 `aclrtCreateStream` 接口创建 Stream。
57-| `aclCreateDataBuffer` | 创建 DataBuffer,描述一段内存地址和大小 |58+ - 调用 `aclrtSynchronizeStream` 接口等待 Stream 上任务完成。
58-| `aclGetDataBufferAddr` | 获取 DataBuffer 中保存的内存地址 |59+ - 调用 `aclrtDestroyStream` 接口销毁 Stream。
59-| `aclCreateTensor` | 创建 Tensor |60+ - 调用 `aclrtResetDeviceForce` 接口重置设备。
60-| `aclCreateScalar` | 创建 Scalar |61+- Tensor 与数据描述
61-| `aclnnAddGetWorkspaceSize` | 获取加法算子所需 workspace 大小 |62+ - 调用 `aclCreateTensor` 接口创建输入和输出 Tensor。
62-| `aclnnAdd` | 执行加法运算 |63+ - 调用 `aclCreateScalar` 接口创建缩放因子 `alpha`。
63-| `aclrtSynchronizeStream` | 同步 Stream |64+ - 调用 `aclCreateDataBuffer` `aclGetDataBufferAddr` 接口管理输出 Buffer。
64-| `aclDestroyTensor` | 销毁 Tensor |65+ - 调用 `aclDestroyTensor`、`aclDestroyScalar` `aclDestroyDataBuffer` 接口释放描述对象。
65-| `aclDestroyScalar` | 销毁 Scalar |66+- 内存管理与数据传输
66-| `aclDestroyDataBuffer` | 销毁 DataBuffer 描述对象 |67+ - 调用 `aclrtMalloc` 接口分配 Device 内存。
67-| `aclrtFree` | 释放 Device 内存 |68+ - 调用 `aclrtMemcpy` 接口完成 Host/Device 数据传输。
68-| `aclrtDestroyStream` | 销毁 Stream |69+ - 调用 `aclrtFree` 接口释放 Device 内存。
69-| `aclrtResetDeviceForce` | 重置设备 |70+- 算子执行
70-| `aclFinalize` | 释放 ACL 资源 |71+ - 调用 `aclnnAddGetWorkspaceSize` 接口查询算子执行所需 workspace。
72+ - 调用 `aclnnAdd` 接口执行向量加法。
71 73 
72## 核心 API74## 核心 API
73 75 
@@ -36,3 +36,4 @@ cd "${SCRIPT_DIR}"
36echo "Build completed successfully!"36echo "Build completed successfully!"
37echo "Executable location: ${SCRIPT_DIR}/build/main"37echo "Executable location: ${SCRIPT_DIR}/build/main"
38echo "Run the sample: ./build/main"38echo "Run the sample: ./build/main"
39+./build/main
@@ -16,33 +16,45 @@
167. 使用 `aclrtGetErrorVerbose()` 查询更详细的设备错误摘要信息。167. 使用 `aclrtGetErrorVerbose()` 查询更详细的设备错误摘要信息。
178. 再次读取错误信息,演示错误码和错误描述的清空语义。178. 再次读取错误信息,演示错误码和错误描述的清空语义。
18 18 
19+## 产品支持情况
20+ 
21+本样例支持以下产品:
22+ 
23+| 产品 | 是否支持 |
24+| --- | --- |
25+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
26+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
27+ 
19## 编译运行28## 编译运行
20 29 
21环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。30环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。
22 31 
23-## 运行前环境变量32+运行步骤如下:
24- 
25-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
26 33 
27```bash34```bash
28# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录35# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
29source ${install_root}/cann/set_env.sh36source ${install_root}/cann/set_env.sh
30export ASCEND_INSTALL_PATH=${install_root}/cann37export ASCEND_INSTALL_PATH=${install_root}/cann
38+ 
39+# 编译运行
40+bash run.sh
31```41```
32 42 
33-## 相关 API43+## CANN RUNTIME API
34 44 
35-| API | 说明 |45+在本样例中,涉及的关键功能点及其关键接口如下所示:
36-|-----|------|46+- 初始化
37-| `aclInit` | 初始化 ACL |47+ - 调用 `aclInit` 接口初始化 ACL
38-| `aclFinalize` | 释放 ACL 资源 |48+ - 调用 `aclFinalize` 接口释放 ACL 资源
39-| `aclrtSetDevice` | 绑定当前设备 |49+- Device 管理
40-| `aclrtResetDeviceForce` | 重置当前设备 |50+ - 调用 `aclrtSetDevice` 接口绑定当前设备
41-| `aclrtGetRunMode` | 获取当前运行模式 |51+ - 调用 `aclrtResetDeviceForce` 接口重置当前设备。
42-| `aclrtPeekAtLastError` | 查询线程级 Runtime 错误码但不清空 |52+ - 调用 `aclrtGetRunMode` 接口查询当前运行模式。
43-| `aclrtGetLastError` | 获取并清空线程级 Runtime 错误码 |53+- 错误诊断
44-| `aclGetRecentErrMsg` | 获取并清空最近一次 ACL 调用失败的错误描述 |54+ - 调用 `aclrtPeekAtLastError` 接口查询线程级 Runtime 错误码而不清空状态。
45-| `aclrtGetErrorVerbose` | 获取设备详细错误信息 |55+ - 调用 `aclrtGetLastError` 接口获取并清空线程 Runtime 错误码。
56+ - 调用 `aclGetRecentErrMsg` 接口获取最近一次 ACL 调用失败的错误描述。
57+ - 调用 `aclrtGetErrorVerbose` 接口查询详细的错误摘要信息。
46 58 
47## 示例输出59## 示例输出
48 60 
@@ -57,4 +69,4 @@ export ASCEND_INSTALL_PATH=${install_root}/cann
57 69 
58## 已知 issue70## 已知 issue
59 71 
60-暂无。72+暂无。
@@ -33,3 +33,4 @@ cd "${SCRIPT_DIR}"
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35echo "Run the sample: ./build/main"35echo "Run the sample: ./build/main"
36+./build/main
@@ -13,33 +13,43 @@
134. 调用 `aclFloatToFloat16``aclFloat16ToFloat` 演示 float16/float32 转换。134. 调用 `aclFloatToFloat16``aclFloat16ToFloat` 演示 float16/float32 转换。
145. 调用 `aclDataTypeSize` 查询常见 `aclDataType` 的字节大小。145. 调用 `aclDataTypeSize` 查询常见 `aclDataType` 的字节大小。
15 15 
16+## 产品支持情况
17+ 
18+本样例支持以下产品:
19+ 
20+| 产品 | 是否支持 |
21+| --- | --- |
22+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
23+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
24+ 
16## 编译运行25## 编译运行
17 26 
18环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。27环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。
19 28 
20 29 
21-## 运行前环境变量30+运行步骤如下:
22- 
23-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
24 31 
25```bash32```bash
26# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录33# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
27source ${install_root}/cann/set_env.sh34source ${install_root}/cann/set_env.sh
28export ASCEND_INSTALL_PATH=${install_root}/cann35export ASCEND_INSTALL_PATH=${install_root}/cann
29-```
30-## 相关 API
31 36 
32-| API | 说明 |37+# 编译运行
33-|-----|------|38+bash run.sh
34-| `aclInit` | 初始化 ACL |39+```
35-| `aclFinalize` | 释放 ACL 资源 |40+## CANN RUNTIME API
36-| `aclrtGetVersion` | 查询 ACL Runtime API 版本号 |41+ 
37-| `aclsysGetVersionStr` | 查询 CANN 软件包字符串版号 |42+样例中,涉及的关键功能点及其关键接口如下所示:
38-| `aclsysGetVersionNum` | 查询 CANN 软件包数值版本号 |43+- 初始化
39-| `aclrtGetRunMode` | 查询当前运行模式 |44+ - 调用 `aclInit` 接口初始化 ACL。
40-| `aclFloatToFloat16` | float32 转换为 float16 |45+ - 调用 `aclFinalize` 接口释放 ACL 资源。
41-| `aclFloat16ToFloat` | 将 float16 转换回 float32 |46+- 版本信息查询
42-| `aclDataTypeSize` | 获取 `aclDataType` 的字节大小 |47+ - 调用 `aclrtGetVersion` 接口查询 ACL Runtime API 版本号。
48+ - 调用 `aclsysGetVersionStr``aclsysGetVersionNum` 接口查询 CANN 软件包版本信息。
49+- 运行模式与数据类型工具
50+ - 调用 `aclrtGetRunMode` 接口判断当前运行在 Host 还是 Device 模式。
51+ - 调用 `aclFloatToFloat16``aclFloat16ToFloat` 接口完成 float16/float32 相互转换。
52+ - 调用 `aclDataTypeSize` 接口查询常见 `aclDataType` 的字节大小。
43 53 
44## 示例输出54## 示例输出
45 55 
@@ -33,3 +33,4 @@ cd "${SCRIPT_DIR}"
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35echo "Run the sample: ./build/main"35echo "Run the sample: ./build/main"
36+./build/main
@@ -6,17 +6,18 @@ CANN 支持对自定义 AscendC Kernel 使用内核调用符 `<<<>>>` 进行调
6 6 
7本样例提供一个最小可运行示例,演示如何使用 `<<<>>>` 调用自定义 Kernel 完成 8 元素向量加法。运行成功后,结果应与 [0_hello_cann](../0_hello_cann/README.md) 中的向量加法结果一致。7本样例提供一个最小可运行示例,演示如何使用 `<<<>>>` 调用自定义 Kernel 完成 8 元素向量加法。运行成功后,结果应与 [0_hello_cann](../0_hello_cann/README.md) 中的向量加法结果一致。
8 8 
9-## 支持的产品型号9+## 产品支持情况
10 10 
11-- Atlas A3 训练系列产品/Atlas A3 推理系列产品11+本样例支持以下产品
12-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件
13-- Atlas 200I/500 A2 推理产品
14-- Atlas 推理系列产品
15-- Atlas 训练系列产品
16 12 
17-## 运行前环境变量13+| 产品 | 是否支持 |
14+| --- | --- |
15+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
16+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
18 17 
19-运行前,请先在同一个 shell 中设置以下环境变量:18+## 编译运行
19+ 
20+运行步骤如下:
20 21 
21```bash22```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在 /usr/local/Ascend 目录23# ${install_root} 替换为 CANN 安装根目录,默认安装在 /usr/local/Ascend 目录
@@ -28,17 +29,29 @@ export SOC_VERSION=${ascend_name}
28 29 
29# ${cmake_path} 替换为 ascendc.cmake 所在目录30# ${cmake_path} 替换为 ascendc.cmake 所在目录
30export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
31-```
32 32 
33-## 编译运行33+# 编译运行
34- 
35-```bash
36-cd ${git_clone_path}/example/0_quickstart/4_custom_kernel_launch
37bash run.sh34bash run.sh
38-./build/main
39```35```
40 36 
41-`run.sh` 只负责构建;构建成功后,执行 `./build/main` 运行样例。37+## CANN RUNTIME API
38+ 
39+在本样例中,涉及的关键功能点及其关键接口如下所示:
40+- 初始化
41+ - 调用 `aclInit` 接口初始化 ACL。
42+ - 调用 `aclFinalize` 接口释放 ACL 资源。
43+- Device 与 Stream 管理
44+ - 调用 `aclrtSetDevice` 接口设置计算设备。
45+ - 调用 `aclrtCreateStream` 接口创建 Stream。
46+ - 调用 `aclrtSynchronizeStream` 接口等待 Stream 上任务完成。
47+ - 调用 `aclrtDestroyStream` 接口销毁 Stream。
48+ - 调用 `aclrtResetDeviceForce` 接口重置设备。
49+- 内存管理与数据传输
50+ - 调用 `aclrtMalloc` 接口分配 Device 内存。
51+ - 调用 `aclrtMemcpy` 接口完成 Host/Device 数据传输。
52+ - 调用 `aclrtFree` 接口释放 Device 内存。
53+- Kernel 调用
54+ - 使用 `<<<>>>` 内核调用符下发自定义 AscendC Kernel。
42 55 
43## 运行结果56## 运行结果
44 57 
@@ -64,4 +77,4 @@ Vector addition result:
64 77 
65## 已知 issue78## 已知 issue
66 79 
67-暂无80+暂无
@@ -58,3 +58,4 @@ cd "${SCRIPT_DIR}"
58echo "Build completed successfully!"58echo "Build completed successfully!"
59echo "Executable location: ${SCRIPT_DIR}/build/main"59echo "Executable location: ${SCRIPT_DIR}/build/main"
60echo "Run the sample: ./build/main"60echo "Run the sample: ./build/main"
61+./build/main
@@ -2,7 +2,7 @@
2 2 
3本章节用于帮助开发者快速建立对 Runtime 样例工程的整体认识,先从最小闭环跑通,再补充错误处理、系统信息和兼容性相关主题。3本章节用于帮助开发者快速建立对 Runtime 样例工程的整体认识,先从最小闭环跑通,再补充错误处理、系统信息和兼容性相关主题。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7- [0_hello_cann](./0_hello_cann/README.md):最基础的 Runtime Hello World,展示初始化、建流、执行算子、同步、DataBuffer 包装和资源释放。7- [0_hello_cann](./0_hello_cann/README.md):最基础的 Runtime Hello World,展示初始化、建流、执行算子、同步、DataBuffer 包装和资源释放。
8- [1_error_handling](./1_error_handling/README.md):展示统一错误检查宏、最近错误描述、Peek/GetLastError 以及详细错误信息的获取方式。8- [1_error_handling](./1_error_handling/README.md):展示统一错误检查宏、最近错误描述、Peek/GetLastError 以及详细错误信息的获取方式。
@@ -2,13 +2,13 @@
2 2 
3本章节聚焦 Runtime 的基础编程能力,适合在完成快速入门后继续学习 Device、Context、Stream、Event 和 Memory 的核心用法。3本章节聚焦 Runtime 的基础编程能力,适合在完成快速入门后继续学习 Device、Context、Stream、Event 和 Memory 的核心用法。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [device](./device/):设备初始化、切换、多线程与多 Device 数据交互。7+- [device](./device/README.md):设备初始化、切换、多线程与多 Device 数据交互。
8-- [stream](./stream/):默认流、普通流、多流同步、失败模式控制。8+- [stream](./stream/README.md):默认流、普通流、多流同步、失败模式控制。
9-- [event](./event/):事件状态、时间戳与同步行为。9+- [event](./event/README.md):事件状态、时间戳与同步行为。
10-- [memory](./memory/):Host/Device 数据拷贝、共享内存、IPC 与多流内存同步。10+- [memory](./memory/README.md):Host/Device 数据拷贝、共享内存、IPC 与多流内存同步。
11 11 
12## 相关主题12## 相关主题
13 13 
14-- [context](./context/README.md):Context 生命周期、切换与复用。14+- [context](./context/README.md):Context 生命周期、切换与复用。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了从资源初始化、指定Device计算设备、在Device上执行Add算子、到最后销毁资源的全部流程,是一个基础的使用Device的样例。4本样例展示了从资源初始化、指定Device计算设备、在Device上执行Add算子、到最后销毁资源的全部流程,是一个基础的使用Device的样例。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34 37 
@@ -53,4 +56,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
53## 已知issue56## 已知issue
54 57 
55 暂无58 暂无
56- 
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本用例展示了多线程的场景如何管理Device,主线程中设置Device,设置资源限制,另一个线程获取Device相关信息(例如昇腾AI处理器版本、Device运行模式、Device资源限制)后,再根据Device资源限制下发和执行和函数任务,线程结束时采用aclrtResetDeviceForce接口释放Device上的资源。4本用例展示了多线程的场景如何管理Device,主线程中设置Device,设置资源限制,另一个线程获取Device相关信息(例如昇腾AI处理器版本、Device运行模式、Device资源限制)后,再根据Device资源限制下发和执行和函数任务,线程结束时采用aclrtResetDeviceForce接口释放Device上的资源。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34 37 
@@ -65,4 +68,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
65## 已知issue68## 已知issue
66 69 
67 暂无70 暂无
68- 
@@ -3,19 +3,20 @@
3## 描述3## 描述
4本样例展示了如何在多个Device之间进行切换,并进行内存复制。4本样例展示了如何在多个Device之间进行切换,并进行内存复制。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 推理系列产品9+ 
10-- Atlas 训练系列产品10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
11 14 
12## 编译运行15## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 17 
15 18 
16-## 运行前环境变量19+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 20 
20```bash21```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +29,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
31```35```
32## CANN RUNTIME API36## CANN RUNTIME API
33 37 
@@ -54,4 +58,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
54## 已知issue58## 已知issue
55 59 
56 暂无60 暂无
57- 
@@ -0,0 +1,9 @@
1+# device
2+ 
3+本目录聚焦 Device 初始化、切换、多线程使用以及 Device 间数据交互能力。
4+ 
5+## 样例列表
6+ 
7+- [0_device_normal](./0_device_normal/README.md):演示单 Device 场景下的基础初始化、执行和释放流程。
8+- [1_device_multi_thread](./1_device_multi_thread/README.md):演示多线程场景下的 Device 使用方式。
9+- [2_device_P2P](./2_device_P2P/README.md):演示 Device 间 P2P 数据拷贝能力。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Event的不同状态,包括创建后,记录后,同步后。4本样例展示了Event的不同状态,包括创建后,记录后,同步后。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Event计时的功能,既可以记录时间帧,还可以计算时间差。4本样例展示了Event计时的功能,既可以记录时间帧,还可以计算时间差。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -0,0 +1,8 @@
1+# event
2+ 
3+本目录聚焦 Event 的状态查询、时间戳记录与同步能力。
4+ 
5+## 样例列表
6+ 
7+- [0_event_status](./0_event_status/README.md):演示 Event 状态查询与同步流程。
8+- [1_event_timestamp](./1_event_timestamp/README.md):演示 Event 时间戳采集与计时用法。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Host内的内存复制功能。4本样例展示了Host内的内存复制功能。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,19 +3,20 @@
3## 描述3## 描述
4本样例展示了同一个Device、两个进程间的内存共享,在共享内存时启用进程白名单校验。4本样例展示了同一个Device、两个进程间的内存共享,在共享内存时启用进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 推理系列产品9+ 
10-- Atlas 训练系列产品10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
11 14 
12## 编译运行15## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 17 
15 18 
16-## 运行前环境变量19+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 20 
20```bash21```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +29,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
31```35```
32## CANN RUNTIME API36## CANN RUNTIME API
33在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,19 +3,20 @@
3## 描述3## 描述
4本样例展示了同一个Device、两个进程间的内存共享,在内存共享时关闭进程白名单校验。4本样例展示了同一个Device、两个进程间的内存共享,在内存共享时关闭进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 推理系列产品9+ 
10-- Atlas 训练系列产品10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
11 14 
12## 编译运行15## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 17 
15 18 
16-## 运行前环境变量19+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 20 
20```bash21```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +29,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
31```35```
32## CANN RUNTIME API36## CANN RUNTIME API
33在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -50,4 +54,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
50## 已知issue54## 已知issue
51 55 
52 暂无56 暂无
53- 
@@ -3,11 +3,16 @@
3## 描述3## 描述
4本样例展示了 aclrtMemExportToShareableHandleV2 和 aclrtMemImportFromShareableHandleV2 接口实现跨机物理内存共享,在内存共享时关闭进程白名单校验。4本样例展示了 aclrtMemExportToShareableHandleV2 和 aclrtMemImportFromShareableHandleV2 接口实现跨机物理内存共享,在内存共享时关闭进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8+本样例支持以下产品:
9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
8 13 
9## 编译运行14## 编译运行
10-- 环境安装详情请见example目录下的[README](../../README.md)。15+- 环境安装详情请见example目录下的[README](../../../README.md)。
11- 本样例用于展示跨服务器共享内存功能,需在两台已完成环境配置且网络互通的服务器上分别运行脚本:16- 本样例用于展示跨服务器共享内存功能,需在两台已完成环境配置且网络互通的服务器上分别运行脚本:
12 - 在服务端服务器执行:bash run_server.sh,按提示输入监听端口号。17 - 在服务端服务器执行:bash run_server.sh,按提示输入监听端口号。
13 - 在客户端服务器执行:bash run_client.sh,按提示输入服务端地址与端口号。18 - 在客户端服务器执行:bash run_client.sh,按提示输入服务端地址与端口号。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Host到Device的内存复制,使用aclrtMemcpy内存复制接口。4本样例展示了Host到Device的内存复制,使用aclrtMemcpy内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -51,4 +54,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
51 54 
52## 已知issue55## 已知issue
53 56 
54- 暂无57+ 暂无
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Host到Device的内存复制,使用aclrtMemcpyAsync内存复制接口。4本样例展示了Host到Device的内存复制,使用aclrtMemcpyAsync内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Device到Host的内存复制,使用aclrtMemcpy内存复制接口。4本样例展示了Device到Host的内存复制,使用aclrtMemcpy内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Device到Host的内存复制,使用aclrtMemcpyAsync内存复制接口。4本样例展示了Device到Host的内存复制,使用aclrtMemcpyAsync内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -52,4 +55,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
52 55 
53## 已知issue56## 已知issue
54 57 
55- 暂无58+ 暂无
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Device内的内存复制,使用aclrtMemcpy内存复制接口。4本样例展示了Device内的内存复制,使用aclrtMemcpy内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了Device内的内存复制,使用aclrtMemcpyAsync内存复制接口。4本样例展示了Device内的内存复制,使用aclrtMemcpyAsync内存复制接口。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -50,4 +53,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
50 53 
51## 已知issue54## 已知issue
52 55 
53- 暂无56+ 暂无
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了同一个Device、两个进程间的物理内存共享,但在共享内存时启用进程白名单校验。4本样例展示了同一个Device、两个进程间的物理内存共享,但在共享内存时启用进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了同一个Device、两个进程间的物理内存共享,在共享内存时关闭进程白名单校验。4本样例展示了同一个Device、两个进程间的物理内存共享,在共享内存时关闭进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,17 +3,20 @@
3## 描述3## 描述
4本样例会触发两个线程,一个线程A等待指定内存中的数据满足一定条件后解除阻塞,一个线程B向指定内存中写入数据,在线程B写入满足条件的数据之前线程A将持续阻塞。4本样例会触发两个线程,一个线程A等待指定内存中的数据满足一定条件后解除阻塞,一个线程B向指定内存中写入数据,在线程B写入满足条件的数据之前线程A将持续阻塞。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
9 14 
10## 编译运行15## 编译运行
11-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
12 17 
13 18 
14-## 运行前环境变量19+运行步骤如下:
15- 
16-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
17 20 
18```bash21```bash
19# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -26,6 +29,9 @@ export SOC_VERSION=${ascend_name}
26# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
27# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
28export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
29```35```
30## CANN RUNTIME API36## CANN RUNTIME API
31在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -49,4 +55,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
49 55 
50## 已知issue56## 已知issue
51 57 
52- 暂无58+ 暂无
@@ -0,0 +1,19 @@
1+# memory
2+ 
3+本目录聚焦 Host/Device 间的数据传输、共享内存、IPC 以及多流内存同步能力。
4+ 
5+## 样例列表
6+ 
7+- [0_h2h_memory_copy](./0_h2h_memory_copy/README.md):演示 Host 到 Host 的内存拷贝。
8+- [1_h2d_sync_memory_copy](./1_h2d_sync_memory_copy/README.md):演示 Host 到 Device 的同步拷贝。
9+- [2_h2d_async_memory_copy](./2_h2d_async_memory_copy/README.md):演示 Host 到 Device 的异步拷贝。
10+- [3_d2h_sync_memory_copy](./3_d2h_sync_memory_copy/README.md):演示 Device 到 Host 的同步拷贝。
11+- [4_d2h_async_memory_copy](./4_d2h_async_memory_copy/README.md):演示 Device 到 Host 的异步拷贝。
12+- [5_d2d_sync_memory_copy](./5_d2d_sync_memory_copy/README.md):演示 Device 到 Device 的同步拷贝。
13+- [6_d2d_async_memory_copy](./6_d2d_async_memory_copy/README.md):演示 Device 到 Device 的异步拷贝。
14+- [7_physical_memory_sharing_withpid](./7_physical_memory_sharing_withpid/README.md):演示指定 PID 的物理内存共享。
15+- [8_physical_memory_sharing_withoutpid](./8_physical_memory_sharing_withoutpid/README.md):演示不指定 PID 的物理内存共享。
16+- [9_multistream_sync_memory](./9_multistream_sync_memory/README.md):演示多 Stream 场景下的内存同步。
17+- [10_ipc_memory_withpid](./10_ipc_memory_withpid/README.md):演示指定 PID 的 IPC 内存共享。
18+- [11_ipc_memory_withoutpid](./11_ipc_memory_withoutpid/README.md):演示不指定 PID 的 IPC 内存共享。
19+- [12_cross_server_physical_memory_sharing_withoutpid](./12_cross_server_physical_memory_sharing_withoutpid/README.md):演示跨服物理内存共享。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示单Stream下发任务的场景,包括默认Stream下发任务、新建Stream下发任务、在一个Stream多次下发任务并查询状态三个部分。4本样例展示单Stream下发任务的场景,包括默认Stream下发任务、新建Stream下发任务、在一个Stream多次下发任务并查询状态三个部分。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示Stream设置遇错即停并且模拟运行核函数时发生错误的场景。4本样例展示Stream设置遇错即停并且模拟运行核函数时发生错误的场景。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了多个Stream之间流间任务同步功能。4本样例展示了多个Stream之间流间任务同步功能。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -68,4 +71,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
68## 已知issue71## 已知issue
69 72 
70 暂无73 暂无
71- 
@@ -0,0 +1,9 @@
1+# stream
2+ 
3+本目录聚焦 Stream 的创建、同步、多流并发与失败模式控制能力。
4+ 
5+## 样例列表
6+ 
7+- [0_simple_stream](./0_simple_stream/README.md):演示 Stream 的创建、使用和释放。
8+- [1_stream_with_failure_mode](./1_stream_with_failure_mode/README.md):演示 Stream 失败模式控制。
9+- [2_multi_stream](./2_multi_stream/README.md):演示多 Stream 协同执行与同步。
@@ -1,16 +1,16 @@
1# 2_advanced_features1# 2_advanced_features
2 2 
3-本章节覆盖较高阶的 Runtime 能力,适合在掌握基础特性后继续学习 Kernel 执行、模型实例运行、回调、通知、TDT 通道和高级执行控制。3+本章节覆盖较高阶的 Runtime 能力,适合在掌握基础特性后继续学习内建任务、Kernel 执行、模型运行实例、回调、通知、TDT 以及高级执行控制。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [kernel](./kernel/):Kernel 二进制加载、参数组织、执行资源限制7+- [built_in_task](./built_in_task/README.md):Runtime 内建任务,包括 Reduce 随机数任务
8-- [model_ri](./model_ri/):任务捕获模型实例创建、更新切换8+- [callback](./callback/README.md):Stream 回调HostFunc 回调异常回调
9-- [callback](./callback/):Host 回调、异常回调、HostFunc 订阅和流上回调任务9+- [group](./group/README.md):算力 Group 查询与设置
10-- [notify](./notify/):进程间 Notify 共享流间同步10+- [kernel](./kernel/README.md):Kernel 二进制加载、参数组织、执行资源限制
11+- [label](./label/README.md):Label、流跳转和设备端流程控制。
12+- [model_ri](./model_ri/README.md):模型运行实例的捕获、更新与切换。
13+- [notify](./notify/README.md):进程间 Notify 共享和流间同步。
14+- [tdt_buffer](./tdt_buffer/README.md):TDT Buffer 的共享、引用和链式组织。
11- [tdt_channel](./tdt_channel/README.md):TDT Channel 的数据传输、容量控制和数据结构解析。15- [tdt_channel](./tdt_channel/README.md):TDT Channel 的数据传输、容量控制和数据结构解析。
12- [tdt_queue](./tdt_queue/README.md):TDT Queue 的属性配置、路由管理和权限附加。16- [tdt_queue](./tdt_queue/README.md):TDT Queue 的属性配置、路由管理和权限附加。
13-- [tdt_buffer](./tdt_buffer/README.md):TDT Buffer 的共享、引用和链式组织。
14-- [label](./label/README.md):Label、流跳转和设备端流程控制。
15-- [group](./group/README.md):算力 Group 查询与设置。
16-- [built_in_task](./built_in_task/):Reduce 与随机数等内建任务。
@@ -4,39 +4,50 @@
4 4 
5本示例展示了如何使用 CANN Runtime 的 `aclrtReduceAsync` API 执行规约(Reduce)操作。规约是并行计算中的常见操作,用于对数组元素进行求和、求最大值等操作。5本示例展示了如何使用 CANN Runtime 的 `aclrtReduceAsync` API 执行规约(Reduce)操作。规约是并行计算中的常见操作,用于对数组元素进行求和、求最大值等操作。
6 6 
7-## 支持的产品型号7+## 产品支持情况
8 8 
9-- Atlas A3 训练系列产品/Atlas A3 推理系列产品9+本样例在以下产品上的支持情况如下:
10-- Atlas A2 训练系列产品/Atlas A2 推理系列产品10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
11 15 
12## 编译运行16## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。17+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 18 
15 19 
16-## 运行前环境变量20+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 21 
20```bash22```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
22source ${install_root}/cann/set_env.sh24source ${install_root}/cann/set_env.sh
23export ASCEND_INSTALL_PATH=${install_root}/cann25export ASCEND_INSTALL_PATH=${install_root}/cann
24-```
25-## 相关 API
26 26 
27-| API | 说明 |27+# 编译运行
28-|-----|------|28+bash run.sh
29-| `aclInit` | 初始化 ACL |29+```
30-| `aclrtSetDevice` | 设置设备 |30+ 
31-| `aclrtCreateStream` | 创建 Stream |31+## CANN RUNTIME API
32-| `aclrtMalloc` | 分配 Device 内存 |32+ 
33-| `aclrtMemcpy` | 内存拷贝 |33+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
34-| `aclrtReduceAsync` | 异步Reduce(规约)操作 |34+- 初始化
35-| `aclrtSynchronizeStream` | 同步 Stream |35+ - 调用aclInit接口初始化AscendCL配置。
36-| `aclrtFree` | 释放 Device 内存 |36+ - 调用aclFinalize接口实现AscendCL去初始化。
37-| `aclrtDestroyStream` | 销毁 Stream |37+- Device管理
38-| `aclrtResetDeviceForce` | 重置设备 |38+ - 调用aclrtSetDevice接口指定用于运算的Device。
39-| `aclFinalize` | 释放 ACL 资源 |39+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源
40+- Stream管理
41+ - 调用aclrtCreateStream接口创建Stream。
42+ - 调用aclrtSynchronizeStream接口阻塞等待Stream上任务执行完成。
43+ - 调用aclrtDestroyStream接口销毁Stream。
44+- 内存管理
45+ - 调用aclrtMalloc接口申请Device上的内存。
46+ - 调用aclrtFree接口释放Device上的内存。
47+- 数据传输
48+ - 调用aclrtMemcpy接口在Host与Device之间拷贝输入输出数据。
49+- Reduce任务执行
50+ - 调用aclrtReduceAsync接口在Stream上异步执行Reduce操作。
40 51 
41## 核心 API52## 核心 API
42 53 
@@ -61,4 +72,4 @@ ACL_RT_MEMCPY_SDMA_AUTOMATIC_SUM // 自动求和(前缀和)
61 72 
62## 已知issue73## 已知issue
63 74
64- 暂无75+ 暂无
@@ -38,4 +38,5 @@ cd "${SCRIPT_DIR}"
38 38 
39echo "Build completed successfully!"39echo "Build completed successfully!"
40echo "Executable location: ${SCRIPT_DIR}/build/main"40echo "Executable location: ${SCRIPT_DIR}/build/main"
41-echo "Run the sample: ./build/main"41+echo "Run the sample: ./build/main"
42+./build/main
@@ -4,39 +4,49 @@
4 4 
5本示例展示了如何使用 CANN Runtime 的 `aclrtRandomNumAsync` API 生成随机数。支持多种随机数分布类型和数据类型,用于满足不同场景下的随机数生成需求。5本示例展示了如何使用 CANN Runtime 的 `aclrtRandomNumAsync` API 生成随机数。支持多种随机数分布类型和数据类型,用于满足不同场景下的随机数生成需求。
6 6 
7-## 支持的产品型号7+## 产品支持情况
8 8 
9-- Atlas A3 训练系列产品/Atlas A3 推理系列产品9+本样例在以下产品上的支持情况如下:
10-- Atlas A2 训练系列产品/Atlas A2 推理系列产品10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
11 15 
12## 编译运行16## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。17+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 18 
15 19 
16-## 运行前环境变量20+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 21 
20```bash22```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
22source ${install_root}/cann/set_env.sh24source ${install_root}/cann/set_env.sh
23export ASCEND_INSTALL_PATH=${install_root}/cann25export ASCEND_INSTALL_PATH=${install_root}/cann
24-```
25-## 相关 API
26 26 
27-| API | 说明 |27+# 编译运行
28-|-----|------|28+bash run.sh
29-| `aclInit` | 初始化 ACL |29+```
30-| `aclrtSetDevice` | 设置设备 |30+ 
31-| `aclrtCreateStream` | 创建 Stream |31+## CANN RUNTIME API
32-| `aclrtMalloc` | 分配 Device 内存 |32+ 
33-| `aclrtRandomNumAsync` | 异步生成随机数 |33+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
34-| `aclrtSynchronizeStream` | 同步 Stream |34+- 初始化
35-| `aclrtMemcpy` | 内存拷贝 |35+ - 调用aclInit接口初始化AscendCL配置。
36-| `aclrtFree` | 释放 Device 内存 |36+ - 调用aclFinalize接口实现AscendCL去初始化。
37-| `aclrtDestroyStream` | 销毁 Stream |37+- Device管理
38-| `aclrtResetDeviceForce` | 重置设备 |38+ - 调用aclrtSetDevice接口指定用于运算的Device。
39-| `aclFinalize` | 释放 ACL 资源 |39+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源
40+- Stream管理
41+ - 调用aclrtCreateStream接口创建Stream。
42+ - 调用aclrtSynchronizeStream接口阻塞等待Stream上任务执行完成。
43+- 内存管理
44+ - 调用aclrtMalloc接口申请Device上的输出缓冲区和随机数计数器缓冲区。
45+ - 调用aclrtFree接口释放Device上的内存。
46+- 数据传输
47+ - 调用aclrtMemcpy接口将生成的随机数拷贝回Host侧进行检查。
48+- 随机数任务执行
49+ - 调用aclrtRandomNumAsync接口异步下发随机数任务,生成uniform、normal等分布结果以及 dropout bitmask。
40 50 
41## 核心 API51## 核心 API
42 52 
@@ -122,7 +132,6 @@ typedef struct {
1222. **输出内存**: 根据数据类型和随机数数量动态分配1322. **输出内存**: 根据数据类型和随机数数量动态分配
1233. **参数内存**: 均值、标准差、范围等参数可使用立即值或设备内存1333. **参数内存**: 均值、标准差、范围等参数可使用立即值或设备内存
124 134 
125- 
126## 已知issue135## 已知issue
127 136 
128暂无137暂无
@@ -38,4 +38,5 @@ cd "${SCRIPT_DIR}"
38 38 
39echo "Build completed successfully!"39echo "Build completed successfully!"
40echo "Executable location: ${SCRIPT_DIR}/build/main"40echo "Executable location: ${SCRIPT_DIR}/build/main"
41-echo "Run the sample: ./build/main"41+echo "Run the sample: ./build/main"
42+./build/main
@@ -0,0 +1,8 @@
1+# built_in_task
2+ 
3+本目录聚焦 Runtime 内建任务的下发与执行能力。
4+ 
5+## 样例列表
6+ 
7+- [0_reduce_task](./0_reduce_task/README.md):演示 Reduce 任务的下发与结果读取。
8+- [1_random_num_task](./1_random_num_task/README.md):演示随机数任务的下发与不同分布生成。
@@ -3,19 +3,25 @@
3## 描述3## 描述
4本样例展示了如何为同一个 Stream 同时注册 Report 回调线程和 HostFunc 处理线程,并通过 `aclrtLaunchCallback``aclrtLaunchHostFunc` 观察两类回调在用户指定线程上的执行行为。4本样例展示了如何为同一个 Stream 同时注册 Report 回调线程和 HostFunc 处理线程,并通过 `aclrtLaunchCallback``aclrtLaunchHostFunc` 观察两类回调在用户指定线程上的执行行为。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例关键接口在不同产品上的支持情况如下:
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 接口 | Atlas A3 训练系列产品/Atlas A3 推理系列产品 | Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
11-- Atlas 训练系列产品11+| --- | --- | --- |
12+| aclrtSubscribeReport | √ | √ |
13+| aclrtProcessReport | √ | √ |
14+| aclrtUnSubscribeReport | √ | √ |
15+| aclrtLaunchCallback | √ | √ |
16+| aclrtSubscribeHostFunc | x | x |
17+| aclrtProcessHostFunc | x | x |
18+| aclrtUnSubscribeHostFunc | x | x |
19+| aclrtLaunchHostFunc | √ | √ |
12 20 
13## 编译运行21## 编译运行
14-环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。22+环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
15 23 
16-## 运行前环境变量24+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 25 
20```bash26```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录27# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +34,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake34# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径35# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}36export ASCENDC_CMAKE_DIR=${cmake_path}
37+ 
38+# 编译运行
39+bash run.sh
31```40```
32 41 
33## CANN RUNTIME API42## CANN RUNTIME API
@@ -50,4 +59,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
50 59 
51## 已知 issue60## 已知 issue
52 61 
53-暂无。62+暂无。
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了在Stream上下发一个Host侧函数,该Host侧函数将在当前已下发的任务执行之后被调用,并会阻塞之后添加的任务。4本样例展示了在Stream上下发一个Host侧函数,该Host侧函数将在当前已下发的任务执行之后被调用,并会阻塞之后添加的任务。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,19 +3,19 @@
3## 描述3## 描述
4本样例展示了如何通过错误回调函数获取任务异常信息,并在同步失败后补充查询最近错误消息、线程级最后错误和详细设备错误信息,形成更完整的 Runtime 错误处理链。4本样例展示了如何通过错误回调函数获取任务异常信息,并在同步失败后补充查询最近错误消息、线程级最后错误和详细设备错误信息,形成更完整的 Runtime 错误处理链。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。16+环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
15 17 
16-## 运行前环境变量18+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 19 
20```bash20```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +28,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}30export ASCENDC_CMAKE_DIR=${cmake_path}
31+ 
32+# 编译运行
33+bash run.sh
31```34```
32 35 
33## CANN RUNTIME API36## CANN RUNTIME API
@@ -60,4 +63,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
60 63 
61## 已知 issue64## 已知 issue
62 65 
63-暂无。66+暂无。
@@ -0,0 +1,9 @@
1+# callback
2+ 
3+本目录聚焦 Stream 回调、HostFunc 回调和异常回调能力。
4+ 
5+## 样例列表
6+ 
7+- [0_simple_callback](./0_simple_callback/README.md):演示 Report 回调和 HostFunc 处理线程的注册与执行。
8+- [1_callback_hostfunc](./1_callback_hostfunc/README.md):演示 Stream 上 HostFunc 回调的下发与执行顺序。
9+- [2_callback_exception](./2_callback_exception/README.md):演示异常回调和 Runtime 错误信息查询。
@@ -4,6 +4,15 @@
4 4 
5本示例演示算力 Group 的数量查询、组信息读取和当前 Group 设置流程。5本示例演示算力 Group 的数量查询、组信息读取和当前 Group 设置流程。
6 6 
7+## 产品支持情况
8+ 
9+本样例在以下产品上的支持情况如下:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | x |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | x |
15+ 
7## 功能说明16## 功能说明
8 17 
9- 查询设备可见的 Group 数量。18- 查询设备可见的 Group 数量。
@@ -15,20 +24,34 @@
15 24 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。25环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 26 
18-## 运行前环境变量27+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 28 
22```bash29```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录30# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh31source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann32export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 33 
29-- aclrtCreateGroupInfo / aclrtDestroyGroupInfo34+# 编译运行
30-- aclrtSetGroup / aclrtGetGroupCount35+bash run.sh
31-- aclrtGetAllGroupInfo / aclrtGetGroupInfoDetail36+```
37+ 
38+## CANN RUNTIME API
39+ 
40+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
41+- 初始化
42+ - 调用aclInit接口初始化AscendCL配置。
43+ - 调用aclFinalize接口实现AscendCL去初始化。
44+- Device与Context管理
45+ - 调用aclrtSetDevice接口指定用于运算的Device。
46+ - 调用aclrtCreateContext接口创建Context。
47+ - 调用aclrtDestroyContext接口销毁Context。
48+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
49+- Group信息管理
50+ - 调用aclrtGetGroupCount接口查询当前Device可见的Group数量。
51+ - 调用aclrtCreateGroupInfo、aclrtGetAllGroupInfo和aclrtGetGroupInfoDetail接口创建GroupInfo对象并读取Group详细信息。
52+ - 调用aclrtDestroyGroupInfo接口释放GroupInfo资源。
53+- 当前Group设置
54+ - 调用aclrtSetGroup接口将指定Group设置为当前Group。
32 55 
33## 已知 issue56## 已知 issue
34 57 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,6 +2,6 @@
2 2 
3本目录聚焦算力 Group 的查询与设置能力。3本目录聚焦算力 Group 的查询与设置能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_compute_group](./0_compute_group/README.md):演示 Group 数量查询、组信息读取和当前 Group 设置。7+- [0_compute_group](./0_compute_group/README.md):演示 Group 数量查询、组信息读取和当前 Group 设置。
@@ -3,12 +3,14 @@
3## 描述3## 描述
4本样例展示了如何基于Launch Kernel方式加载与执行Add算子。4本样例展示了如何基于Launch Kernel方式加载与执行Add算子。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14 16 
@@ -3,20 +3,20 @@
3## 描述3## 描述
4本样例展示了在设置了当前进程的Device资源限制下,Add算子的加载与执行。4本样例展示了在设置了当前进程的Device资源限制下,Add算子的加载与执行。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 200I/500 A2 推理产品9+ 
10-- Atlas 推理系列产品10+| 产品 | 是否支持 |
11-- Atlas 训练系列产品11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
12 14 
13## 编译运行15## 编译运行
14-- 环境准备以及环境变量配置详情请见example目录下的[README](../../README.md)。16+- 环境准备以及环境变量配置详情请见example目录下的[README](../../../README.md)。
15 17 
16 18 
17-## 运行前环境变量19+运行步骤如下:
18- 
19-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
20 20 
21```bash21```bash
22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -29,6 +29,9 @@ export SOC_VERSION=${ascend_name}
29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
31export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
32```35```
33## CANN RUNTIME API36## CANN RUNTIME API
34在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -0,0 +1,8 @@
1+# kernel
2+ 
3+本目录聚焦 Kernel 加载、参数组织、执行与资源限制能力。
4+ 
5+## 样例列表
6+ 
7+- [0_launch_kernel](./0_launch_kernel/README.md):演示 Kernel 二进制加载、参数组装和执行。
8+- [1_launch_kernel_with_reslimit](./1_launch_kernel_with_reslimit/README.md):演示在 Device 资源限制下的 Kernel 执行。
@@ -4,6 +4,15 @@
4 4 
5本示例演示 CANN Runtime 的 Label 创建与按索引切换能力,适合作为设备端流程控制的最小示例。5本示例演示 CANN Runtime 的 Label 创建与按索引切换能力,适合作为设备端流程控制的最小示例。
6 6 
7+## 产品支持情况
8+ 
9+本样例在以下产品上的支持情况如下:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | x |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
15+ 
7## 功能说明16## 功能说明
8 17 
9- 创建两个 Label,并把它们组织成 LabelList。18- 创建两个 Label,并把它们组织成 LabelList。
@@ -15,21 +24,42 @@
15 24 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。25环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 26 
18-## 运行前环境变量27+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 28 
22```bash29```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录30# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh31source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann32export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 33 
29-- aclrtCreateLabel / aclrtDestroyLabel / aclrtSetLabel34+# 编译运行
30-- aclrtCreateLabelList / aclrtDestroyLabelList35+bash run.sh
31-- aclrtSwitchLabelByIndex36+```
32-- aclrtMalloc / aclrtMemcpy / aclrtSynchronizeStream37+ 
38+## CANN RUNTIME API
39+ 
40+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
41+- 初始化
42+ - 调用aclInit接口初始化AscendCL配置。
43+ - 调用aclFinalize接口实现AscendCL去初始化。
44+- Device与Context管理
45+ - 调用aclrtSetDevice接口指定用于运算的Device。
46+ - 调用aclrtCreateContext接口创建Context。
47+ - 调用aclrtDestroyContext接口销毁Context。
48+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
49+- Stream管理
50+ - 调用aclrtCreateStream接口创建Stream。
51+ - 调用aclrtSynchronizeStream接口阻塞等待Stream上任务执行完成。
52+ - 调用aclrtDestroyStream接口销毁Stream。
53+- 内存管理
54+ - 调用aclrtMalloc接口申请Device内存存放分支索引。
55+ - 调用aclrtFree接口释放Device上的内存。
56+- 数据传输
57+ - 调用aclrtMemcpy接口将Host侧的分支索引写入Device内存。
58+- Label创建与切换
59+ - 调用aclrtCreateLabel和aclrtDestroyLabel接口创建并释放Label。
60+ - 调用aclrtCreateLabelList和aclrtDestroyLabelList接口组装并释放LabelList。
61+ - 调用aclrtSetLabel接口在Stream上设置Label。
62+ - 调用aclrtSwitchLabelByIndex接口根据Device内存中的分支索引执行Label切换。
33 63 
34## 已知 issue64## 已知 issue
35 65 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -1,7 +1,7 @@
1# label1# label
2 2 
3-本目录聚焦 Label、流内跳转设备端程控制能力。3+本目录聚焦 Label 的创建组装和流内切换能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_simple_label](./0_simple_label/README.md):演示 Label 创建、LabelList 组和按索引切换执行路径7+- [0_simple_label](./0_simple_label/README.md):演示 Label 创建、LabelList 组和按索引切换。
@@ -3,22 +3,28 @@
3## 描述3## 描述
4本样例展示了如何捕获Stream中的任务并创建一个模型实例,然后执行该模型实例得到结果。4本样例展示了如何捕获Stream中的任务并创建一个模型实例,然后执行该模型实例得到结果。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
9 14 
10## 编译运行15## 编译运行
11-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
12 17 
13 18 
14-## 运行前环境变量19+运行步骤如下:
15- 
16-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
17 20 
18```bash21```bash
19# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
20source ${install_root}/cann/set_env.sh23source ${install_root}/cann/set_env.sh
21export ASCEND_INSTALL_PATH=${install_root}/cann24export ASCEND_INSTALL_PATH=${install_root}/cann
25+ 
26+# 编译运行
27+bash run.sh
22```28```
23## CANN RUNTIME API29## CANN RUNTIME API
24在该Sample中,涉及的关键功能点及其关键接口,如下所示:30在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,22 +3,28 @@
3## 描述3## 描述
4本样例展示了捕获一个模型实例后如何更新该实例中的任务。4本样例展示了捕获一个模型实例后如何更新该实例中的任务。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
9 14 
10## 编译运行15## 编译运行
11-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
12 17 
13 18 
14-## 运行前环境变量19+运行步骤如下:
15- 
16-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
17 20 
18```bash21```bash
19# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
20source ${install_root}/cann/set_env.sh23source ${install_root}/cann/set_env.sh
21export ASCEND_INSTALL_PATH=${install_root}/cann24export ASCEND_INSTALL_PATH=${install_root}/cann
25+ 
26+# 编译运行
27+bash run.sh
22```28```
23## CANN RUNTIME API29## CANN RUNTIME API
24在该Sample中,涉及的关键功能点及其关键接口,如下所示:30在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,19 +3,26 @@
3## 描述3## 描述
4本样例展示了如何使用aclmdlRIBuildBegin接口创建模型实例,并且在任务中实现了Stream跳转以及Stream激活。4本样例展示了如何使用aclmdlRIBuildBegin接口创建模型实例,并且在任务中实现了Stream跳转以及Stream激活。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件7+ 
8-- Atlas 200I/500 A2 推理产品8+本样例关键接口在不同产品上的支持情况如下:
9-- Atlas 推理系列产品9+ 
10-- Atlas 训练系列产品10+| 接口 | Atlas A3 训练系列产品/Atlas A3 推理系列产品 | Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
11+| --- | --- | --- |
12+| aclmdlRIBuildBegin | √ | √ |
13+| aclmdlRIBindStream | √ | √ |
14+| aclmdlRIEndTask | √ | √ |
15+| aclmdlRIBuildEnd | √ | √ |
16+| aclmdlRIUnbindStream | √ | √ |
17+| aclmdlRIExecuteAsync | √ | √ |
18+| aclrtSwitchStream | x | √ |
19+| aclrtActiveStream | x | √ |
11 20 
12## 编译运行21## 编译运行
13-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。22+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
14 23 
15 24 
16-## 运行前环境变量25+运行步骤如下:
17- 
18-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
19 26 
20```bash27```bash
21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录28# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -28,6 +35,9 @@ export SOC_VERSION=${ascend_name}
28# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake35# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
29# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径36# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
30export ASCENDC_CMAKE_DIR=${cmake_path}37export ASCENDC_CMAKE_DIR=${cmake_path}
38+ 
39+# 编译运行
40+bash run.sh
31```41```
32## CANN RUNTIME API42## CANN RUNTIME API
33在该Sample中,涉及的关键功能点及其关键接口,如下所示:43在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -0,0 +1,9 @@
1+# model_ri
2+ 
3+本目录聚焦模型运行实例的捕获、更新与切换能力。
4+ 
5+## 样例列表
6+ 
7+- [0_simple_model](./0_simple_model/README.md):演示任务捕获、模型运行实例创建和执行。
8+- [1_model_update](./1_model_update/README.md):演示对已捕获模型运行实例的任务更新。
9+- [2_model_switch](./2_model_switch/README.md):演示模型运行实例中的 Stream 绑定、跳转与切换。
@@ -3,18 +3,20 @@
3## 描述3## 描述
4本样例展示了两个Device、两个进程间的Notify共享,但在共享Notify时启用进程白名单校验。4本样例展示了两个Device、两个进程间的Notify共享,但在共享Notify时启用进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 推理系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-- 环境准备以及环境变量配置详情请见example目录下的[README](../../README.md)。16+- 环境准备以及环境变量配置详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -27,6 +29,9 @@ export SOC_VERSION=${ascend_name}
27# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
28# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
29export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
30```35```
31## CANN RUNTIME API36## CANN RUNTIME API
32在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -3,18 +3,20 @@
3## 描述3## 描述
4本样例展示了两个Device、两个进程间的Notify共享,但在共享Notify时关闭进程白名单校验。4本样例展示了两个Device、两个进程间的Notify共享,但在共享Notify时关闭进程白名单校验。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品 7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例在以下产品上的支持情况如下:
9-- Atlas 推理系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-- 环境准备以及环境变量配置详情请见example目录下的[README](../../README.md)。16+- 环境准备以及环境变量配置详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -27,6 +29,9 @@ export SOC_VERSION=${ascend_name}
27# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
28# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
29export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
30```35```
31## CANN RUNTIME API36## CANN RUNTIME API
32在该Sample中,涉及的关键功能点及其关键接口,如下所示:37在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -4,16 +4,20 @@
4- 该特性当前阶段为预留功能4- 该特性当前阶段为预留功能
5- 本样例展示在流间使用CntNotify进行同步的场景,包括创建、记录、等待、复位、获取ID和销毁的操作。5- 本样例展示在流间使用CntNotify进行同步的场景,包括创建、记录、等待、复位、获取ID和销毁的操作。
6 6 
7-## 支持的产品型号7+## 产品支持情况
8-- 该特性当前为试验阶段,暂未明确支持的产品型号8+ 
9+本样例在以下产品上的支持情况如下:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | x |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | x |
9 15 
10## 编译运行16## 编译运行
11-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。17+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
12 18 
13 19 
14-## 运行前环境变量20+运行步骤如下:
15- 
16-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
17 21 
18```bash22```bash
19# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -26,6 +30,9 @@ export SOC_VERSION=${ascend_name}
26# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake30# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
27# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径31# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
28export ASCENDC_CMAKE_DIR=${cmake_path}32export ASCENDC_CMAKE_DIR=${cmake_path}
33+ 
34+# 编译运行
35+bash run.sh
29```36```
30## CANN RUNTIME API37## CANN RUNTIME API
31在该Sample中,涉及的关键功能点及其关键接口,如下所示:38在该Sample中,涉及的关键功能点及其关键接口,如下所示:
@@ -52,4 +59,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
52 59 
53## 已知issue60## 已知issue
54 61 
55- 暂无62+ 暂无
@@ -0,0 +1,9 @@
1+# notify
2+ 
3+本目录聚焦 Notify、IPC Notify 和 CntNotify 的同步能力。
4+ 
5+## 样例列表
6+ 
7+- [0_ipc_notify_withpid](./0_ipc_notify_withpid/README.md):演示开启进程白名单校验的 IPC Notify 共享。
8+- [1_ipc_notify_withoutpid](./1_ipc_notify_withoutpid/README.md):演示关闭进程白名单校验的 IPC Notify 共享。
9+- [2_cntnotify](./2_cntnotify/README.md):演示流间 CntNotify 的记录、等待、复位和销毁。
@@ -4,6 +4,15 @@
4 4 
5本示例演示 TDT Buffer 的共享与链式组织能力,覆盖数据区、用户数据区和引用复制。5本示例演示 TDT Buffer 的共享与链式组织能力,覆盖数据区、用户数据区和引用复制。
6 6 
7+## 产品支持情况
8+ 
9+本样例在以下产品上的支持情况如下:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | x |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | x |
15+ 
7## 功能说明16## 功能说明
8 17 
9- 分配两个 Buffer 并写入各自的数据载荷。18- 分配两个 Buffer 并写入各自的数据载荷。
@@ -16,22 +25,37 @@
16 25 
17环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。26环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
18 27 
19-## 运行前环境变量28+运行步骤如下:
20- 
21-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
22 29 
23```bash30```bash
24# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录31# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
25source ${install_root}/cann/set_env.sh32source ${install_root}/cann/set_env.sh
26export ASCEND_INSTALL_PATH=${install_root}/cann33export ASCEND_INSTALL_PATH=${install_root}/cann
27-```
28-## 相关 API
29 34 
30-- acltdtAllocBuf / acltdtFreeBuf35+# 编译运行
31-- acltdtGetBufData / acltdtSetBufDataLen / acltdtGetBufDataLen36+bash run.sh
32-- acltdtSetBufUserData / acltdtGetBufUserData37+```
33-- acltdtCopyBufRef38+ 
34-- acltdtAppendBufChain / acltdtGetBufChainNum / acltdtGetBufFromChain39+## CANN RUNTIME API
40+ 
41+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
42+- 初始化
43+ - 调用aclInit接口初始化AscendCL配置。
44+ - 调用aclFinalize接口实现AscendCL去初始化。
45+- Device管理
46+ - 调用aclrtSetDevice接口指定用于运算的Device。
47+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
48+- Buffer分配与数据访问
49+ - 调用acltdtAllocBuf接口分配Buffer。
50+ - 调用acltdtGetBufData接口获取Buffer的数据地址和容量。
51+ - 调用acltdtSetBufDataLen和acltdtGetBufDataLen接口设置并读取Buffer的有效数据长度。
52+ - 调用acltdtFreeBuf接口释放Buffer。
53+- 用户数据管理
54+ - 调用acltdtSetBufUserData和acltdtGetBufUserData接口设置并读取Buffer的用户数据区元信息。
55+- Buffer引用与链式管理
56+ - 调用acltdtCopyBufRef接口复制Buffer引用。
57+ - 调用acltdtAppendBufChain接口把Buffer追加到链中。
58+ - 调用acltdtGetBufChainNum和acltdtGetBufFromChain接口读取Buffer链上的元素数量和指定位置元素。
35 59 
36## 已知 issue60## 已知 issue
37 61 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,6 +2,6 @@
2 2 
3本目录聚焦 TDT Buffer 的数据区、用户数据区和链式组织能力。3本目录聚焦 TDT Buffer 的数据区、用户数据区和链式组织能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_shared_buffer](./0_shared_buffer/README.md):演示 Buffer 分配、引用复制、链管理和用户元数据读写。7+- [0_shared_buffer](./0_shared_buffer/README.md):演示 Buffer 分配、引用复制、链管理和用户元数据读写。
@@ -4,6 +4,35 @@
4 4 
5本示例演示 TDT Channel 基础数据传输,覆盖 Channel、Dataset、DataItem 的创建、发送、接收和数据校验流程。5本示例演示 TDT Channel 基础数据传输,覆盖 Channel、Dataset、DataItem 的创建、发送、接收和数据校验流程。
6 6 
7+## 产品支持情况
8+ 
9+本样例关键接口在不同产品上的支持情况如下:
10+ 
11+| 接口 | Atlas A3 训练系列产品/Atlas A3 推理系列产品 | Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
12+| --- | --- | --- |
13+| acltdtCreateChannel | x | x |
14+| acltdtCreateDataItem | √ | √ |
15+| acltdtCreateDataset | √ | √ |
16+| acltdtAddDataItem | √ | √ |
17+| acltdtSendTensor | √ | √ |
18+| acltdtReceiveTensor | √ | √ |
19+| acltdtGetDataItem | √ | √ |
20+| acltdtGetDatasetSize | √ | √ |
21+| acltdtGetDataAddrFromItem | √ | √ |
22+| acltdtGetDataSizeFromItem | √ | √ |
23+| acltdtGetDataTypeFromItem | √ | √ |
24+| acltdtGetDimNumFromItem | √ | √ |
25+| acltdtGetDimsFromItem | √ | √ |
26+| acltdtGetTensorTypeFromItem | √ | √ |
27+| acltdtQueryChannelSize | √ | √ |
28+| acltdtStopChannel | √ | √ |
29+| acltdtCleanChannel | √ | √ |
30+| acltdtDestroyDataset | √ | √ |
31+| acltdtDestroyDataItem | √ | √ |
32+| acltdtDestroyChannel | √ | √ |
33+ 
34+如需在当前产品上体验 TDT Channel,可参考 [1_channel_capacity](../1_channel_capacity/README.md)。
35+ 
7## 功能说明36## 功能说明
8 37 
9- 创建一个 TDT Channel 并构造浮点 Tensor 对应的 DataItem。38- 创建一个 TDT Channel 并构造浮点 Tensor 对应的 DataItem。
@@ -15,25 +44,38 @@
15 44 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。45环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 46 
18-## 运行前环境变量47+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 48 
22```bash49```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录50# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh51source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann52export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 53 
29-- acltdtCreateChannel / acltdtDestroyChannel54+# 编译运行
30-- acltdtSendTensor / acltdtReceiveTensor55+bash run.sh
31-- acltdtCreateDataItem / acltdtDestroyDataItem56+```
32-- acltdtCreateDataset / acltdtDestroyDataset / acltdtAddDataItem57+ 
33-- acltdtGetDataItem / acltdtGetDatasetSize58+## CANN RUNTIME API
34-- acltdtGetDataAddrFromItem / acltdtGetDataSizeFromItem / acltdtGetDataTypeFromItem59+ 
35-- acltdtGetDimNumFromItem / acltdtGetDimsFromItem60+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
36-- acltdtQueryChannelSize / acltdtStopChannel / acltdtCleanChannel61+- 初始化
62+ - 调用aclInit接口初始化AscendCL配置。
63+ - 调用aclFinalize接口实现AscendCL去初始化。
64+- Device管理
65+ - 调用aclrtSetDevice接口指定用于运算的Device。
66+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
67+- Channel与Dataset创建
68+ - 调用acltdtCreateChannel接口创建TDT Channel。
69+ - 调用acltdtCreateDataItem接口基于Tensor数据构造DataItem。
70+ - 调用acltdtCreateDataset和acltdtAddDataItem接口封装Dataset。
71+- Tensor收发与信息查询
72+ - 调用acltdtSendTensor和acltdtReceiveTensor接口完成Dataset的发送和接收。
73+ - 调用acltdtGetDatasetSize和acltdtGetDataItem接口读取Dataset中的DataItem。
74+ - 调用acltdtGetDataAddrFromItem、acltdtGetDataSizeFromItem、acltdtGetDataTypeFromItem、acltdtGetTensorTypeFromItem、acltdtGetDimNumFromItem和acltdtGetDimsFromItem接口查看Tensor数据、数据类型和维度信息。
75+- Channel状态与资源释放
76+ - 调用acltdtQueryChannelSize接口查询Channel当前大小。
77+ - 调用acltdtStopChannel、acltdtCleanChannel和acltdtDestroyChannel接口停止、清理并销毁Channel。
78+ - 调用acltdtDestroyDataItem和acltdtDestroyDataset接口释放Dataset资源。
37 79 
38## 已知 issue80## 已知 issue
39 81 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -4,6 +4,15 @@
4 4 
5本示例演示带容量限制的 TDT Channel,重点观察容量查询、清理与停止操作,以及切片信息和 Tensor 类型查询。5本示例演示带容量限制的 TDT Channel,重点观察容量查询、清理与停止操作,以及切片信息和 Tensor 类型查询。
6 6 
7+## 产品支持情况
8+ 
9+本样例支持以下产品:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
15+ 
7## 功能说明16## 功能说明
8 17 
9- 创建一个容量为 1 的 Channel。18- 创建一个容量为 1 的 Channel。
@@ -16,22 +25,38 @@
16 25 
17环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。26环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
18 27 
19-## 运行前环境变量28+运行步骤如下:
20- 
21-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
22 29 
23```bash30```bash
24# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录31# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
25source ${install_root}/cann/set_env.sh32source ${install_root}/cann/set_env.sh
26export ASCEND_INSTALL_PATH=${install_root}/cann33export ASCEND_INSTALL_PATH=${install_root}/cann
27-```
28-## 相关 API
29 34 
30-- acltdtCreateChannelWithCapacity35+# 编译运行
31-- acltdtQueryChannelSize36+bash run.sh
32-- acltdtSendTensor37+```
33-- acltdtGetSliceInfoFromItem / acltdtGetTensorTypeFromItem / acltdtGetDatasetName38+ 
34-- acltdtCleanChannel / acltdtStopChannel / acltdtDestroyChannel39+## CANN RUNTIME API
40+ 
41+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
42+- 初始化
43+ - 调用aclInit接口初始化AscendCL配置。
44+ - 调用aclFinalize接口实现AscendCL去初始化。
45+- Device管理
46+ - 调用aclrtSetDevice接口指定用于运算的Device。
47+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
48+- 容量受限Channel创建
49+ - 调用acltdtCreateChannelWithCapacity接口创建带容量限制的Channel。
50+ - 调用acltdtCreateDataItem、acltdtCreateDataset和acltdtAddDataItem接口构造Dataset。
51+- Tensor发送与容量查询
52+ - 调用acltdtSendTensor接口发送Dataset,并观察容量受限时的返回结果。
53+ - 调用acltdtQueryChannelSize接口查询Channel当前大小。
54+- 附加信息查询
55+ - 调用acltdtGetDataItem和acltdtGetDatasetSize接口读取Dataset中的DataItem。
56+ - 调用acltdtGetSliceInfoFromItem、acltdtGetTensorTypeFromItem和acltdtGetDatasetName接口查看Slice信息、Tensor类型和Dataset名称。
57+- Channel清理与资源释放
58+ - 调用acltdtCleanChannel、acltdtStopChannel和acltdtDestroyChannel接口清理、停止并销毁Channel。
59+ - 调用acltdtDestroyDataItem和acltdtDestroyDataset接口释放Dataset资源。
35 60 
36## 已知 issue61## 已知 issue
37 62 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,7 +2,7 @@
2 2 
3本目录聚焦 TDT Channel 的基础数据传输与容量控制能力。3本目录聚焦 TDT Channel 的基础数据传输与容量控制能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7- [0_simple_channel](./0_simple_channel/README.md):演示 Channel、Dataset、DataItem 的构建、发送、接收与数据校验。7- [0_simple_channel](./0_simple_channel/README.md):演示 Channel、Dataset、DataItem 的构建、发送、接收与数据校验。
8-- [1_channel_capacity](./1_channel_capacity/README.md):演示带容量限制的 Channel、容量查询、清理与优雅停止。8+- [1_channel_capacity](./1_channel_capacity/README.md):演示带容量限制的 Channel、容量查询、清理与优雅停止。
@@ -4,6 +4,26 @@
4 4 
5本示例演示 TDT Queue 的基本队列能力,覆盖 QueueAttr 配置、Buffer 申请、入队和出队流程。5本示例演示 TDT Queue 的基本队列能力,覆盖 QueueAttr 配置、Buffer 申请、入队和出队流程。
6 6 
7+## 产品支持情况
8+ 
9+本样例关键接口在不同产品上的支持情况如下:
10+ 
11+| 接口 | Atlas A3 训练系列产品/Atlas A3 推理系列产品 | Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
12+| --- | --- | --- |
13+| acltdtCreateQueueAttr | √ | √ |
14+| acltdtSetQueueAttr | √ | √ |
15+| acltdtGetQueueAttr | √ | √ |
16+| acltdtCreateQueue | √ | √ |
17+| acltdtDestroyQueueAttr | √ | √ |
18+| acltdtDestroyQueue | √ | √ |
19+| acltdtAllocBuf | x | x |
20+| acltdtGetBufData | x | x |
21+| acltdtSetBufDataLen | x | x |
22+| acltdtGetBufDataLen | x | x |
23+| acltdtEnqueue | x | x |
24+| acltdtDequeue | x | x |
25+| acltdtFreeBuf | x | x |
26+ 
7## 功能说明27## 功能说明
8 28 
9- 创建 QueueAttr 并设置名称和深度。29- 创建 QueueAttr 并设置名称和深度。
@@ -15,22 +35,40 @@
15 35 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。36环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 37 
18-## 运行前环境变量38+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 39 
22```bash40```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录41# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh42source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann43export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 44 
29-- acltdtCreateQueue / acltdtDestroyQueue45+# 编译运行
30-- acltdtCreateQueueAttr / acltdtDestroyQueueAttr / acltdtSetQueueAttr / acltdtGetQueueAttr46+bash run.sh
31-- acltdtAllocBuf / acltdtFreeBuf47+```
32-- acltdtGetBufData / acltdtSetBufDataLen / acltdtGetBufDataLen48+ 
33-- acltdtEnqueue / acltdtDequeue49+## CANN RUNTIME API
50+ 
51+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
52+- 初始化
53+ - 调用aclInit接口初始化AscendCL配置。
54+ - 调用aclFinalize接口实现AscendCL去初始化。
55+- Device管理
56+ - 调用aclrtSetDevice接口指定用于运算的Device。
57+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
58+- Queue属性配置
59+ - 调用acltdtCreateQueueAttr接口创建Queue属性对象。
60+ - 调用acltdtSetQueueAttr接口设置Queue名称和深度。
61+ - 调用acltdtGetQueueAttr接口读取Queue属性中的名称和深度配置。
62+ - 调用acltdtDestroyQueueAttr接口销毁Queue属性对象。
63+- Queue与Buffer管理
64+ - 调用acltdtCreateQueue和acltdtDestroyQueue接口创建并销毁Queue。
65+ - 调用acltdtAllocBuf接口申请Buffer。
66+ - 调用acltdtGetBufData接口获取Buffer可写地址和容量。
67+ - 调用acltdtSetBufDataLen和acltdtGetBufDataLen接口设置并读取Buffer有效数据长度。
68+ - 调用acltdtFreeBuf接口释放Buffer。
69+- 数据收发
70+ - 调用acltdtEnqueue接口完成Buffer入队。
71+ - 调用acltdtDequeue接口完成Buffer出队。
34 72 
35## 已知 issue73## 已知 issue
36 74 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -4,6 +4,15 @@
4 4 
5本示例演示 TDT Queue 路由对象的创建、绑定、查询和解绑流程。5本示例演示 TDT Queue 路由对象的创建、绑定、查询和解绑流程。
6 6 
7+## 产品支持情况
8+ 
9+本样例支持以下产品:
10+ 
11+| 产品 | 是否支持 |
12+| --- | --- |
13+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
14+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
15+ 
7## 功能说明16## 功能说明
8 17 
9- 创建两个独立 Queue 作为路由源和目的。18- 创建两个独立 Queue 作为路由源和目的。
@@ -16,22 +25,44 @@
16 25 
17环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。26环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
18 27 
19-## 运行前环境变量28+运行步骤如下:
20- 
21-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
22 29 
23```bash30```bash
24-# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录31+# /usr/local/Ascend 替换为实际 CANN 安装根目录
25-source ${install_root}/cann/set_env.sh32+source /usr/local/Ascend/cann/set_env.sh
26-export ASCEND_INSTALL_PATH=${install_root}/cann33+export ASCEND_INSTALL_PATH=/usr/local/Ascend/cann
27-```
28-## 相关 API
29 34 
30-- acltdtCreateQueueRoute / acltdtDestroyQueueRoute35+# 编译运行
31-- acltdtCreateQueueRouteList / acltdtDestroyQueueRouteList36+bash run.sh
32-- acltdtAddQueueRoute / acltdtGetQueueRoute / acltdtGetQueueRouteNum / acltdtGetQueueRouteParam37+```
33-- acltdtBindQueueRoutes / acltdtUnbindQueueRoutes / acltdtQueryQueueRoutes38+ 
34-- acltdtCreateQueueRouteQueryInfo / acltdtDestroyQueueRouteQueryInfo / acltdtSetQueueRouteQueryInfo39+## CANN RUNTIME API
40+ 
41+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
42+ 
43+- 初始化
44+ - 调用 aclInit 接口初始化 AscendCL 配置。
45+ - 调用 aclFinalize 接口实现 AscendCL 去初始化。
46+- Device管理
47+ - 调用 aclrtSetDevice 接口指定用于运算的 Device。
48+ - 调用 aclrtResetDeviceForce 接口强制复位当前 Device,回收 Device 上的资源。
49+- Queue 创建与属性配置
50+ - 调用 acltdtCreateQueueAttr 接口创建 Queue 属性对象。
51+ - 调用 acltdtSetQueueAttr 接口设置 Queue 名称和深度。
52+ - 调用 acltdtCreateQueue 接口创建源 Queue 和目的 Queue。
53+ - 调用 acltdtDestroyQueueAttr 接口销毁 Queue 属性对象。
54+- Route 创建与绑定
55+ - 调用 acltdtCreateQueueRoute 接口创建路由对象。
56+ - 调用 acltdtCreateQueueRouteList 和 acltdtAddQueueRoute 接口组装路由列表。
57+ - 调用 acltdtBindQueueRoutes 接口将路由关系绑定到运行时。
58+- Route 查询与参数获取
59+ - 调用 acltdtCreateQueueRouteQueryInfo 和 acltdtSetQueueRouteQueryInfo 接口构造查询条件。
60+ - 调用 acltdtQueryQueueRoutes 接口查询匹配的路由列表。
61+ - 调用 acltdtGetQueueRouteNum、acltdtGetQueueRoute 和 acltdtGetQueueRouteParam 接口读取路由数量及路由参数。
62+- Route 解绑与资源释放
63+ - 调用 acltdtUnbindQueueRoutes 接口解除路由绑定。
64+ - 调用 acltdtDestroyQueueRouteList、acltdtDestroyQueueRouteQueryInfo 和 acltdtDestroyQueueRoute 接口释放路由相关对象。
65+ - 调用 acltdtDestroyQueue 接口销毁源 Queue 和目的 Queue。
35 66 
36## 已知 issue67## 已知 issue
37 68 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -4,6 +4,22 @@
4 4 
5本示例演示 TDT Queue 的权限授予与附加流程,并补充 EnqueueData / DequeueData 形式的数据收发。5本示例演示 TDT Queue 的权限授予与附加流程,并补充 EnqueueData / DequeueData 形式的数据收发。
6 6 
7+## 产品支持情况
8+ 
9+本样例关键接口在不同产品上的支持情况如下:
10+ 
11+| 接口 | Atlas A3 训练系列产品/Atlas A3 推理系列产品 | Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
12+| --- | --- | --- |
13+| acltdtCreateQueueAttr | √ | √ |
14+| acltdtSetQueueAttr | √ | √ |
15+| acltdtCreateQueue | √ | √ |
16+| acltdtDestroyQueueAttr | √ | √ |
17+| acltdtGrantQueue | x | x |
18+| acltdtAttachQueue | x | x |
19+| acltdtEnqueueData | √ | √ |
20+| acltdtDequeueData | √ | √ |
21+| acltdtDestroyQueue | √ | √ |
22+ 
7## 功能说明23## 功能说明
8 24 
9- 创建 Queue 后向当前进程授予管理、收发权限。25- 创建 Queue 后向当前进程授予管理、收发权限。
@@ -15,21 +31,39 @@
15 31 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。32环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 33 
18-## 运行前环境变量34+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 35 
22```bash36```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录37# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh38source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann39export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 40 
29-- acltdtGrantQueue / acltdtAttachQueue41+# 编译运行
30-- acltdtEnqueueData / acltdtDequeueData42+bash run.sh
31-- acltdtCreateQueue / acltdtDestroyQueue43+```
32-- acltdtCreateQueueAttr / acltdtDestroyQueueAttr / acltdtSetQueueAttr44+ 
45+## CANN RUNTIME API
46+ 
47+在该Sample中,涉及的关键功能点及其关键接口,如下所示:
48+- 初始化
49+ - 调用aclInit接口初始化AscendCL配置。
50+ - 调用aclFinalize接口实现AscendCL去初始化。
51+- Device管理
52+ - 调用aclrtSetDevice接口指定用于运算的Device。
53+ - 调用aclrtResetDeviceForce接口强制复位当前运算的Device,回收Device上的资源。
54+- Queue创建与属性配置
55+ - 调用acltdtCreateQueueAttr接口创建Queue属性对象。
56+ - 调用acltdtSetQueueAttr接口设置Queue名称和深度。
57+ - 调用acltdtCreateQueue接口创建Queue。
58+ - 调用acltdtDestroyQueueAttr接口销毁Queue属性对象。
59+- Queue授权与附加
60+ - 调用acltdtGrantQueue接口向当前进程授予Queue权限。
61+ - 调用acltdtAttachQueue接口附加到Queue并读取返回的权限掩码。
62+- 数据收发
63+ - 调用acltdtEnqueueData接口写入消息体和用户数据。
64+ - 调用acltdtDequeueData接口读取消息体和用户元数据。
65+- 资源释放
66+ - 调用acltdtDestroyQueue接口销毁Queue。
33 67 
34## 已知 issue68## 已知 issue
35 69 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,8 +2,8 @@
2 2 
3本目录聚焦 TDT Queue 的属性配置、路由管理以及授权附加能力。3本目录聚焦 TDT Queue 的属性配置、路由管理以及授权附加能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7- [0_simple_queue](./0_simple_queue/README.md):演示 QueueAttr、Buffer、入队和出队的基本流程。7- [0_simple_queue](./0_simple_queue/README.md):演示 QueueAttr、Buffer、入队和出队的基本流程。
8- [1_queue_route](./1_queue_route/README.md):演示队列路由的创建、绑定、查询和解绑。8- [1_queue_route](./1_queue_route/README.md):演示队列路由的创建、绑定、查询和解绑。
9-- [2_queue_grant_attach](./2_queue_grant_attach/README.md):演示队列权限授予、附加和数据收发。9+- [2_queue_grant_attach](./2_queue_grant_attach/README.md):演示队列权限授予、附加和数据收发。
@@ -2,14 +2,13 @@
2 2 
3本章节聚焦高级内存管理主题,强调更细粒度的内存控制、自定义分配与流序内存池能力。3本章节聚焦高级内存管理主题,强调更细粒度的内存控制、自定义分配与流序内存池能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7- [allocator](./allocator/README.md):自定义分配器描述符、注册与回调执行。7- [allocator](./allocator/README.md):自定义分配器描述符、注册与回调执行。
8 8 
9- 
10## 相关主题9## 相关主题
11 10 
12- [cache_maintenance](./cache_maintenance/README.md):缓存维护与一致性控制。11- [cache_maintenance](./cache_maintenance/README.md):缓存维护与一致性控制。
13- [host_register](./host_register/README.md):Host 内存注册与高性能传输。12- [host_register](./host_register/README.md):Host 内存注册与高性能传输。
14- [managed_memory](./managed_memory/README.md):托管内存与更高级内存抽象。13- [managed_memory](./managed_memory/README.md):托管内存与更高级内存抽象。
15-- [memory_pool](./memory_pool/README.md):流序内存池的创建、属性配置和异步分配释放。14+- [memory_pool](./memory_pool/README.md):流序内存池的创建、属性配置和异步分配释放。
@@ -11,26 +11,42 @@
11- 将 AllocatorDesc 绑定到 Stream,并通过 GetByStream 读回注册结果。11- 将 AllocatorDesc 绑定到 Stream,并通过 GetByStream 读回注册结果。
12- 调用回调执行一次实际的申请、取地址与释放。12- 调用回调执行一次实际的申请、取地址与释放。
13 13 
14+## 产品支持情况
15+ 
16+本样例支持以下产品:
17+ 
18+| 产品 | 是否支持 |
19+| --- | --- |
20+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
21+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
22+ 
14## 编译运行23## 编译运行
15 24 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。25环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 26 
18-## 运行前环境变量27+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 28 
22```bash29```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录30# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh31source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann32export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 33 
29-- aclrtAllocatorCreateDesc / aclrtAllocatorDestroyDesc34+# 编译运行
30-- aclrtAllocatorSetAllocFuncToDesc / aclrtAllocatorSetFreeFuncToDesc35+bash run.sh
31-- aclrtAllocatorSetAllocAdviseFuncToDesc / aclrtAllocatorSetGetAddrFromBlockFuncToDesc36+```
32-- aclrtAllocatorSetObjToDesc37+## CANN RUNTIME API
33-- aclrtAllocatorRegister / aclrtAllocatorUnregister / aclrtAllocatorGetByStream38+ 
39+在本样例中,涉及的关键功能点及其关键接口如下所示:
40+- 初始化与 Stream 管理
41+ - 调用 `aclInit``aclFinalize` 接口完成 ACL 初始化与去初始化。
42+ - 调用 `aclrtSetDevice``aclrtResetDeviceForce` 接口管理 Device。
43+ - 调用 `aclrtCreateStream``aclrtDestroyStream` 接口创建与释放 Stream。
44+- AllocatorDesc 描述符管理
45+ - 调用 `aclrtAllocatorCreateDesc``aclrtAllocatorDestroyDesc` 接口创建和销毁 AllocatorDesc。
46+ - 调用 `aclrtAllocatorSetObjToDesc``aclrtAllocatorSetAllocFuncToDesc``aclrtAllocatorSetFreeFuncToDesc``aclrtAllocatorSetAllocAdviseFuncToDesc``aclrtAllocatorSetGetAddrFromBlockFuncToDesc` 接口绑定自定义分配器对象与回调函数。
47+- Allocator 注册与查询
48+ - 调用 `aclrtAllocatorRegister``aclrtAllocatorUnregister` 接口完成自定义分配器的注册与注销。
49+ - 调用 `aclrtAllocatorGetByStream` 接口按 Stream 查询当前生效的 Allocator 配置。
34 50 
35## 已知 issue51## 已知 issue
36 52 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,6 +2,6 @@
2 2 
3本目录聚焦自定义分配器描述符、注册和回调函数绑定能力。3本目录聚焦自定义分配器描述符、注册和回调函数绑定能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_custom_allocator](./0_custom_allocator/README.md):演示自定义分配器回调的注册、查询和执行。7+- [0_custom_allocator](./0_custom_allocator/README.md):演示自定义分配器回调的注册、查询和执行。
@@ -2,7 +2,7 @@
2 2 
3本章节聚焦 Runtime 的可靠性能力,适合用于学习快照、溢出检测、错误恢复和容错执行等主题。3本章节聚焦 Runtime 的可靠性能力,适合用于学习快照、溢出检测、错误恢复和容错执行等主题。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7- [snapshot](./snapshot/README.md):运行时快照回调、备份和恢复流程。7- [snapshot](./snapshot/README.md):运行时快照回调、备份和恢复流程。
8- [overflow_detection](./overflow_detection/README.md):流级溢出检测开关、状态查询和重置。8- [overflow_detection](./overflow_detection/README.md):流级溢出检测开关、状态查询和重置。
@@ -10,4 +10,4 @@
10## 相关主题10## 相关主题
11 11 
12- [error_recovery](./error_recovery/README.md):运行时错误后的恢复与重试。12- [error_recovery](./error_recovery/README.md):运行时错误后的恢复与重试。
13-- [fault_tolerant](./fault_tolerant/README.md):容错执行与失败隔离。13+- [fault_tolerant](./fault_tolerant/README.md):容错执行与失败隔离。
@@ -11,24 +11,44 @@
11- 调用 ResetOverflowStatus 后再次查询状态。11- 调用 ResetOverflowStatus 后再次查询状态。
12- 销毁 Stream、Context 和状态缓存。12- 销毁 Stream、Context 和状态缓存。
13 13 
14+## 产品支持情况
15+ 
16+本样例支持以下产品:
17+ 
18+| 产品 | 是否支持 |
19+| --- | --- |
20+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
21+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
22+ 
14## 编译运行23## 编译运行
15 24 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。25环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 26 
18-## 运行前环境变量27+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 28 
22```bash29```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录30# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh31source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann32export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 33 
29-- aclrtSetStreamOverflowSwitch / aclrtGetStreamOverflowSwitch34+# 编译运行
30-- aclrtGetOverflowStatus / aclrtResetOverflowStatus35+bash run.sh
31-- aclrtMalloc / aclrtMemcpy / aclrtSynchronizeStream36+```
37+## CANN RUNTIME API
38+ 
39+在本样例中,涉及的关键功能点及其关键接口如下所示:
40+- 初始化与 Context/Stream 管理
41+ - 调用 `aclInit``aclFinalize` 接口完成 ACL 初始化与去初始化。
42+ - 调用 `aclrtSetDevice``aclrtResetDeviceForce` 接口管理 Device。
43+ - 调用 `aclrtCreateContext``aclrtDestroyContext` 接口创建和销毁 Context。
44+ - 调用 `aclrtCreateStream``aclrtSynchronizeStream``aclrtDestroyStream` 接口管理 Stream。
45+- 溢出检测状态管理
46+ - 调用 `aclrtSetStreamOverflowSwitch``aclrtGetStreamOverflowSwitch` 接口开启或查询 Stream 溢出检测开关。
47+ - 调用 `aclrtGetOverflowStatus` 接口获取当前溢出状态。
48+ - 调用 `aclrtResetOverflowStatus` 接口重置溢出状态。
49+- 内存管理与数据传输
50+ - 调用 `aclrtMalloc``aclrtFree` 接口管理状态缓存。
51+ - 调用 `aclrtMemcpy` 接口将状态数据同步到 Host 侧。
32 52 
33## 已知 issue53## 已知 issue
34 54 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -2,6 +2,6 @@
2 2 
3本目录聚焦流级溢出检测开关与状态管理能力。3本目录聚焦流级溢出检测开关与状态管理能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_overflow_detection](./0_overflow_detection/README.md):演示溢出检测开关、状态查询和重置流程。7+- [0_overflow_detection](./0_overflow_detection/README.md):演示溢出检测开关、状态查询和重置流程。
@@ -11,24 +11,41 @@
11- 再次加锁后执行恢复流程。11- 再次加锁后执行恢复流程。
12- 最后注销全部回调并完成资源释放。12- 最后注销全部回调并完成资源释放。
13 13 
14+## 产品支持情况
15+ 
16+本样例支持以下产品:
17+ 
18+| 产品 | 是否支持 |
19+| --- | --- |
20+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
21+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
22+ 
14## 编译运行23## 编译运行
15 24 
16环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。25环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
17 26 
18-## 运行前环境变量27+运行步骤如下:
19- 
20-运行 bash run.sh 前,请先在同一个 shell 中导入以下环境变量:
21 28 
22```bash29```bash
23# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录30# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
24source ${install_root}/cann/set_env.sh31source ${install_root}/cann/set_env.sh
25export ASCEND_INSTALL_PATH=${install_root}/cann32export ASCEND_INSTALL_PATH=${install_root}/cann
26-```
27-## 相关 API
28 33 
29-- aclrtSnapShotProcessLock / aclrtSnapShotProcessUnlock34+# 编译运行
30-- aclrtSnapShotProcessBackup / aclrtSnapShotProcessRestore35+bash run.sh
31-- aclrtSnapShotCallbackRegister / aclrtSnapShotCallbackUnregister36+```
37+## CANN RUNTIME API
38+ 
39+在本样例中,涉及的关键功能点及其关键接口如下所示:
40+- 初始化
41+ - 调用 `aclInit``aclFinalize` 接口完成 ACL 初始化与去初始化。
42+ - 调用 `aclrtSetDevice``aclrtResetDeviceForce` 接口管理 Device。
43+- 快照回调管理
44+ - 调用 `aclrtSnapShotCallbackRegister` 接口为 LOCK、BACKUP、RESTORE 和 UNLOCK 阶段注册快照回调。
45+ - 调用 `aclrtSnapShotCallbackUnregister` 接口注销快照回调。
46+- 快照备份与恢复
47+ - 调用 `aclrtSnapShotProcessLock``aclrtSnapShotProcessUnlock` 接口对快照流程进行加锁与解锁。
48+ - 调用 `aclrtSnapShotProcessBackup``aclrtSnapShotProcessRestore` 接口完成状态备份和恢复。
32 49 
33## 已知 issue50## 已知 issue
34 51 
@@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}"
32 32 
33echo "Build completed successfully!"33echo "Build completed successfully!"
34echo "Executable location: ${SCRIPT_DIR}/build/main"34echo "Executable location: ${SCRIPT_DIR}/build/main"
35-echo "Run the sample: ./build/main"35+echo "Run the sample: ./build/main"
36+./build/main
@@ -1,7 +1,7 @@
1# snapshot1# snapshot
2 2 
3-本目录聚焦运行时快照管理相关能力。3+本目录聚焦运行时快照回调、状态备份和恢复能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6 6 
7-- [0_snapshot_management](./0_snapshot_management/README.md):演示快照回调注册、备份恢复和解锁流程。7+- [0_snapshot_management](./0_snapshot_management/README.md):演示快照回调注册、备份恢复流程。
@@ -1,9 +1,8 @@
1-# 5_performance1+# 5_performance
2 2 
3本章节面向性能分析与精度调试,适合用于学习 Profiling 采集、性能标记以及 Dump 相关能力。3本章节面向性能分析与精度调试,适合用于学习 Profiling 采集、性能标记以及 Dump 相关能力。
4 4 
5-## 当前可运行样例5+## 样例列表
6- 
7-- [profiling](./profiling/):性能数据采集、解析与展示。
8-- [adump](./adump/README.md):按参数Dump、回调Dump、配置式Dump递进组织的 Dump 示例集合。
9 6 
7+- [profiling](./profiling/README.md):性能数据采集、解析与展示。
8+- [adump](./adump/README.md):按参数 Dump、回调 Dump、配置式 Dump 递进组织的 Dump 示例集合。
@@ -3,18 +3,20 @@
3## 描述3## 描述
4本用例展示了单算子执行场景下如何管理Dump算子信息,并将算子信息文件输出到path参数指定的目录,主线程中设置Device,一个shape对应一个算子信息文件,文件中包含算子类型、算子属性、算子输入&输出的format/数据类型/shape等信息。4本用例展示了单算子执行场景下如何管理Dump算子信息,并将算子信息文件输出到path参数指定的目录,主线程中设置Device,一个shape对应一个算子信息文件,文件中包含算子类型、算子属性、算子输入&输出的format/数据类型/shape等信息。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -27,6 +29,9 @@ export SOC_VERSION=${ascend_name}
27# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
28# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
29export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
30```35```
31## CANN RUNTIME API36## CANN RUNTIME API
32 37 
@@ -59,5 +64,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
59## 已知issue64## 已知issue
60 65 
61 暂无66 暂无
62- 
63- 
@@ -3,18 +3,20 @@
3## 描述3## 描述
4本用例展示了单算子执行场景下如何通过回调函数接收Dump数据块。示例会注册 `acldumpRegCallback` 回调,在回调中解析 `acldumpChunk` 的文件名、偏移、分块标记、flag 和数据预览,并输出汇总统计信息。4本用例展示了单算子执行场景下如何通过回调函数接收Dump数据块。示例会注册 `acldumpRegCallback` 回调,在回调中解析 `acldumpChunk` 的文件名、偏移、分块标记、flag 和数据预览,并输出汇总统计信息。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -27,6 +29,9 @@ export SOC_VERSION=${ascend_name}
27# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
28# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
29export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
30```35```
31## CANN RUNTIME API36## CANN RUNTIME API
32 37 
@@ -60,6 +65,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path}
60## 已知issue65## 已知issue
61 66 
62 暂无67 暂无
63- 
64- 
65- 
@@ -3,18 +3,20 @@
3## 描述3## 描述
4本用例展示了如何使用 `aclmdlInitDump``aclmdlSetDump``acldumpGetPath``aclmdlFinalizeDump` 这组模型级 Dump 配置接口,在单算子 API 场景下按配置文件启用 Dump,并查询当前生效的 Dump 输出路径。4本用例展示了如何使用 `aclmdlInitDump``aclmdlSetDump``acldumpGetPath``aclmdlFinalizeDump` 这组模型级 Dump 配置接口,在单算子 API 场景下按配置文件启用 Dump,并查询当前生效的 Dump 输出路径。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -27,6 +29,9 @@ export SOC_VERSION=${ascend_name}
27# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake29# 部分样例中涉及调用AscendC算子,需配置AscendC编译器ascendc.cmake所在的路径,如 ${install_root}/cann/aarch64-linux/tikcpp/ascendc_kernel_cmake
28# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径30# 可在CANN包安装路径下查找ascendc_kernel_cmake,例如find ./ -name ascendc_kernel_cmake,并将${cmake_path}替换为ascendc_kernel_cmake所在路径
29export ASCENDC_CMAKE_DIR=${cmake_path}31export ASCENDC_CMAKE_DIR=${cmake_path}
32+ 
33+# 编译运行
34+bash run.sh
30```35```
31## CANN RUNTIME API36## CANN RUNTIME API
32 37 
@@ -2,6 +2,8 @@
2 2 
3`adump` 目录聚焦 Dump 相关能力,当前按“参数Dump -> 回调Dump -> 配置式Dump”递进组织:3`adump` 目录聚焦 Dump 相关能力,当前按“参数Dump -> 回调Dump -> 配置式Dump”递进组织:
4 4 
5+## 样例列表
6+ 
5- [0_adump_args](./0_adump_args/README.md):使用 `aclopStartDumpArgs` / `aclopStopDumpArgs` 对单算子参数进行 Dump,并查询当前 Dump 输出路径。7- [0_adump_args](./0_adump_args/README.md):使用 `aclopStartDumpArgs` / `aclopStopDumpArgs` 对单算子参数进行 Dump,并查询当前 Dump 输出路径。
6- [1_adump_callback](./1_adump_callback/README.md):使用 `acldumpRegCallback` / `acldumpUnregCallback` 通过回调接收 Dump 数据,并演示 `acldumpChunk` 的基础解析。8- [1_adump_callback](./1_adump_callback/README.md):使用 `acldumpRegCallback` / `acldumpUnregCallback` 通过回调接收 Dump 数据,并演示 `acldumpChunk` 的基础解析。
7- [2_model_dump_config](./2_model_dump_config/README.md):使用 `aclmdlInitDump` / `aclmdlSetDump` / `acldumpGetPath` / `aclmdlFinalizeDump` 演示配置式 Dump。9- [2_model_dump_config](./2_model_dump_config/README.md):使用 `aclmdlInitDump` / `aclmdlSetDump` / `acldumpGetPath` / `aclmdlFinalizeDump` 演示配置式 Dump。
@@ -3,35 +3,42 @@
3## 描述3## 描述
4本样例展示了采集并落盘性能数据。通过调用API方式使能性能数据采集功能,从而自动采集性能原始数据。采集性能原始数据成功后,可将采集的原始数据拷贝到装有工具的开发环境上进行原始性能数据解析,可视化展示原始性能数据解析结果。4本样例展示了采集并落盘性能数据。通过调用API方式使能性能数据采集功能,从而自动采集性能原始数据。采集性能原始数据成功后,可将采集的原始数据拷贝到装有工具的开发环境上进行原始性能数据解析,可视化展示原始性能数据解析结果。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
13 17 
14 18 
15-## 运行前环境变量19+运行步骤如下:
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 20 
19```bash21```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录22# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
21source ${install_root}/cann/set_env.sh23source ${install_root}/cann/set_env.sh
22export ASCEND_INSTALL_PATH=${install_root}/cann24export ASCEND_INSTALL_PATH=${install_root}/cann
25+ 
26+# 编译运行
27+bash run.sh
23```28```
24## CANN RUNTIME API29## CANN RUNTIME API
25 30 
26-该sample中,涉及的关键功能点及其关键接口如下所示:31+本样例中,涉及的关键功能点及其关键接口如下所示:
27-- 调用aclprofInit接口初始化Profiling,目前用于设保存性能数据的文件的路径。32+- Profiling 初始化与配
28-- 调用aclprofCreateConfig接口创建采集配33+ - 调用 `aclprofInit` 接口初始化 Profiling 并设性能数据输出路径。
29-- 调用aclprofSetConfig接口,用于设置性能数据采集参数34+ - 调用 `aclprofCreateConfig` 接口创建采集配置
30-- 调用aclprofStart接口下发Profiling请求,使能对应数据的采集。35+ - 调用 `aclprofSetConfig` 接口设置采集参数
31-- 调用aclprofStop接口停止Profiling数据采集36+ - 调用 `aclprofDestroyConfig` 接口释放 Profiling 配置
32-- 调用aclprofFinalize接口结束Profiling。37+ - 调用 `aclprofFinalize` 接口结束 Profiling。
38+- Profiling 采集控制
39+ - 调用 `aclprofStart` 接口开启 Profiling 数据采集。
40+ - 调用 `aclprofStop` 接口停止 Profiling 数据采集。
33 41 
34## 已知issue42## 已知issue
35 43 
36 暂无44 暂无
37- 
@@ -3,17 +3,19 @@
3## 描述3## 描述
4本样例展示了使用 msproftx 扩展接口采集并落盘性能数据。除了瞬时事件 `aclprofMark` 外,还补充演示了 `aclprofPush` / `aclprofPop` 的嵌套范围标记,以及 `aclprofRangeStart` / `aclprofRangeStop` 的非嵌套范围标记,便于对照 NVTX 的常见使用模式。4本样例展示了使用 msproftx 扩展接口采集并落盘性能数据。除了瞬时事件 `aclprofMark` 外,还补充演示了 `aclprofPush` / `aclprofPop` 的嵌套范围标记,以及 `aclprofRangeStart` / `aclprofRangeStop` 的非嵌套范围标记,便于对照 NVTX 的常见使用模式。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见 example 目录下的 [README](../../README.md)。16+环境安装详情以及运行详情请见 example 目录下的 [README](../../../README.md)。
13 17 
14-## 运行前环境变量18+运行步骤如下:
15- 
16-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
17 19 
18```bash20```bash
19# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -22,18 +24,23 @@ export ASCEND_INSTALL_PATH=${install_root}/cann
22 24 
23# Profiling 样例的 run.sh 还会读取 ASCEND_HOME_PATH,请一并设置为同一路径25# Profiling 样例的 run.sh 还会读取 ASCEND_HOME_PATH,请一并设置为同一路径
24export ASCEND_HOME_PATH=${install_root}/cann26export ASCEND_HOME_PATH=${install_root}/cann
27+ 
28+# 编译运行
29+bash run.sh
25```30```
26 31 
27## CANN RUNTIME API32## CANN RUNTIME API
28 33 
29-该 sample 中,涉及的关键功能点及其关键接口如下所示:34+本样例中,涉及的关键功能点及其关键接口如下所示:
30-- `aclprofCreateStamp`:创建 msproftx 事件标记对象35+- msproftx 标记对象管理
31-- `aclprofSetStampTraceMessage`:为事件标记设置可读字符串描述36+ - 调用 `aclprofCreateStamp` 接口创建 msproftx 事件标记对象
32-- `aclprofMark`录瞬时事件37+ - 调用 `aclprofSetStampTraceMessage` 接口为标对象设置可读字符串描述
33-- `aclprofPush` / `aclprofPop`录嵌套范围,适合表达调用栈式的区间38+ - 调用 `aclprofDestroyStamp` 接口释放标对象
34-- `aclprofRangeStart` / `aclprofRangeStop`:录可跨作用域的区间。39+- 事件与范围标
35-- `aclprofDestroyStamp`:释放 msproftx 事件标记对象40+ - 调用 `aclprofMark` 接口记录瞬时事件。
41+ - 调用 `aclprofPush``aclprofPop` 接口记录嵌套范围。
42+ - 调用 `aclprofRangeStart``aclprofRangeStop` 接口记录非嵌套范围。
36 43 
37## 已知issue44## 已知issue
38 45 
39-暂无。46+暂无。
@@ -3,18 +3,19 @@
3## 描述3## 描述
4本样例展示了订阅算子信息。通过调用消息订阅接口实现将采集到的Profiling数据解析后写入管道,由用户读入内存,再由用户调用API获取性能数据。当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。4本样例展示了订阅算子信息。通过调用消息订阅接口实现将采集到的Profiling数据解析后写入管道,由用户读入内存,再由用户调用API获取性能数据。当前支持获取网络模型中算子的性能数据,包括算子名称、算子类型名称、算子执行时间等。
5 5 
6-## 支持的产品型号6+## 产品支持情况
7-- Atlas A3 训练系列产品/Atlas A3 推理系列产品7+ 
8-- Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件8+本样例支持以下产品
9-- Atlas 训练系列产品9+ 
10+| 产品 | 是否支持 |
11+| --- | --- |
12+| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
13+| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
10 14 
11## 编译运行15## 编译运行
12-环境安装详情以及运行详情请见example目录下的[README](../../README.md)。16+环境安装详情以及运行详情请见example目录下的[README](../../../README.md)。
13 17 
14- 18+运行步骤如下:
15-## 运行前环境变量
16- 
17-运行 `bash run.sh` 前,请先在同一个 shell 中导入以下环境变量:
18 19 
19```bash20```bash
20# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录21# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录
@@ -23,6 +24,9 @@ export ASCEND_INSTALL_PATH=${install_root}/cann
23 24 
24# Profiling 样例的 run.sh 还会读取 ASCEND_HOME_PATH,请一并设置为同一路径25# Profiling 样例的 run.sh 还会读取 ASCEND_HOME_PATH,请一并设置为同一路径
25export ASCEND_HOME_PATH=${install_root}/cann26export ASCEND_HOME_PATH=${install_root}/cann
27+ 
28+# 编译运行
29+bash run.sh
26```30```
27## CANN RUNTIME API31## CANN RUNTIME API
28 32 
@@ -42,4 +46,3 @@ export ASCEND_HOME_PATH=${install_root}/cann
42## 已知issue46## 已知issue
43 47 
44 暂无48 暂无
45- 
@@ -0,0 +1,9 @@
1+# profiling
2+ 
3+本目录聚焦 Profiling 的配置创建、msproftx 标记以及模型订阅能力。
4+ 
5+## 样例列表
6+ 
7+- [0_create_config](./0_create_config/README.md):演示 Profiling 配置创建、开启和停止采集。
8+- [1_msproftx](./1_msproftx/README.md):演示 msproftx 事件标记、嵌套范围和非嵌套范围标记。
9+- [2_subscribe_model](./2_subscribe_model/README.md):演示 Profiling 模型订阅和性能数据获取。