| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 |
0_context_query
描述
本样例演示如何在单 Device、单线程场景下创建 Context、设置当前线程 Context,并查询当前 Context、默认 Stream 和当前线程资源限制。
产品支持情况
本样例支持以下产品:
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
编译运行
- 下载样例代码至安装 CANN 软件的环境,切换到样例目录。
cd ${git_clone_path}/example/1_basic_features/context/0_context_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 去初始化。
- 调用
- Context 管理
- 调用
aclrtCreateContext接口创建 Context。 - 调用
aclrtSetCurrentContext接口设置当前线程 Context。 - 调用
aclrtGetCurrentContext接口查询当前线程 Context。 - 调用
aclrtCtxGetCurrentDefaultStream接口查询当前 Context 的默认 Stream。 - 调用
aclrtDestroyContext接口销毁 Context。
- 调用
- 资源限制查询
- 调用
aclrtGetResInCurrentThread接口查询当前线程资源限制。
- 调用
示例输出
样例运行成功时,输出如下:
[INFO] Get current context successfully
[INFO] Get current default stream successfully, stream=<stream_pointer>
[INFO] Get current thread cube core limit: <cube_core_limit>
[INFO] Get current thread vector core limit: <vector_core_limit>
[INFO] [SUCCESS] Context query sample completed successfully
[SUCCESS] Context query sample executed successfully.