Skip to content

GmAlloc

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:支持
  • Atlas 推理系列产品AI Core:支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:支持
  • Kirin X90:支持
  • Kirin 9030:支持

功能说明

头文件路径为:"tools/cpudebug/include/stub_def.h"

进行核函数的CPU侧运行验证时,用于创建共享内存:在/tmp目录下创建一个共享文件,并返回该文件的映射指针。

函数原型

C++
void *GmAlloc(size_t size)

参数说明

表1 参数说明

参数名称输入/输出描述
size输入用户想要申请的共享内存大小。

返回值说明

返回该共享内存空间的首地址。

约束说明

  • 为了保留接口兼容,推荐<<<>>>编译使用。
  • 该接口在系统的/tmp目录下生成临时文件,故需要磁盘空间足够才可以正常生成共享内存。
  • 必须配合GmFree进行释放。

调用示例

C++
uint32_t numBlocks = 8;    // 总核数。
uint32_t blockLength = 2048;    // 每个核分配的内存大小。
size_t len = numBlocks * blockLength * sizeof(uint16_t);    // 共享内存大小。
uint8_t* x = (uint8_t*)AscendC::GmAlloc(len);

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区