关于AscendCL初始化与去初始化的接口调用流程,请参见主要接口调用流程。
您必须调用aclInit接口初始化AscendCL,配置文件内容为json格式,当前支持以下配置:
有初始化就有去初始化,在确定完成了AscendCL的所有调用之后,或者进程退出之前,需调用aclFinalize接口实现AscendCL去初始化。
您可以从样例介绍中获取完整样例代码。
调用接口后,需增加异常处理的分支,并记录报错日志、提示日志,此处不一一列举。以下是关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。
//初始化 //此处的..表示相对路径,相对可执行文件所在的目录 //例如,编译出来的可执行文件存放在out目录下,此处的..就表示out目录的上一级目录 const char *aclConfigPath = "../src/acl.json"; aclError ret = aclInit(aclConfigPath); //...... //去初始化 ret = aclFinalize(); //......
算子缓存信息老化配置的相关约束说明如下:
如果用户调用aclopCompile接口编译算子、调用aclopExecute接口或aclopExecuteV2接口执行算子,则在编译算子后需及时执行算子,否则可能导致执行算子时,算子信息已被老化,需要重新编译。建议调用aclopCompileAndExecute接口编译执行算子。
配置文件中的示例内容如下:
{ "max_opqueue_num": "10000" }