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

x

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 分 支 自 动 编 译 生 成,属 于 持 续 开 发 版 本,可 能 存 在 缺 陷,仅 供 预 览 与 参 考。如 需 稳 定 及 商 用 资 料,请 查 阅 官 方 昇 腾 社 区