以下是算能(Sophgo)BMCV 库中与内存管理相关的核心 数据结构 及其详细说明,涵盖设备内存分配、内存池、零拷贝优化等关键部分,帮助开发者高效管理硬件资源。
一、核心内存管理数据结构
1. bm_device_mem
- 功能:描述设备内存块(如BM芯片的显存),用于显式管理内存分配与释放。
- 定义:
typedef struct { void* uva_addr; // 统一虚拟地址(用户无需直接操作) unsigned long size; // 内存块大小(字节) unsigned long flags; // 内存属性标志(如可读/可写/可共享) } bm_device_mem;
- 关键字段:
-
uva_addr
:系统级统一虚拟地址,由BMCV内部管理,用户无需直接操作。 -
size
:内存块的总
-