文档
注册

aclmdlConfigAttr

typedef enum {
    ACL_MDL_PRIORITY_INT32 = 0,    
    ACL_MDL_LOAD_TYPE_SIZET,       
    ACL_MDL_PATH_PTR,              
    ACL_MDL_MEM_ADDR_PTR,          
    ACL_MDL_MEM_SIZET,             
    ACL_MDL_WEIGHT_ADDR_PTR,        
    ACL_MDL_WEIGHT_SIZET,          
    ACL_MDL_WORKSPACE_ADDR_PTR,     
    ACL_MDL_WORKSPACE_SIZET,        
    ACL_MDL_INPUTQ_NUM_SIZET,      
    ACL_MDL_INPUTQ_ADDR_PTR,        
    ACL_MDL_OUTPUTQ_NUM_SIZET,     
    ACL_MDL_OUTPUTQ_ADDR_PTR,      
    ACL_MDL_WORKSPACE_MEM_OPTIMIZE,
    ACL_MDL_WEIGHT_PATH_PTR,
    ACL_MDL_MODEL_DESC_PTR, 
    ACL_MDL_MODEL_DESC_SIZET,
    ACL_MDL_KERNEL_PTR, 
    ACL_MDL_KERNEL_SIZET,
    ACL_MDL_KERNEL_ARGS_PTR, 
    ACL_MDL_KERNEL_ARGS_SIZET,
    ACL_MDL_STATIC_TASK_PTR, 
    ACL_MDL_STATIC_TASK_SIZET,
    ACL_MDL_DYNAMIC_TASK_PTR,
    ACL_MDL_DYNAMIC_TASK_SIZET
} aclmdlConfigAttr;
表1 模型加载选项配置

选项

取值说明

ACL_MDL_PRIORITY_INT32

模型执行的优先级,可选项。该选项对应的值为int32类型。

数字越小优先级越高,取值[0,7],默认值为0。

Atlas 训练系列产品,docker容器内安装CANN,且配置算力分组的场景,该枚举值不生效。

ACL_MDL_LOAD_TYPE_SIZET

模型加载方式,必选项。该选项对应的值为size_t类型。

ACL_MDL_LOAD_TYPE_SIZET(表示模型加载方式)的取值如下:

  • ACL_MDL_LOAD_FROM_FILE
    #define ACL_MDL_LOAD_FROM_FILE 1
  • ACL_MDL_LOAD_FROM_FILE_WITH_MEM
    #define ACL_MDL_LOAD_FROM_FILE_WITH_MEM 2
  • ACL_MDL_LOAD_FROM_MEM
    #define ACL_MDL_LOAD_FROM_MEM 3
  • ACL_MDL_LOAD_FROM_MEM_WITH_MEM
    #define ACL_MDL_LOAD_FROM_MEM_WITH_MEM 4
  • ACL_MDL_LOAD_FROM_FILE_WITH_Q
    #define ACL_MDL_LOAD_FROM_FILE_WITH_Q 5

注意:如果将ACL_MDL_LOAD_TYPE_SIZET设置为ACL_MDL_LOAD_FROM_MEM,表示从内存加载模型数据,还支持使用ACL_MDL_WEIGHT_PATH_PTR选项指定权重文件目录。

ACL_MDL_PATH_PTR

离线模型文件路径的指针,如果选择从文件加载模型,则该选项必选。

ACL_MDL_MEM_ADDR_PTR

模型在内存中的起始地址,如果选择从内存加载模型,则该选项必选。

ACL_MDL_MEM_SIZET

模型在内存中的大小,如果选择从内存加载模型,则该选项必选,与ACL_MDL_MEM_ADDR_PTR选项配合使用。该选项对应的值为size_t类型。

ACL_MDL_WEIGHT_ADDR_PTR

Device上模型权值内存(存放权值数据)的指针,如果需要由用户管理权值内存,则该选项必选。若不配置该选项,则表示由系统管理内存。

ACL_MDL_WEIGHT_SIZET

权值内存大小,单位为Byte,如果需要由用户管理权值内存,则该选项必选,与ACL_MDL_WEIGHT_ADDR_PTR选项配合使用。该选项对应的值为size_t类型。

ACL_MDL_WORKSPACE_ADDR_PTR

Device上模型所需工作内存(存放模型执行过程中的临时数据)的指针,如果需要由用户管理工作内存,则该选项必选。若不配置该选项,则表示由系统管理内存。

ACL_MDL_WORKSPACE_SIZET

模型所需工作内存的大小,单位为Byte,如果需要由用户管理工作内存,则该选项必选,与ACL_MDL_WORKSPACE_ADDR_PTR选项配合使用。该选项对应的值为size_t类型。

