aclgrphBundleBuildModel
产品支持情况
头文件/库文件
- 头文件:#include <ge/ge_ir_build.h>
- 库文件:libge_compiler.so
功能说明
将输入的一组Graph编译为适配昇腾AI处理器的离线模型。
与aclgrphBuildModel接口的区别是,该接口适用于权重更新场景。通过aclgrphBundleBuildModel接口生成离线模型缓存后,需要使用aclgrphBundleSaveModel接口落盘。
函数原型
graphStatus aclgrphBundleBuildModel(const std::vector<ge::GraphWithOptions> &graph_with_options, ModelBufferData &model)
参数说明
待编译的一组图和编译参数。该入参为一个结构体,包括如下参数: struct GraphWithOptions {
ge::Graph graph;
std::map<AscendString, AscendString> build_options;
};
一组图包括:权重初始化图,权重更新图,推理图,其中只有推理图支持设置如下options参数。 可以通过传入options参数配置离线模型编译配置信息,当前支持的配置参数请参见aclgrphBuildModel支持的配置参数。配置举例: void PrepareOptions(std::map<AscendString, AscendString>& options) {
options.insert({
{ge::ir_option::EXEC_DISABLE_REUSED_MEMORY, "1"} // close reuse memory
});
}
|
||
编译生成的离线模型缓存。详情请参见ModelBufferData。 struct ModelBufferData
{
std::shared_ptr<uint8_t> data = nullptr;
uint64_t length;
};
|
返回值说明
约束说明
该接口内多个图如果涉及共享同名variable算子,接口内部会进行variable算子加速融合,建议通过aclgrphConvertToWeightRefreshableGraphs接口生成,否则可能会出现variable算子格式不一致的问题。
调用示例
完整调用示例请参见调用示例。