【算能】BMCV 库中与内存管理相关的核心数据结构及其详细说明

以下是算能(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:内存块的总