CompileGraph
函数功能
同步编译指定id对应的Graph图。与BuildGraph相比,该接口仅包含图编译功能,不生成可用于执行的模型,BuildGraph包含了图编译过程,并在编译完成后进行模型所需内存资源的初始化,生成可用于执行的模型。
该接口不包含模型所需内存资源管理功能,而是将这部分管理内存的工作开放给用户。您可以配合编译后Graph资源占用查询接口、内存的基地址刷新接口来使用,达到自行管理模型内存、获得更多灵活性的目的。
您可以在调用该接口后,调用GetCompiledGraphSummary获取图编译结果的概要信息(比如模型执行所需的内存资源大小及内存是否可刷新、复用等),根据查询到的内存大小,自行申请并管理内存;然后通过SetGraphConstMemoryBase、 UpdateGraphFeatureMemoryBase对内存基址进行设置和刷新。
函数原型
Status CompileGraph(uint32_t graph_id);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
graph_id |
输入 |
子图对应的id。 |
返回值
参数名 |
类型 |
描述 |
---|---|---|
- |
Status |
SUCCESS:编译子图成功。 FAILED:编译子图失败。 PARAM_INVALID:编译子图时,输入graph信息异常。 |
约束说明
- 该接口只能与RunGraphWithStreamAsync或ExecuteGraphWithStreamAsync接口配合使用,不支持与RunGraph、RunGraphAsync接口配合使用。
- 包含Variable算子的图不支持使用该接口。
父主题: Graph运行接口