文档
注册

aclrtMemMallocPolicy

typedef enum aclrtMemMallocPolicy {
    ACL_MEM_MALLOC_HUGE_FIRST,
    ACL_MEM_MALLOC_HUGE_ONLY,
    ACL_MEM_MALLOC_NORMAL_ONLY,
    ACL_MEM_MALLOC_HUGE_FIRST_P2P,
    ACL_MEM_MALLOC_HUGE_ONLY_P2P,
    ACL_MEM_MALLOC_NORMAL_ONLY_P2P,
    ACL_MEM_TYPE_LOW_BAND_WIDTH = 0x0100,
    ACL_MEM_TYPE_HIGH_BAND_WIDTH = 0x1000
} aclrtMemMallocPolicy;

此处支持单个枚举项,也支持多个枚举项位或:

  • 配置单个枚举项

    若配置ACL_MEM_MALLOC_HUGE_FIRST、ACL_MEM_MALLOC_HUGE_ONLY、ACL_MEM_MALLOC_NORMAL_ONLY、ACL_MEM_MALLOC_HUGE_FIRST_P2P、ACL_MEM_MALLOC_HUGE_ONLY_P2P、ACL_MEM_MALLOC_NORMAL_ONLY_P2P中的其中一个,则系统内部会根据硬件支持情况选择从高带宽或低带宽物理内存申请内存;

    若配置ACL_MEM_TYPE_LOW_BAND_WIDTH或ACL_MEM_TYPE_HIGH_BAND_WIDTH,则系统内部会默认采取ACL_MEM_MALLOC_HUGE_FIRST,优先申请大页。

  • 配置多个枚举项位或:支持这三项(ACL_MEM_MALLOC_HUGE_FIRST、ACL_MEM_MALLOC_HUGE_ONLY、ACL_MEM_MALLOC_NORMAL_ONLY)与这两项(ACL_MEM_TYPE_LOW_BAND_WIDTH、ACL_MEM_TYPE_HIGH_BAND_WIDTH)组合,例如:ACL_MEM_MALLOC_HUGE_FIRST | ACL_MEM_TYPE_HIGH_BAND_WIDTH
表1 枚举项说明

枚举项

说明

ACL_MEM_MALLOC_HUGE_FIRST

当申请的内存小于等于1M时,即使使用该内存分配规则,也是申请普通页的内存。当申请的内存大于1M时,优先申请大页内存,如果大页内存不够,则使用普通页的内存。

ACL_MEM_MALLOC_HUGE_ONLY

仅申请大页,如果大页内存不够,则返回错误。

ACL_MEM_MALLOC_NORMAL_ONLY

仅申请普通页,如果普通页内存不够,则返回错误。

ACL_MEM_MALLOC_HUGE_FIRST_P2P

仅Device之间内存复制场景下申请内存时使用该选项,表示优先申请大页内存,如果大页内存不够,则使用普通页的内存。

Atlas 200/300/500 推理产品,不支持该选项。

Atlas 200/500 A2推理产品,不支持该选项。

ACL_MEM_MALLOC_HUGE_ONLY_P2P

仅Device之间内存复制场景下申请内存时使用该选项,仅申请大页内存,如果大页内存不够,则返回错误。

Atlas 200/300/500 推理产品,不支持该选项。

Atlas 200/500 A2推理产品,不支持该选项。

ACL_MEM_MALLOC_NORMAL_ONLY_P2P

仅Device之间内存复制场景下申请内存时使用该选项,仅申请普通页的内存。

Atlas 200/300/500 推理产品,不支持该选项。

Atlas 200/500 A2推理产品,不支持该选项。

ACL_MEM_TYPE_LOW_BAND_WIDTH

从带宽低的物理内存上申请内存。

设置该选项无效,系统默认会根据硬件支持的内存类型选择。

ACL_MEM_TYPE_HIGH_BAND_WIDTH

从带宽高的物理内存上申请内存。

设置该选项无效,系统默认会根据硬件支持的内存类型选择。

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

当前产品无相关内容

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