news 2026/9/10 2:00:39

CANN/ge图编译缓存功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ge图编译缓存功能

图编译缓存

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

图编译缓存功能支持将图编译结果进行磁盘持久化,从而在应用程序重新运行时可直接加载磁盘上缓存的编译结果。在编译并运行Graph过程中,为了减少图编译时长,可以开启图编译缓存功能。

Atlas 200I/500 A2 推理产品不支持该特性。

使用约束

  • 根据options参数中的ge.graph_compiler_cache_dir和ge.graph_key确定缓存文件,缓存文件不存在则保存缓存,缓存文件存在则直接加载缓存。ge.graph_compiler_cache_dir和ge.graph_key同时配置非空时该功能生效。
  • ge.graph_compiler_cache_dir指定的缓存目录必须存在,否则会导致编译失败。
  • ge.graph_key由用户保证其唯一性,否则,在相同ge.graph_key的缓存已存在的情况下,会直接加载对应的缓存。
  • 多进程场景下如果不同的图使用了相同的graph key和cache dir,后触发缓存的图将不会实际编译,而是加载先缓存的图。
  • 图发生变化后,原来的缓存文件不可用,用户需要手动删除缓存目录中的缓存文件或者修改ge.graph_key,重新编译生成缓存文件。
  • 跨版本的缓存无法保证兼容性,如果版本升级,需要清理缓存目录重新编译生成缓存。

使用方法

std::map<ge::AscendString, ge::AscendString> session_options = {{"ge.graph_compiler_cache_dir", "./build_cache_dir"}}; std::shared_ptr<ge::GeSession> session = std::make_shared<ge::GeSession>(session_options); const auto graph = CreateGraph(); std::map<ge::AscendString, ge::AscendString> graph_options = {{"ge.graph_key", "test_graph_001"}}; ge::Status ret = session->AddGraph(0, graph, graph_options); ...

缓存文件生成规则

生成文件包括:

  • 模型缓存文件

  • 索引文件,便于用户通过graph_key快速找到对应的缓存文件,索引文件内容示例如下:

    { "cache_file_list":[ { "cache_file_name":"./cache_dir/graph_$key1_20230117202307.om", "graph_key":"graph_$key1", "var_desc_file_name":"./cache_dir/graph_$key1_20230117202307.rdcpkt" }, { "cache_file_name":"./cache_dir/graph_$key1_20230117203007.om", "graph_key":"graph_$key1", "var_desc_file_name":"./cache_dir/graph_$key1_20230117203007.rdcpkt" } ] }
  • 变量格式文件,仅在图中存在变量时生成。用于框架匹配模型缓存文件,如果graph_key对应的图内变量格式发生变更,则之前缓存的缓存文件将无法直接恢复使用,该场景下会重新触发编译流程重新生成缓存文件。

  • 如果开启了权重外置功能,即options选项中配置了ge.externalWeight参数,并且设置为1,则在ge.graph_compiler_cache_dir参数指定路径下还会生成weight目录,用于保存原始网络中的Const/Constant节点的权重信息。

文件名生成规则:

  • 索引文件命名为:ge.graph_key + “.idx”。
  • 模型缓存文件命名为: ge.graph_key + 时间戳 + “.om”。
  • 变量格式文件命名为: ge.graph_key + 时间戳 + “.rdcpkt”。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 2:00:21

H.264视频编码核心原理与工程实践全解析

1. H.264在数字图像处理里的真实位置做数字图像处理的人&#xff0c;十有八九会绕到视频编码这一步。H.264这个格式&#xff0c;我在实际项目里用了快十年&#xff0c;从最早的嵌入式监控到后来的云端转码&#xff0c;几乎每个环节都跟它打过交道。可以说&#xff0c;H.264是当…

作者头像 李华
网站建设 2026/9/10 2:00:17

CANN/ge:指定Graph输入输出的内部格式

指定Graph输入输出的内部格式 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorc…

作者头像 李华
网站建设 2026/9/10 2:00:03

CANN/ge获取动态子图构建器

GetDynamicSubgraphBuilder 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、…

作者头像 李华
网站建设 2026/9/10 1:57:30

DSOFramer控件兼容Office 2016:注册部署与排查全攻略

简介&#xff1a;DSOFramer.ocx控件是一款面向Windows Forms开发者的Office文档嵌入组件&#xff0c;最新版已适配Office 2016&#xff0c;专门解决在WinForm窗体中内嵌Word、Excel等文档时&#xff0c;容易跳出独立Office程序窗口、破坏界面统一性的问题。资源包共14个文件&am…

作者头像 李华