已合并
优化example示例中 产品支持情况 描述 #1276
qiang_zq创建于 3月28日
优化example示例中 产品支持情况 描述 #1276
已合并
共 97 个文件变更+1285-662
| @@ -17,57 +17,59 @@ | |||
| 17 | 8. 同步等待计算完成并获取结果 | 17 | 8. 同步等待计算完成并获取结果 |
| 18 | 9. 销毁 `aclDataBuffer` 并释放资源 | 18 | 9. 销毁 `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 | ```bash | 36 | ```bash |
| 39 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 37 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 40 | source ${install_root}/cann/set_env.sh | 38 | source ${install_root}/cann/set_env.sh |
| 41 | export ASCEND_INSTALL_PATH=${install_root}/cann | 39 | export 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 | -## 相关 API | 49 | +## 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 | ## 核心 API | 74 | ## 核心 API |
| 73 | 75 | ||
| @@ -36,3 +36,4 @@ cd "${SCRIPT_DIR}" | |||
| 36 | echo "Build completed successfully!" | 36 | echo "Build completed successfully!" |
| 37 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 37 | echo "Executable location: ${SCRIPT_DIR}/build/main" |
| 38 | echo "Run the sample: ./build/main" | 38 | echo "Run the sample: ./build/main" |
| 39 | +./build/main | ||
| @@ -16,33 +16,45 @@ | |||
| 16 | 7. 使用 `aclrtGetErrorVerbose()` 查询更详细的设备错误摘要信息。 | 16 | 7. 使用 `aclrtGetErrorVerbose()` 查询更详细的设备错误摘要信息。 |
| 17 | 8. 再次读取错误信息,演示错误码和错误描述的清空语义。 | 17 | 8. 再次读取错误信息,演示错误码和错误描述的清空语义。 |
| 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 | ```bash | 34 | ```bash |
| 28 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 35 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 29 | source ${install_root}/cann/set_env.sh | 36 | source ${install_root}/cann/set_env.sh |
| 30 | export ASCEND_INSTALL_PATH=${install_root}/cann | 37 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 38 | + | ||
| 39 | +# 编译运行 | ||
| 40 | +bash run.sh | ||
| 31 | ``` | 41 | ``` |
| 32 | 42 | ||
| 33 | -## 相关 API | 43 | +## 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 | ## 已知 issue | 70 | ## 已知 issue |
| 59 | 71 | ||
| 60 | -暂无。 | 72 | +暂无。 |
| @@ -33,3 +33,4 @@ cd "${SCRIPT_DIR}" | |||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" |
| 35 | echo "Run the sample: ./build/main" | 35 | echo "Run the sample: ./build/main" |
| 36 | +./build/main | ||
| @@ -13,33 +13,43 @@ | |||
| 13 | 4. 调用 `aclFloatToFloat16` 和 `aclFloat16ToFloat` 演示 float16/float32 转换。 | 13 | 4. 调用 `aclFloatToFloat16` 和 `aclFloat16ToFloat` 演示 float16/float32 转换。 |
| 14 | 5. 调用 `aclDataTypeSize` 查询常见 `aclDataType` 的字节大小。 | 14 | 5. 调用 `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 | ```bash | 32 | ```bash |
| 26 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 33 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 27 | source ${install_root}/cann/set_env.sh | 34 | source ${install_root}/cann/set_env.sh |
| 28 | export ASCEND_INSTALL_PATH=${install_root}/cann | 35 | export 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}" | |||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" |
| 35 | echo "Run the sample: ./build/main" | 35 | echo "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 | ```bash | 22 | ```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 所在目录 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export 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 | ||
| 37 | bash run.sh | 34 | bash 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 | ## 已知 issue | 78 | ## 已知 issue |
| 66 | 79 | ||
| 67 | -暂无 | 80 | +暂无 |
| @@ -58,3 +58,4 @@ cd "${SCRIPT_DIR}" | |||
| 58 | echo "Build completed successfully!" | 58 | echo "Build completed successfully!" |
| 59 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 59 | echo "Executable location: ${SCRIPT_DIR}/build/main" |
| 60 | echo "Run the sample: ./build/main" | 60 | echo "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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 37 | ||
| @@ -53,4 +56,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 53 | ## 已知issue | 56 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 37 | ||
| @@ -65,4 +68,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 65 | ## 已知issue | 68 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 31 | ``` | 35 | ``` |
| 32 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 33 | 37 | ||
| @@ -54,4 +58,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 54 | ## 已知issue | 58 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 31 | ``` | 35 | ``` |
| 32 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 31 | ``` | 35 | ``` |
| 32 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 33 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -50,4 +54,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 50 | ## 已知issue | 54 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -51,4 +54,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 51 | 54 | ||
| 52 | ## 已知issue | 55 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -52,4 +55,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 52 | 55 | ||
| 53 | ## 已知issue | 56 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -50,4 +53,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 50 | 53 | ||
| 51 | ## 已知issue | 54 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 28 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 29 | ``` | 35 | ``` |
| 30 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 31 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -49,4 +55,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 49 | 55 | ||
| 50 | ## 已知issue | 56 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 34 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 37 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -68,4 +71,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 68 | ## 已知issue | 71 | ## 已知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_features | 1 | # 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 | ```bash | 22 | ```bash |
| 21 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 22 | source ${install_root}/cann/set_env.sh | 24 | source ${install_root}/cann/set_env.sh |
| 23 | export ASCEND_INSTALL_PATH=${install_root}/cann | 25 | export 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 | ## 核心 API | 52 | ## 核心 API |
| 42 | 53 | ||
| @@ -61,4 +72,4 @@ ACL_RT_MEMCPY_SDMA_AUTOMATIC_SUM // 自动求和(前缀和) | |||
| 61 | 72 | ||
| 62 | ## 已知issue | 73 | ## 已知issue |
| 63 | 74 | ||
| 64 | - 暂无 | 75 | + 暂无 |
| @@ -38,4 +38,5 @@ cd "${SCRIPT_DIR}" | |||
| 38 | 38 | ||
| 39 | echo "Build completed successfully!" | 39 | echo "Build completed successfully!" |
| 40 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 40 | echo "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 | ```bash | 22 | ```bash |
| 21 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 22 | source ${install_root}/cann/set_env.sh | 24 | source ${install_root}/cann/set_env.sh |
| 23 | export ASCEND_INSTALL_PATH=${install_root}/cann | 25 | export 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 | ## 核心 API | 51 | ## 核心 API |
| 42 | 52 | ||
| @@ -122,7 +132,6 @@ typedef struct { | |||
| 122 | 2. **输出内存**: 根据数据类型和随机数数量动态分配 | 132 | 2. **输出内存**: 根据数据类型和随机数数量动态分配 |
| 123 | 3. **参数内存**: 均值、标准差、范围等参数可使用立即值或设备内存 | 133 | 3. **参数内存**: 均值、标准差、范围等参数可使用立即值或设备内存 |
| 124 | 134 | ||
| 125 | - | ||
| 126 | ## 已知issue | 135 | ## 已知issue |
| 127 | 136 | ||
| 128 | 暂无 | 137 | 暂无 |
| @@ -38,4 +38,5 @@ cd "${SCRIPT_DIR}" | |||
| 38 | 38 | ||
| 39 | echo "Build completed successfully!" | 39 | echo "Build completed successfully!" |
| 40 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 40 | echo "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 | ```bash | 26 | ```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_cmake | 34 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 36 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 37 | + | ||
| 38 | +# 编译运行 | ||
| 39 | +bash run.sh | ||
| 31 | ``` | 40 | ``` |
| 32 | 41 | ||
| 33 | ## CANN RUNTIME API | 42 | ## CANN RUNTIME API |
| @@ -50,4 +59,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 50 | 59 | ||
| 51 | ## 已知 issue | 60 | ## 已知 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 20 | ```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_cmake | 28 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 30 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 31 | + | ||
| 32 | +# 编译运行 | ||
| 33 | +bash run.sh | ||
| 31 | ``` | 34 | ``` |
| 32 | 35 | ||
| 33 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| @@ -60,4 +63,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 60 | 63 | ||
| 61 | ## 已知 issue | 64 | ## 已知 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 | ```bash | 29 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 30 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 31 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 32 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 33 | ||
| 29 | -- aclrtCreateGroupInfo / aclrtDestroyGroupInfo | 34 | +# 编译运行 |
| 30 | -- aclrtSetGroup / aclrtGetGroupCount | 35 | +bash run.sh |
| 31 | -- aclrtGetAllGroupInfo / aclrtGetGroupInfoDetail | 36 | +``` |
| 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 | ## 已知 issue | 56 | ## 已知 issue |
| 34 | 57 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 31 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 32 | ``` | 35 | ``` |
| 33 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 29 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 30 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 31 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 32 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 33 | ||
| 29 | -- aclrtCreateLabel / aclrtDestroyLabel / aclrtSetLabel | 34 | +# 编译运行 |
| 30 | -- aclrtCreateLabelList / aclrtDestroyLabelList | 35 | +bash run.sh |
| 31 | -- aclrtSwitchLabelByIndex | 36 | +``` |
| 32 | -- aclrtMalloc / aclrtMemcpy / aclrtSynchronizeStream | 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 | +- 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 | ## 已知 issue | 64 | ## 已知 issue |
| 35 | 65 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | # label | 1 | # 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 | ```bash | 21 | ```bash |
| 19 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 22 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 20 | source ${install_root}/cann/set_env.sh | 23 | source ${install_root}/cann/set_env.sh |
| 21 | export ASCEND_INSTALL_PATH=${install_root}/cann | 24 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 25 | + | ||
| 26 | +# 编译运行 | ||
| 27 | +bash run.sh | ||
| 22 | ``` | 28 | ``` |
| 23 | ## CANN RUNTIME API | 29 | ## 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 | ```bash | 21 | ```bash |
| 19 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 22 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 20 | source ${install_root}/cann/set_env.sh | 23 | source ${install_root}/cann/set_env.sh |
| 21 | export ASCEND_INSTALL_PATH=${install_root}/cann | 24 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 25 | + | ||
| 26 | +# 编译运行 | ||
| 27 | +bash run.sh | ||
| 22 | ``` | 28 | ``` |
| 23 | ## CANN RUNTIME API | 29 | ## 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 | ```bash | 27 | ```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_cmake | 35 | # 部分样例中涉及调用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所在路径 |
| 30 | export ASCENDC_CMAKE_DIR=${cmake_path} | 37 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 38 | + | ||
| 39 | +# 编译运行 | ||
| 40 | +bash run.sh | ||
| 31 | ``` | 41 | ``` |
| 32 | ## CANN RUNTIME API | 42 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 29 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 30 | ``` | 35 | ``` |
| 31 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 29 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 30 | ``` | 35 | ``` |
| 31 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 22 | ```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_cmake | 30 | # 部分样例中涉及调用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所在路径 |
| 28 | export ASCENDC_CMAKE_DIR=${cmake_path} | 32 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 33 | + | ||
| 34 | +# 编译运行 | ||
| 35 | +bash run.sh | ||
| 29 | ``` | 36 | ``` |
| 30 | ## CANN RUNTIME API | 37 | ## CANN RUNTIME API |
| 31 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: | 38 | 在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| @@ -52,4 +59,4 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 52 | 59 | ||
| 53 | ## 已知issue | 60 | ## 已知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 的记录、等待、复位和销毁。 | ||
| @@ -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 | ```bash | 49 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 50 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 51 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 52 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 53 | ||
| 29 | -- acltdtCreateChannel / acltdtDestroyChannel | 54 | +# 编译运行 |
| 30 | -- acltdtSendTensor / acltdtReceiveTensor | 55 | +bash run.sh |
| 31 | -- acltdtCreateDataItem / acltdtDestroyDataItem | 56 | +``` |
| 32 | -- acltdtCreateDataset / acltdtDestroyDataset / acltdtAddDataItem | 57 | + |
| 33 | -- acltdtGetDataItem / acltdtGetDatasetSize | 58 | +## CANN RUNTIME API |
| 34 | -- acltdtGetDataAddrFromItem / acltdtGetDataSizeFromItem / acltdtGetDataTypeFromItem | 59 | + |
| 35 | -- acltdtGetDimNumFromItem / acltdtGetDimsFromItem | 60 | +在该Sample中,涉及的关键功能点及其关键接口,如下所示: |
| 36 | -- acltdtQueryChannelSize / acltdtStopChannel / acltdtCleanChannel | 61 | +- 初始化 |
| 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 | ## 已知 issue | 80 | ## 已知 issue |
| 39 | 81 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 30 | ```bash |
| 24 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 31 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 25 | source ${install_root}/cann/set_env.sh | 32 | source ${install_root}/cann/set_env.sh |
| 26 | export ASCEND_INSTALL_PATH=${install_root}/cann | 33 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 27 | -``` | ||
| 28 | -## 相关 API | ||
| 29 | 34 | ||
| 30 | -- acltdtCreateChannelWithCapacity | 35 | +# 编译运行 |
| 31 | -- acltdtQueryChannelSize | 36 | +bash run.sh |
| 32 | -- acltdtSendTensor | 37 | +``` |
| 33 | -- acltdtGetSliceInfoFromItem / acltdtGetTensorTypeFromItem / acltdtGetDatasetName | 38 | + |
| 34 | -- acltdtCleanChannel / acltdtStopChannel / acltdtDestroyChannel | 39 | +## 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 | ## 已知 issue | 61 | ## 已知 issue |
| 37 | 62 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 40 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 41 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 42 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 43 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 44 | ||
| 29 | -- acltdtCreateQueue / acltdtDestroyQueue | 45 | +# 编译运行 |
| 30 | -- acltdtCreateQueueAttr / acltdtDestroyQueueAttr / acltdtSetQueueAttr / acltdtGetQueueAttr | 46 | +bash run.sh |
| 31 | -- acltdtAllocBuf / acltdtFreeBuf | 47 | +``` |
| 32 | -- acltdtGetBufData / acltdtSetBufDataLen / acltdtGetBufDataLen | 48 | + |
| 33 | -- acltdtEnqueue / acltdtDequeue | 49 | +## 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 | ## 已知 issue | 73 | ## 已知 issue |
| 36 | 74 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 30 | ```bash |
| 24 | -# ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 31 | +# 将 /usr/local/Ascend 替换为实际 CANN 安装根目录 |
| 25 | -source ${install_root}/cann/set_env.sh | 32 | +source /usr/local/Ascend/cann/set_env.sh |
| 26 | -export ASCEND_INSTALL_PATH=${install_root}/cann | 33 | +export ASCEND_INSTALL_PATH=/usr/local/Ascend/cann |
| 27 | -``` | ||
| 28 | -## 相关 API | ||
| 29 | 34 | ||
| 30 | -- acltdtCreateQueueRoute / acltdtDestroyQueueRoute | 35 | +# 编译运行 |
| 31 | -- acltdtCreateQueueRouteList / acltdtDestroyQueueRouteList | 36 | +bash run.sh |
| 32 | -- acltdtAddQueueRoute / acltdtGetQueueRoute / acltdtGetQueueRouteNum / acltdtGetQueueRouteParam | 37 | +``` |
| 33 | -- acltdtBindQueueRoutes / acltdtUnbindQueueRoutes / acltdtQueryQueueRoutes | 38 | + |
| 34 | -- acltdtCreateQueueRouteQueryInfo / acltdtDestroyQueueRouteQueryInfo / acltdtSetQueueRouteQueryInfo | 39 | +## 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 | ## 已知 issue | 67 | ## 已知 issue |
| 37 | 68 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 36 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 37 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 38 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 39 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 40 | ||
| 29 | -- acltdtGrantQueue / acltdtAttachQueue | 41 | +# 编译运行 |
| 30 | -- acltdtEnqueueData / acltdtDequeueData | 42 | +bash run.sh |
| 31 | -- acltdtCreateQueue / acltdtDestroyQueue | 43 | +``` |
| 32 | -- acltdtCreateQueueAttr / acltdtDestroyQueueAttr / acltdtSetQueueAttr | 44 | + |
| 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 | ## 已知 issue | 68 | ## 已知 issue |
| 35 | 69 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 29 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 30 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 31 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 32 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 33 | ||
| 29 | -- aclrtAllocatorCreateDesc / aclrtAllocatorDestroyDesc | 34 | +# 编译运行 |
| 30 | -- aclrtAllocatorSetAllocFuncToDesc / aclrtAllocatorSetFreeFuncToDesc | 35 | +bash run.sh |
| 31 | -- aclrtAllocatorSetAllocAdviseFuncToDesc / aclrtAllocatorSetGetAddrFromBlockFuncToDesc | 36 | +``` |
| 32 | -- aclrtAllocatorSetObjToDesc | 37 | +## CANN RUNTIME API |
| 33 | -- aclrtAllocatorRegister / aclrtAllocatorUnregister / aclrtAllocatorGetByStream | 38 | + |
| 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 | ## 已知 issue | 51 | ## 已知 issue |
| 36 | 52 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 29 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 30 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 31 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 32 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 33 | ||
| 29 | -- aclrtSetStreamOverflowSwitch / aclrtGetStreamOverflowSwitch | 34 | +# 编译运行 |
| 30 | -- aclrtGetOverflowStatus / aclrtResetOverflowStatus | 35 | +bash run.sh |
| 31 | -- aclrtMalloc / aclrtMemcpy / aclrtSynchronizeStream | 36 | +``` |
| 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 | ## 已知 issue | 53 | ## 已知 issue |
| 34 | 54 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | ```bash | 29 | ```bash |
| 23 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 30 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 24 | source ${install_root}/cann/set_env.sh | 31 | source ${install_root}/cann/set_env.sh |
| 25 | export ASCEND_INSTALL_PATH=${install_root}/cann | 32 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 26 | -``` | ||
| 27 | -## 相关 API | ||
| 28 | 33 | ||
| 29 | -- aclrtSnapShotProcessLock / aclrtSnapShotProcessUnlock | 34 | +# 编译运行 |
| 30 | -- aclrtSnapShotProcessBackup / aclrtSnapShotProcessRestore | 35 | +bash run.sh |
| 31 | -- aclrtSnapShotCallbackRegister / aclrtSnapShotCallbackUnregister | 36 | +``` |
| 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 | ## 已知 issue | 50 | ## 已知 issue |
| 34 | 51 | ||
| @@ -32,4 +32,5 @@ cd "${SCRIPT_DIR}" | |||
| 32 | 32 | ||
| 33 | echo "Build completed successfully!" | 33 | echo "Build completed successfully!" |
| 34 | echo "Executable location: ${SCRIPT_DIR}/build/main" | 34 | echo "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 | # snapshot | 1 | # 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_performance | 1 | +# 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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 29 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 30 | ``` | 35 | ``` |
| 31 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 32 | 37 | ||
| @@ -59,5 +64,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 59 | ## 已知issue | 64 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 29 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 30 | ``` | 35 | ``` |
| 31 | ## CANN RUNTIME API | 36 | ## CANN RUNTIME API |
| 32 | 37 | ||
| @@ -60,6 +65,3 @@ export ASCENDC_CMAKE_DIR=${cmake_path} | |||
| 60 | ## 已知issue | 65 | ## 已知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 | ```bash | 21 | ```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_cmake | 29 | # 部分样例中涉及调用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所在路径 |
| 29 | export ASCENDC_CMAKE_DIR=${cmake_path} | 31 | export ASCENDC_CMAKE_DIR=${cmake_path} |
| 32 | + | ||
| 33 | +# 编译运行 | ||
| 34 | +bash run.sh | ||
| 30 | ``` | 35 | ``` |
| 31 | ## CANN RUNTIME API | 36 | ## 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 | ```bash | 21 | ```bash |
| 20 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 | 22 | # ${install_root} 替换为 CANN 安装根目录,默认安装在`/usr/local/Ascend`目录 |
| 21 | source ${install_root}/cann/set_env.sh | 23 | source ${install_root}/cann/set_env.sh |
| 22 | export ASCEND_INSTALL_PATH=${install_root}/cann | 24 | export ASCEND_INSTALL_PATH=${install_root}/cann |
| 25 | + | ||
| 26 | +# 编译运行 | ||
| 27 | +bash run.sh | ||
| 23 | ``` | 28 | ``` |
| 24 | ## CANN RUNTIME API | 29 | ## 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 | ## 已知issue | 42 | ## 已知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 | ```bash | 20 | ```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,请一并设置为同一路径 |
| 24 | export ASCEND_HOME_PATH=${install_root}/cann | 26 | export ASCEND_HOME_PATH=${install_root}/cann |
| 27 | + | ||
| 28 | +# 编译运行 | ||
| 29 | +bash run.sh | ||
| 25 | ``` | 30 | ``` |
| 26 | 31 | ||
| 27 | ## CANN RUNTIME API | 32 | ## 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 | ## 已知issue | 44 | ## 已知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 | ```bash | 20 | ```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,请一并设置为同一路径 |
| 25 | export ASCEND_HOME_PATH=${install_root}/cann | 26 | export ASCEND_HOME_PATH=${install_root}/cann |
| 27 | + | ||
| 28 | +# 编译运行 | ||
| 29 | +bash run.sh | ||
| 26 | ``` | 30 | ``` |
| 27 | ## CANN RUNTIME API | 31 | ## CANN RUNTIME API |
| 28 | 32 | ||
| @@ -42,4 +46,3 @@ export ASCEND_HOME_PATH=${install_root}/cann | |||
| 42 | ## 已知issue | 46 | ## 已知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 模型订阅和性能数据获取。 | ||