SetGraphFixedFeatureMemoryBaseWithType
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
头文件/库文件
- 头文件:#include <ge/ge_api_v2.h>
- 库文件:libge_runner_v2.so
功能说明
用于指定图的不同内存类型的Fixed Feature内存基地址。
在调用本接口前,必须先调用CompileGraph接口进行图编译;内存大小从GetCompiledGraphSummary>GetAllFeatureMemoryTypeSize接口中获取。Feature内存指的是模型执行过程中所需要的中间内存(比如中间节点的输入输出等内存)。
- 当图中包含Fixed内存,但是用户未指定时,默认申请Fixed内存。
- 用户可以通过将地址设置为nullptr,size设置为0的方式,关闭默认申请Fixed内存的行为(内存类型为MEMORY_TYPE_P2P不支持该场景)。
函数原型
Status SetGraphFixedFeatureMemoryBaseWithType(uint32_t graph_id, MemoryType type, const void *const memory, size_t size)参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| graph_id | 输入 | Graph对应的ID。 |
| type | 输入 | 内存类型,包含MemoryType::MEMORY_TYPE_DEFAULT、MemoryType::MEMORY_TYPE_P2P。 |
| memory | 输入 | 设置的Fixed Feature内存基地址。 |
| size | 输入 | 设置的Fixed Feature内存大小。一定要大于等于从GetCompiledGraphSummary>GetAllFeatureMemoryTypeSize接口中获取的。 |
返回值说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| - | Status | SUCCESS:设置成功。 FAILED:设置失败。 |
约束说明
每个Graph每种内存类型只支持设置一次,不支持刷新。
设置内存类型为MEMORY_TYPE_DEFAULT的Fixed内存地址,不能与UpdateGraphFeatureMemoryBase接口同时使用。
当Fixed内存长度为0时,调用该接口不生效,且会生成warning日志提示用户。
options参数说明>内存管理中的ge.exec.staticMemoryPolicy参数设置为4或者GE_USE_STATIC_MEMORY环境变量设置为4时,此时动静态图支持内存复用;而该接口不支持地址刷新,因此动静态图内存复用场景下不支持通过将地址设置为nullptr、size设置为0的方式,关闭默认申请Fixed内存的行为。
环境变量详细说明请参见《环境变量参考》。
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考