Skip to content
版 本

Fill

产 品 支 持 情 况

产 品

是 否 支 持

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

功 能 说 明

将 特 定TPosition的LocalTensor初 始 化 为 某 一 具 体 数 值。

函 数 原 型

Text
template <typename T, typename U = PrimT<T>, typename Std::enable_if<Std::is_same<PrimT<T>, U>::value, bool>::type = true>
__aicore__ inline void Fill(const LocalTensor<T>& dst, const InitConstValueParams<U>& initConstValueParams)

参 数 说 明

表 1 模 板 参 数 说 明

参 数 名

描 述

T

dst的 数 据 类 型。

Atlas 训 练 系 列 产 品,支 持 的 数 据 类 型 为:half

Atlas 推 理 系 列 产 品AI Core,支 持 的 数 据 类 型 为:half/int16_t/uint16_t

Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品,支 持 的 数 据 类 型 为:half/int16_t/uint16_t/bfloat16_t/float/int32_t/uint32_t

Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品,支 持 的 数 据 类 型 为:half/int16_t/uint16_t/bfloat16_t/float/int32_t/uint32_t

Atlas 200I/500 A2 推 理 产 品,支 持 的 数 据 类 型 为:half/int16_t/uint16_t/bfloat16_t/float/int32_t/uint32_t

Ascend 950PR/Ascend 950DT,支 持 的 数 据 类 型 为:half/int16_t/uint16_t/bfloat16_t/float/int32_t/uint32_t

Kirin X90,支 持 的 数 据 类 型 为:half/int8_t

Kirin 9030,支 持 的 数 据 类 型 为:half

U

初 始 化 值 的 数 据 类 型。

  • 当dst使 用 基 础 数 据 类 型 时, U和dst的 数 据 类 型T需 保 持 一 致,否 则 编 译 失 败。
  • 当dst使 用TensorTrait类 型 时,U和dst的 数 据 类 型T的LiteType需 保 持 一 致,否 则 编 译 失 败。

最 后 一 个 模 板 参 数 仅 用 于 上 述 数 据 类 型 检 查,用 户 无 需 关 注。

表 2 参 数 说 明

参 数 名 称

输 入/输 出

含 义

dst

输 出

目 的 操 作 数,结 果 矩 阵,类 型 为LocalTensor。

Atlas 训 练 系 列 产 品,支 持 的TPosition为A1/A2/B1/B2。

Atlas 推 理 系 列 产 品AI Core,支 持 的TPosition为A1/A2/B1/B2。

Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品,支 持 的TPosition为A1/A2/B1/B2。

Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品,支 持 的TPosition为A1/A2/B1/B2。

Atlas 200I/500 A2 推 理 产 品,支 持 的TPosition为A1/A2/B1/B2。

Ascend 950PR/Ascend 950DT, 支 持 的TPosition为A1/B1。

Kirin X90,支 持 的TPosition为A1/A2/B1/B2。

Kirin 9030,支 持 的TPosition为A1/A2/B1/B2。

如 果TPosition为A1/B1,起 始 地 址 需 要 满 足32B对 齐;如 果TPosition为A2/B2,起 始 地 址 需 要 满 足512B对 齐。

InitConstValueParams

输 入

初 始 化 相 关 参 数,类 型 为InitConstValueParams。

具 体 定 义 请 参 考${INSTALL_DIR}/include/ascendc/basic_api/interface/kernel_struct_mm.h,${INSTALL_DIR}请 替 换 为CANN软 件 安 装 后 文 件 存 储 路 径。

参 数 说 明 请 参 考表3

Atlas 训 练 系 列 产 品仅 支 持 配 置 迭 代 次 数(repeatTimes)和 初 始 化 值(initValue)

Atlas 推 理 系 列 产 品AI Core仅 支 持 配 置 迭 代 次 数(repeatTimes)和 初 始 化 值(initValue)

Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品,支 持 配 置 所 有 参 数。

Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品,支 持 配 置 所 有 参 数。

Atlas 200I/500 A2 推 理 产 品,支 持 配 置 所 有 参 数。

Ascend 950PR/Ascend 950DT,支 持 配 置 所 有 参 数。

Kirin X90,支 持 配 置 所 有 参 数。

Kirin 9030,支 持 配 置 所 有 参 数。

  • 仅 支 持 配 置 迭 代 次 数(repeatTimes)和 初 始 化 值(initValue)场 景 下,其 他 参 数 配 置 无 效。每 次 迭 代 处 理 固 定 数 据 量(512字 节),迭 代 间 无 间 隔。
  • 支 持 配 置 所 有 参 数 场 景 下,支 持 配 置 迭 代 次 数(repeatTimes)、初 始 化 值(initValue)、每 个 迭 代 处 理 的 数 据 块 个 数(blockNum)和 迭 代 间 间 隔(dstGap)。

表 3 InitConstValueParams结 构 体 参 数 说 明

参 数 名 称

含 义

repeatTimes

迭 代 次 数。默 认 值 为0。

  • 仅 支 持 配 置 迭 代 次 数(repeatTimes)和 初 始 化 值(initValue)场 景 下,repeatTimes∈[0, 255]。
  • 支 持 配 置 所 有 参 数 场 景 下,repeatTimes∈[0, 32767] 。

blockNum

每 次 迭 代 初 始 化 的 数 据 块 个 数,取 值 范 围:blockNum∈[0, 32767] 。默 认 值 为0。

  • dst的 位 置 为A1/B1时,每 一 个block(数 据 块)大 小 是32B;
  • dst的 位 置 为A2/B2时,每 一 个block(数 据 块)大 小 是512B。

dstGap

目 的 操 作 数 前 一 个 迭 代 结 束 地 址 到 后 一 个 迭 代 起 始 地 址 之 间 的 距 离。

  • dst的 位 置 为A1/B1时,单 位 是32B;
  • dst的 位 置 为A2/B2时,单 位 是512B。

取 值 范 围:dstGap∈[0, 32767] 。默 认 值 为0。

initValue

初 始 化 的value值,支 持 的 数 据 类 型 与dst保 持 一 致。

约 束 说 明

调 用 示 例

完 整 使 用 样 例 请 参 见基 础API Fill样 例

Text
uint32 mLength = 16;
uint32 kLength = 16;
Fill(leftMatrix, {1, static_cast<uint16_t>(mLength * kLength * sizeof(float) / 32), 0, 1}); // 给leftMatrix填 充 mLength * kLength长 度 的 数 据 为1, 按32B的 颗 粒 进 行 填 充

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