自定义内存资源池管理

总体说明

支持的型号

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

DeviceFreeFuncHookReg

函数功能

注册自定义内存管理接口-Device内存释放。需与DeviceMallocFuncHookReg接口成对使用,若不匹配,或只注册了其一,会使用默认方式,直接申请/释放内存。该功能仅支持Atlas 推理系列产品。

相关使用流程请参考自定义内存资源池管理

函数原型

APP_ERROR DeviceFreeFuncHookReg(g_deviceFreeFuncType pFun);

参数说明

参数名 输入/输出 说明
pFun 输入 Device内存释放的函数类型。传入的函数需和以下函数类型保持一致:
APP_ERROR (*)(void*);
需要输入的参数依次为:dev_ptr:待释放内存的指针。

返回参数说明

数据结构 说明
APP_ERROR 程序执行返回的错误码,请参考APP_ERROR说明

DeviceMallocFuncHookReg

函数功能

注册自定义内存管理接口-Device内存申请。需与DeviceFreeFuncHookReg接口成对使用,若不匹配,或只注册了其一,会使用默认方式,直接申请/释放内存。该功能仅支持Atlas 推理系列产品。

相关使用流程请参考自定义内存资源池管理

函数原型

APP_ERROR DeviceMallocFuncHookReg(g_deviceMallocFuncType pFun);

参数说明

参数名 输入/输出 说明
pFun 输入 Device内存申请的函数类型。传入的函数需和以下函数类型保持一致:
APP_ERROR (*)(void**, unsigned int, MxMemMallocPolicy);
需要输入的参数依次为:
  • dev_ptr:“Device”上已分配内存的指针”的指针。
  • Size:申请内存的大小,单位Byte。
  • Policy:内存分配规则,如果用户自定义Device内存分配函数中不涉及CANN底层Device内存的分配策略,可以传任意参数。

  • MxMemMallocPolicy结构定义请见MxMemMallocPolicy

    返回参数说明

    数据结构 说明
    APP_ERROR 程序执行返回的错误码,请参考APP_ERROR说明

    DVPPFreeFuncHookReg

    函数功能

    注册自定义内存管理接口-DVPP内存释放。需与DVPPMallocFuncHookReg接口成对使用,若不匹配,或只注册了其一,会使用默认方式,直接申请/释放内存。该功能仅支持Atlas 推理系列产品。

    相关使用流程请参考自定义内存资源池管理

    函数原型

    APP_ERROR DVPPFreeFuncHookReg(g_dvppFreeFuncType pFun);
    

    参数说明

    参数名 输入/输出 说明
    pFun 输入 DVPP内存释放的函数类型。传入的函数需和以下函数类型保持一致:
    APP_ERROR ()(void);
    需要输入的参数为:dev_ptr:待释放内存的指针

    返回参数说明

    数据结构 说明
    APP_ERROR 程序执行返回的错误码,请参考APP_ERROR说明

    DVPPMallocFuncHookReg

    函数功能

    注册自定义内存管理接口DVPP内存申请。需与DVPPFreeFuncHookReg接口成对使用,若不匹配或只注册了其一,会使用默认方式,直接申请/释放内存。该功能仅支持Atlas 推理系列产品。

    相关使用流程请参考自定义内存资源池管理

    函数原型

    APP_ERROR DVPPMallocFuncHookReg(g_dvppMallocFuncType pFun);
    

    参数说明

    参数名 输入/输出 说明
    pFun 输入 DVPP内存分配的函数类型。传入的函数需和以下函数类型保持一致:
    APP_ERROR (*)(unsigned int, void**, unsigned long long);
    需要输入的参数依次为:
  • dev_id:根据用户实际内存资源池配合使用。
  • dev_ptr:“DVPP上已分配内存的指针”的指针。
  • Size:申请内存的大小,单位Byte。
  • 返回参数说明

    数据结构 说明
    APP_ERROR 程序执行返回的错误码,请参考APP_ERROR说明