| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
3_stream_config_query
描述
本样例演示如何使用 Stream 配置对象创建 Stream,并查询创建后的 Stream ID、Flag 和 Priority。样例在单 Device 上运行,用于展示配置化 Stream 创建和属性查询的基础流程。
产品支持情况
本样例支持以下产品:
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
编译运行
- 下载样例代码至安装 CANN 软件的环境,切换到样例目录。
cd ${git_clone_path}/example/1_basic_features/stream/3_stream_config_query
- 设置环境变量。
# ${install_root} 替换为 CANN 安装根目录,默认安装在 `/usr/local/Ascend` 目录
source ${install_root}/cann/set_env.sh
- 执行以下命令运行样例。
bash run.sh
CANN RUNTIME API
在该 Sample 中,涉及的关键功能点及其关键接口如下所示:
- 初始化与 Device 管理
- 调用
aclInit接口完成 ACL 初始化。 - 调用
aclrtSetDevice接口指定用于运算的 Device。 - 调用
aclrtResetDeviceForce接口复位当前 Device。 - 调用
aclFinalize接口完成 ACL 去初始化。
- 调用
- Stream 配置与创建
- 调用
aclrtCreateStreamConfigHandle接口创建 Stream 配置对象。 - 调用
aclrtSetStreamConfigOpt接口设置 Stream 配置属性。 - 调用
aclrtCreateStreamV2接口根据配置对象创建 Stream。 - 调用
aclrtDestroyStreamConfigHandle接口销毁 Stream 配置对象。
- 调用
- Stream 查询与同步
- 调用
aclrtStreamGetId接口查询 Stream ID。 - 调用
aclrtStreamGetFlags接口查询 Stream Flag。 - 调用
aclrtStreamGetPriority接口查询 Stream Priority。 - 调用
aclrtSynchronizeStream接口等待 Stream 上任务完成。 - 调用
aclrtDestroyStream接口销毁 Stream。
- 调用
示例输出
[INFO] Create stream config handle successfully
[INFO] Set stream config flags=0 priority=0
[INFO] Create stream with config successfully
[INFO] Stream id: 1
[INFO] Stream flags: 0
[INFO] Stream priority: 0
[INFO] [SUCCESS] Stream config query sample completed successfully
[SUCCESS] Stream config query sample executed successfully.
如果当前 Runtime 库未导出完整的 Stream Config API,样例会打印跳过信息并正常退出:
[WARN] Symbol aclrtCreateStreamConfigHandle is not exported by the current Runtime library.
[INFO] [SKIP] Stream config query sample skipped because the current Runtime library does not export all stream config APIs.
[SUCCESS] Stream config query sample skipped because the current environment does not support stream config.