GmAlloc
产 品 支 持 情 况
功 能 说 明
头 文 件 路 径 为:"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);