mstxMemRegionsRegister
| 产品 | 是否支持 |
|---|---|
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
注册内存池二次分配。用户需保证mstxRegionsRegister的内存位于mstxMemHeapRegister注册的范围内,否则工具会提示越界读写。
void mstxMemRegionsRegister(mstxDomainHandle_t domain, mstxMemRegionsRegisterBatch_t const *desc)
表 1 参数说明
为globalDomain或mstxDomainCreateA返回的句柄。 |
||
struct mstxMemRegion_st; typedef struct mstxMemRegion_st mstxMemRegion_t; typedef mstxMemRegion_t* mstxMemRegionHandle_t; typedef struct mstxMemRegionsRegisterBatch_t { mstxMemHeapHandle_t heap; // 要进行二次分配的内存池句柄 mstxMemType regionType; // 内存区域的内存类型 size_t regionCount; // 内存区域的个数 void const *regionDescArray; // 内存区域描述数据 mstxMemRegionHandle_t* regionHandleArrayOut; // 返回的注册二次分配得到的句柄数组 } mstxMemRegionsRegisterBatch_t; |
无
mstxMemRegionsRegisterBatch_t regionsDesc{};
regionsDesc.heap = memPool;
regionsDesc.regionType = MSTX_MEM_TYPE_VIRTUAL_ADDRESS;
regionsDesc.regionCount = 1;
regionsDesc.regionDescArray = rangesDesc;
regionsDesc.regionHandleArrayOut = regionHandles;
mstxMemRegionsRegister(globalDomain, regionsDesc); // 二次分配注册