AscendCL初始化与去初始化

关于AscendCL初始化与去初始化的接口调用流程,请参见主要接口调用流程

基本原理

您必须调用aclInit接口初始化AscendCL,配置文件内容为json格式,当前支持以下配置:

  • 如果当前的默认配置已满足需求,无需修改,可向aclInit接口中传入NULL,或者可将配置文件配置为空json串(即配置文件中只有{})。
    aclInit接口中传入空指针的示例如下:
    aclError ret = aclInit(NULL);

有初始化就有去初始化,在确定完成了AscendCL的所有调用之后,或者进程退出之前,需调用aclFinalize接口实现AscendCL去初始化。

示例代码

您可以从样例介绍中获取完整样例代码。

调用接口后,需增加异常处理的分支,并记录报错日志、提示日志,此处不一一列举。以下是关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。

//初始化
//此处的..表示相对路径,相对可执行文件所在的目录
//例如,编译出来的可执行文件存放在out目录下,此处的..就表示out目录的上一级目录
const char *aclConfigPath = "../src/acl.json";
aclError ret = aclInit(aclConfigPath);

//......

//去初始化
ret = aclFinalize();
//......

配置文件示例

算子缓存信息老化配置的相关约束说明如下:

配置文件中的示例内容如下:

{
        "max_opqueue_num": "10000"
}