aclmdlSetExternalWeightAddress
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
产品支持情况
功能说明
配置存放外置权重的Device内存,调用方需在模型加载前将外置权重数据复制到该内存中。若存在多个外置权重文件,则需多次调用此接口。
模型加载过程中,计算图中的每一个FileConstant节点会保存对应外置权重文件的路径(例如/xx/../weight_hasid1),图引擎( Graph Engine ,简称GE)根据路径中的文件名(例如weight_hasid1)检索用户是否配置了外置权重的Device内存。若已配置,则直接使用该Device内存地址;否则,GE将自行申请一块Device内存,并读取外置权重文件,并将外置权重数据拷贝至该Device内存中,模型卸载时会释放该内存。
本接口需要与以下其它接口配合,实现模型加载功能:
- 调用aclmdlCreateConfigHandle接口创建模型加载的配置对象。
- (可选)调用aclmdlSetExternalWeightAddress接口配置存放外置权重的Device内存。
- 多次调用aclmdlSetConfigOpt接口设置配置对象中每个属性的值。
- 调用aclmdlLoadWithConfig接口指定模型加载时需要的配置信息,并进行模型加载。
- 模型加载成功后,调用aclmdlDestroyConfigHandle接口销毁。
函数原型
aclError aclmdlSetExternalWeightAddress(aclmdlConfigHandle *handle, const char *weightFileName, void *devPtr, size_t size)参数说明
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考