ACL_MDL_INPUTQ_NUM_SIZET

模型输入队列大小 ,带队列加载模型时,该选项必选,与ACL_MDL_INPUTQ_ADDR_PTR选项配合使用。该选项对应的值为size_t类型。

ACL_MDL_INPUTQ_ADDR_PTR

模型输入队列ID的指针,带队列加载模型时,该选项必选,一个模型输入对应一个队列ID。

ACL_MDL_OUTPUTQ_NUM_SIZET

模型输出队列大小,带队列加载模型时,该选项必选,与ACL_MDL_OUTPUTQ_ADDR_PTR选项配置使用。该选项对应的值为size_t类型。

ACL_MDL_OUTPUTQ_ADDR_PTR

模型输出队列ID的指针,带队列加载模型时,该选项必选,一个模型输出对应一个队列ID。

ACL_MDL_WORKSPACE_MEM_OPTIMIZE

是否开启模型工作内存优化功能,1开启,0不开启。

若关注内存规划或内存资源有限时,建议在模型加载前,开启工作内存优化功能,此时工作内存中不包含存放模型输入、输出数据的内存,工作内存大小会减小,达到节省内存的目的。

在模型执行前,还需要由用户申请存放模型输入、输出数据的内存,因此即使在模型加载时开启工作内存优化功能,也不会影响后续的模型执行。

ACL_MDL_WEIGHT_PATH_PTR

权重文件所在目录的指针。对om模型文件大小有限制的场景下,通过本参数可实现权重文件外置功能。

如果将ACL_MDL_LOAD_TYPE_SIZET设置为ACL_MDL_LOAD_FROM_MEM,表示从内存加载模型数据,则支持使用ACL_MDL_WEIGHT_PATH_PTR指定权重文件目录。

一般对om模型文件大小有限制或模型文件加密的场景下,需单独指定权重文件目录,但前提是需在使用ATC工具生成om文件时,将--external_weight参数设置为1(1表示将原始网络中的Const/Constant节点的权重保存在单独的文件中)。

ACL_MDL_MODEL_DESC_PTR

存放模型描述信息的内存指针。

当前版本不支持该配置。

ACL_MDL_MODEL_DESC_SIZET

存放模型描述信息所需的内存大小,单位Byte。该选项对应的值为size_t类型。

可提前调用aclmdlQueryExeOMDesc接口获取存放模型描述信息所需的内存大小,且本选项需与ACL_MDL_MODEL_DESC_PTR选项配合使用。

当前版本不支持该配置。

ACL_MDL_KERNEL_PTR

存放TBE算子kernel(算子的*.o与*.json)的内存指针。

当前版本不支持该配置。

ACL_MDL_KERNEL_SIZET

存放TBE算子kernel(算子的*.o与*.json)所需的内存大小,单位Byte。该选项对应的值为size_t类型。

可提前调用aclmdlQueryExeOMDesc接口获取存放TBE算子kernel(算子的*.o与*.json)所需的内存大小,且本选项需与ACL_MDL_KERNEL_PTR选项配合使用。

当前版本不支持该配置。

ACL_MDL_KERNEL_ARGS_PTR

存放TBE算子kernel参数的内存指针。

当前版本不支持该配置。

ACL_MDL_KERNEL_ARGS_SIZET

存放TBE算子kernel参数所需的内存大小,单位Byte。该选项对应的值为size_t类型。

可提前调用aclmdlQueryExeOMDesc接口获取存放TBE算子kernel参数所需的内存大小,且本选项需与ACL_MDL_KERNEL_ARGS_PTR选项配合使用。

当前版本不支持该配置。

ACL_MDL_STATIC_TASK_PTR

存放静态shape任务描述信息的内存指针。

当前版本不支持该配置。

ACL_MDL_STATIC_TASK_SIZET

存放静态shape任务描述信息所需的内存大小,单位Byte。该选项对应的值为size_t类型。

可提前调用aclmdlQueryExeOMDesc接口获取存放静态shape任务描述信息所需的内存大小,且本选项需与ACL_MDL_STATIC_TASK_PTR选项配合使用。

当前版本不支持该配置。

ACL_MDL_DYNAMIC_TASK_PTR

存放动态shape任务描述信息的内存指针。

当前版本不支持该配置。

ACL_MDL_DYNAMIC_TASK_SIZET

存放动态shape任务描述信息所需的内存大小,单位Byte。该选项对应的值为size_t类型。

可提前调用aclmdlQueryExeOMDesc接口获取存放动态shape任务描述信息所需的内存大小,且本选项需与ACL_MDL_DYNAMIC_TASK_PTR选项配合使用。

当前版本不支持该配置。

关于如何获取om文件,请参见ATC工具使用指南

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词