Skip to content
版 本

SIMD API列 表

基 础 数 据 结 构

表 1 基 础 数 据 结 构 列 表

接 口 名

功 能 描 述

LocalTensor

LocalTensor用 于 存 放AI Core中Local Memory(内 部 存 储)的 数 据,支 持 逻 辑 位 置TPositionVECIN、VECOUT、VECCALC、A1A2B1B2CO1CO2。

GlobalTensor

GlobalTensor用 来 存 放Global Memory(外 部 存 储)的 全 局 数 据。

Coordinate

Coordinate本 质 上 是 一 个 元 组(tuple),用 于 表 示 张 量 在 不 同 维 度 的 位 置 信 息,即 坐 标 值。

Layout

Layout<Shape, Stride>数 据 结 构 是 描 述 多 维 张 量 内 存 布 局 的 基 础 模 板 类,通 过 编 译 时 的 形 状(Shape)和 步 长(Stride)信 息,实 现 逻 辑 坐 标 空 间 到 一 维 内 存 地 址 空 间 的 映 射,为 复 杂 张 量 操 作 和 硬 件 优 化 提 供 基 础 支 持。

TensorTrait

TensorTrait数 据 结 构 是 描 述Tensor相 关 信 息 的 基 础 模 板 类,包 含Tensor的 数 据 类 型、逻 辑 位 置 和Layout内 存 布 局。

基 础API

表 2 Memory数 据 搬 运API列 表

接 口 名

功 能 描 述

DataCopy

数 据 搬 运 接 口,包 括 普 通 数 据 搬 运、增 强 数 据 搬 运、切 片 数 据 搬 运、随 路 格 式 转 换。

Copy

VECIN、VECCALC、VECOUT之 间 的 搬 运 指 令,支 持mask操 作 和DataBlock间 隔 操 作。

表 3 Memory矢 量 计 算API列 表

分 类

接 口 名

功 能 描 述

基 础 算 术

Exp

按 元 素 取 自 然 指 数。

Ln

按 元 素 取 自 然 对 数。

Abs

按 元 素 取 绝 对 值。

Reciprocal

按 元 素 取 倒 数。

Sqrt

按 元 素 做 开 方。

Rsqrt

按 元 素 做 开 方 后 取 倒 数。

Relu

按 元 素 做 线 性 整 流Relu。

Add

按 元 素 求 和。

Sub

按 元 素 求 差。

Mul

按 元 素 求 积。

Div

按 元 素 求 商。

Max

按 元 素 求 最 大 值。

Min

按 元 素 求 最 小 值。

Adds

矢 量 内 每 个 元 素 与 标 量 求 和。

Muls

矢 量 内 每 个 元 素 与 标 量 求 积。

Maxs

源 操 作 数 矢 量 内 每 个 元 素 与 标 量 相 比,如 果 比 标 量 大,则 取 源 操 作 数 值,比 标 量 的 值 小,则 取 标 量 值。

Mins

源 操 作 数 矢 量 内 每 个 元 素 与 标 量 相 比,如 果 比 标 量 大,则 取 标 量 值,比 标 量 的 值 小,则 取 源 操 作 数 值。

LeakyRelu

按 元 素 做 带 泄 露 线 性 整 流Leaky ReLU。

基 础 算 术

Subs

矢 量 内 每 个 元 素 和 标 量 间 做 减 法,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。

Divs

矢 量 内 每 个 元 素 和 标 量 间 做 除 法,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。

逻 辑 计 算

Not

按 元 素 做 按 位 取 反。

And

针 对 每 对 元 素 执 行 按 位 与 运 算。

Or

针 对 每 对 元 素 执 行 按 位 或 运 算。

ShiftLeft

对 源 操 作 数 中 的 每 个 元 素 进 行 左 移 操 作,左 移 的 位 数 由 输 入 参 数scalarValue决 定。

ShiftRight

对 源 操 作 数 中 的 每 个 元 素 进 行 右 移 操 作,右 移 的 位 数 由 输 入 参 数scalarValue决 定。

逻 辑 计 算

Ands

矢 量 内 每 个 元 素 和 标 量 间 做 与 操 作,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。

Ors

矢 量 内 每 个 元 素 和 标 量 间 做 或 操 作,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。

复 合 计 算

Axpy

源 操 作 数 中 每 个 元 素 与 标 量 求 积 后 和 目 的 操 作 数 中 的 对 应 元 素 相 加。

CastDequant

对 输 入 做 量 化 并 进 行 精 度 转 换。

AddRelu

按 元 素 求 和,结 果 和0对 比 取 较 大 值。

AddReluCast

按 元 素 求 和,结 果 和0对 比 取 较 大 值,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。

AddDeqRelu

依 次 计 算 按 元 素 求 和、结 果 进 行deq量 化 后 再 进 行relu计 算(结 果 和0对 比 取 较 大 值)。

SubRelu

按 元 素 求 差,结 果 和0对 比 取 较 大 值。

SubReluCast

按 元 素 求 差,结 果 和0对 比 取 较 大 值,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。

MulAddDst

按 元 素 将src0Local和src1Local相 乘 并 和dstLocal相 加,将 最 终 结 果 存 放 进dstLocal中。

MulCast

按 元 素 求 积,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。

FusedMulAdd

按 元 素 将src0Local和dstLocal相 乘 并 加 上src1Local,最 终 结 果 存 放 入dstLocal。

MulAddRelu

按 元 素 将src0Local和dstLocal相 乘 并 加 上src1Local,将 结 果 和0作 比 较,取 较 大 值,最 终 结 果 存 放 进dstLocal中。

比 较 与 选 择

Compare

逐 元 素 比 较 两 个tensor大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。

Compare(结 果 存 放 入 寄 存 器)

逐 元 素 比 较 两 个tensor大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。Compare接 口 需 要mask参 数 时,可 以 使 用 此 接 口。计 算 结 果 存 放 入 寄 存 器 中。

Compares

逐 元 素 比 较 一 个tensor中 的 元 素 和 另 一 个Scalar的 大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。

Select

给 定 两 个 源 操 作 数src0和src1,根 据selMask(用 于 选 择 的Mask掩 码)的 比 特 位 值 选 取 元 素,得 到 目 的 操 作 数dst。选 择 的 规 则 为:当selMask的 比 特 位 是1时,从src0中 选 取,比 特 位 是0时 从src1选 取。

GatherMask

以 内 置 固 定 模 式 对 应 的 二 进 制 或 者 用 户 自 定 义 输 入 的Tensor数 值 对 应 的 二 进 制 为gather mask(数 据 收 集 的 掩 码),从 源 操 作 数 中 选 取 元 素 写 入 目 的 操 作 数 中。

精 度 转 换 指 令

Cast

根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。

归 约 计 算

ReduceMax

在 所 有 的 输 入 数 据 中 找 出 最 大 值 及 最 大 值 对 应 的 索 引 位 置。

ReduceMin

在 所 有 的 输 入 数 据 中 找 出 最 小 值 及 最 小 值 对 应 的 索 引 位 置。

ReduceSum

对 所 有 的 输 入 数 据 求 和。

WholeReduceMax

每 个repeat内 所 有 数 据 求 最 大 值 以 及 其 索 引index。

WholeReduceMin

每 个repeat内 所 有 数 据 求 最 小 值 以 及 其 索 引index。

WholeReduceSum

每 个repeat内 所 有 数 据 求 和。

BlockReduceMax

对 每 个repeat内 所 有 元 素 求 最 大 值。

BlockReduceMin

对 每 个repeat内 所 有 元 素 求 最 小 值。

BlockReduceSum

对 每 个repeat内 所 有 元 素 求 和。源 操 作 数 相 加 采 用 二 叉 树 方 式,两 两 相 加。

PairReduceSum

PairReduceSum:相 邻 两 个(奇 偶)元 素 求 和。

RepeatReduceSum

每 个repeat内 所 有 数 据 求 和。和WholeReduceSum接 口 相 比,不 支 持mask逐bit模 式。建 议 使 用 功 能 更 全 面 的WholeReduceSum接 口。

数 据 排 布 转 换

Transpose

可 实 现16*16的 二 维 矩 阵 数 据 块 的 转 置 和[N,C,H,W]与[N,H,W,C]互 相 转 换。

TransDataTo5HD

数 据 格 式 转 换,一 般 用 于 将NCHW格 式 转 换 成NC1HWC0格 式。特 别 的,也 可 以 用 于 二 维 矩 阵 数 据 块 的 转 置。

数 据 填 充

Duplicate

将 一 个 变 量 或 一 个 立 即 数,复 制 多 次 并 填 充 到 向 量。

Brcb

给 定 一 个 输 入 张 量,每 一 次 取 输 入 张 量 中 的8个 数 填 充 到 结 果 张 量 的8个datablock(32Bytes)中 去,每 个 数 对 应 一 个datablock。

CreateVecIndex

以firstValue为 起 始 值 创 建 向 量 索 引。

数 据 分 散/数 据 收 集

Gather

给 定 输 入 的 张 量 和 一 个 地 址 偏 移 张 量,Gather指 令 根 据 偏 移 地 址 将 输 入 张 量 按 元 素 收 集 到 结 果 张 量 中。

掩 码 操 作

SetMaskCount

设 置mask模 式 为Counter模 式。该 模 式 下,不 需 要 开 发 者 去 感 知 迭 代 次 数、处 理 非 对 齐 的 尾 块 等 操 作,可 直 接 传 入 计 算 数 据 量,实 际 迭 代 次 数 由Vector计 算 单 元 自 动 推 断。

SetMaskNorm

设 置mask模 式 为Normal模 式。该 模 式 为 系 统 默 认 模 式,支 持 开 发 者 配 置 迭 代 次 数。

SetVectorMask

用 于 在 矢 量 计 算 时 设 置mask。

ResetMask

恢 复mask的 值 为 默 认 值(全1),表 示 矢 量 计 算 中 每 次 迭 代 内 的 所 有 元 素 都 将 参 与 运 算。

表 4 标 量 计 算API列 表

接 口 名

功 能 描 述

GetBitCount

获 取 一 个uint64_t类 型 数 字 的 二 进 制 中0或 者1的 个 数。

CountLeadingZero

计 算 一 个uint64_t类 型 数 字 前 导0的 个 数(二 进 制 从 最 高 位 到 第 一 个1一 共 有 多 少 个0)。

Cast(float转half、int32_t)

将 一 个scalar的 类 型 转 换 为 指 定 的 类 型。

CountBitsCntSameAsSignBit

计 算 一 个uint64_t类 型 数 字 的 二 进 制 中,从 最 高 数 值 位 开 始 与 符 号 位 相 同 的 连 续 比 特 位 的 个 数。

GetSFFValue

获 取 一 个uint64_t类 型 数 字 的 二 进 制 中 第 一 个0或1出 现 的 位 置。

Cast(float转bfloat16_t)

float类 型 标 量 数 据 转 换 成bfloat16_t类 型 标 量 数 据。

Cast(多 类 型 转float)

bfloat16_t类 型 标 量 数 据 转 换 成float类 型 标 量 数 据。

表 5 资 源 管 理API列 表

接 口 名

功 能 描 述

TPipe

TPipe是 用 来 管 理 全 局 内 存 等 资 源 的 框 架。通 过TPipe类 提 供 的 接 口 可 以 完 成 内 存 等 资 源 的 分 配 管 理 操 作。

GetTPipePtr

获 取 框 架 当 前 管 理 全 局 内 存 的TPipe指 针,用 户 获 取 指 针 后,可 进 行TPipe相 关 的 操 作。

TBufPool

TPipe可 以 管 理 全 局 内 存 资 源,而TBufPool可 以 手 动 管 理 或 复 用Unified Buffer/L1 Buffer物 理 内 存,主 要 用 于 多 个stage计 算 中Unified Buffer/L1 Buffer物 理 内 存 不 足 的 场 景。

TQue

提 供 入 队 出 队 等 接 口,通 过 队 列(Queue)完 成 任 务 间 同 步。

TQueBind

TQueBind绑 定 源 逻 辑 位 置 和 目 的 逻 辑 位 置,根 据 源 位 置 和 目 的 位 置,来 确 定 内 存 分 配 的 位 置 、插 入 对 应 的 同 步 事 件,帮 助 开 发 者 解 决 内 存 分 配 和 管 理、同 步 等 问 题。

TBuf

使 用Ascend C编 程 的 过 程 中,可 能 会 用 到 一 些 临 时 变 量。这 些 临 时 变 量 占 用 的 内 存 可 以 使 用TBuf数 据 结 构 来 管 理。

InitSpmBuffer

初 始 化SPM Buffer。

WriteSpmBuffer

将 需 要 溢 出 暂 存 的 数 据 拷 贝 到SPM Buffer中。

ReadSpmBuffer

从SPM Buffer读 回 到local数 据 中。

GetUserWorkspace

获 取 用 户 使 用 的workspace指 针。

SetSysWorkSpace

在 进 行 融 合 算 子 编 程 时,由 于 框 架 通 信 机 制 需 要 使 用 到workspace,也 就 是 系 统workspace,所 以 在 该 场 景 下,开 发 者 要 调 用 该 接 口,设 置 系 统workspace的 指 针。

GetSysWorkSpacePtr

获 取 系 统workspace指 针。

表 6 同 步 控 制API列 表

接 口 名

功 能 描 述

TQueSync

TQueSync类 提 供 同 步 控 制 接 口,开 发 者 可 以 使 用 这 类API来 自 行 完 成 同 步 控 制。

IBSet

当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。调 用IBSet设 置 某 一 个 核 的 标 志 位,与IBWait成 对 使 用,表 示 核 之 间 的 同 步 等 待 指 令,等 待 某 一 个 核 操 作 完 成。

IBWait

当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。IBWait与IBSet成 对 使 用,表 示 核 之 间 的 同 步 等 待 指 令,等 待 某 一 个 核 操 作 完 成。

SyncAll

当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。目 前 多 核 同 步 分 为 硬 同 步 和 软 同 步,硬 件 同 步 是 利 用 硬 件 自 带 的 全 核 同 步 指 令 由 硬 件 保 证 多 核 同 步,软 件 同 步 是 使 用 软 件 算 法 模 拟 实 现。

InitDetermineComputeWorkspace

初 始 化GM共 享 内 存 的 值,完 成 初 始 化 后 才 可 以 调 用WaitPreBlockNotifyNextBlock

WaitPreBlock

通 过 读GM地 址 中 的 值,确 认 是 否 需 要 继 续 等 待,当GM的 值 满 足 当 前 核 的 等 待 条 件 时,该 核 即 可 往 下 执 行,进 行 下 一 步 操 作。

NotifyNextBlock

通 过 写GM地 址,通 知 下 一 个 核 当 前 核 的 操 作 已 完 成,下 一 个 核 可 以 进 行 操 作。

SetNextTaskStart

在SuperKernel的 子Kernel中 调 用,调 用 后 的 指 令 可 以 和 后 续 其 他 的 子Kernel实 现 并 行,提 升 整 体 性 能。

WaitPreTaskEnd

在SuperKernel的 子Kernel中 调 用,调 用 前 的 指 令 可 以 和 前 序 其 他 的 子Kernel实 现 并 行,提 升 整 体 性 能。

表 7 缓 存 处 理API列 表

接 口 名

功 能 描 述

DataCachePreload

从 源 地 址 所 在 的 特 定DDR地 址 预 加 载 数 据 到data cache中。

DataCacheCleanAndInvalid

该 接 口 用 来 刷 新Cache,保 证Cache的 一 致 性。

表 8 系 统 变 量 访 问API列 表

接 口 名

功 能 描 述

GetBlockNum

获 取 当 前 任 务 配 置 的Block数,用 于 代 码 内 部 的 多 核 逻 辑 控 制 等。

GetBlockIdx

获 取 当 前core的index,用 于 代 码 内 部 的 多 核 逻 辑 控 制 及 多 核 偏 移 量 计 算 等。

GetDataBlockSizeInBytes

获 取 当 前 芯 片 版 本 一 个datablock的 大 小,单 位 为byte。开 发 者 根 据datablock的 大 小 来 计 算API指 令 中 待 传 入 的repeatTimeDataBlock StrideRepeat Stride参 数 值。

GetArchVersion

获 取 当 前AI处 理 器 架 构 版 本 号。

InitSocState

由 于AI Core上 存 在 一 些 全 局 状 态,如 原 子 累 加 状 态、Mask模 式 等,在 实 际 运 行 中,这 些 值 可 以 被 前 序 执 行 的 算 子 修 改 而 导 致 计 算 出 现 不 符 合 预 期 的 行 为,在 静 态Tensor编 程 的 场 景 中 用 户 必 须 在Kernel入 口 处 调 用 此 函 数 来 初 始 化AI Core状 态 。

表 9 原 子 操 作 接 口 列 表

接 口 名

功 能 描 述

SetAtomicAdd

设 置 接 下 来 从VECOUT到GM,L0C到GM,L1到GM的 数 据 传 输 是 否 进 行 原 子 累 加,可 根 据 参 数 不 同 设 定 不 同 的 累 加 数 据 类 型。

SetAtomicType

通 过 设 置 模 板 参 数 来 设 定 原 子 操 作 不 同 的 数 据 类 型。

DisableDmaAtomic

原 子 操 作 函 数,清 空 原 子 操 作 的 状 态。

AtomicAdd

调 用 该 接 口 后,可 在 指 定GM地 址 上 进 行 原 子 加 操 作。

AtomicMin

调 用 该 接 口 后,可 在 指 定GM地 址 上 进 行 原 子 比 较 取 小 操 作。

AtomicMax

调 用 该 接 口 后,可 在 指 定GM地 址 上 进 行 原 子 取 大 操 作。

AtomicCas

调 用 该 接 口 后,可 在 指 定GM地 址 上 进 行 原 子 比 较,如 果 和value1相 等,则 把value2的 值 赋 值 到GM上;如 果 和value1不 相 等,则GM上 的 值 不 变。

AtomicExch

在GM内 存 中 执 行 原 子 交 换 操 作。具 体 来 说,它 读 取 指 定GM地 址 上 的 数 据,并 将 新 的 值 存 储 回 同 一 地 址。函 数 返 回 旧 值。

表 10 调 试 接 口 列 表

接 口 名

功 能 描 述

DumpTensor

基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口Dump指 定Tensor的 内 容。

printf

基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口 实 现CPU侧/NPU侧 调 试 场 景 下 的 格 式 化 输 出 功 能。

ascendc_assert

ascendc_assert提 供 了 一 种 在CPU/NPU域 实 现 断 言 功 能 的 接 口。当 断 言 条 件 不 满 足 时,系 统 会 输 出 断 言 信 息 并 格 式 化 打 印 在 屏 幕 上。

assert

基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口 实 现CPU/NPU域assert断 言 功 能。

DumpAccChkPoint

基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口Dump指 定Tensor的 内 容。该 接 口 可 以 支 持 指 定 偏 移 位 置 的Tensor打 印。

PrintTimeStamp

提 供 时 间 戳 打 点 功 能,用 于 在 算 子Kernel代 码 中 标 记 关 键 执 行 点。

Trap

当 软 件 产 生 异 常 后,使 用 该 指 令 使kernel中 止 运 行。

GmAlloc

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

ICPU_RUN_KF

进 行 核 函 数 的CPU侧 运 行 验 证 时,CPU调 测 总 入 口,完 成CPU侧 的 算 子 程 序 调 用。

ICPU_SET_TILING_KEY

用 于 指 定 本 次CPU调 测 使 用 的tilingKey。调 测 执 行 时,将 只 执 行 算 子 核 函 数 中 该tilingKey对 应 的 分 支。

GmFree

进 行 核 函 数 的CPU侧 运 行 验 证 时,用 于 释 放 通 过GmAlloc申 请 的 共 享 内 存。

SetKernelMode

CPU调 测 时,设 置 内 核 模 式 为 单AIV模 式,单AIC模 式 或 者MIX模 式,以 分 别 支 持 单AIV矢 量 算 子,单AIC矩 阵 算 子,MIX混 合 算 子 的CPU调 试。

TRACE_START

通 过CAModel进 行 算 子 性 能 仿 真 时,可 对 算 子 任 意 运 行 阶 段 打 点,从 而 分 析 不 同 指 令 的 流 水 图,以 便 进 一 步 性 能 调 优。

用 于 表 示 起 始 位 置 打 点,一 般 与TRACE_STOP配 套 使 用。

TRACE_STOP

通 过CAModel进 行 算 子 性 能 仿 真 时,可 对 算 子 任 意 运 行 阶 段 打 点,从 而 分 析 不 同 指 令 的 流 水 图,以 便 进 一 步 性 能 调 优。

用 于 表 示 终 止 位 置 打 点,一 般 与TRACE_START配 套 使 用。

MetricsProfStart

用 于 设 置 性 能 数 据 采 集 信 号 启 动,和MetricsProfStop配 合 使 用。使 用 工 具 进 行 算 子 上 板 调 优 时,可 在kernel侧 代 码 段 前 后 分 别 调 用MetricsProfStart和MetricsProfStop来 指 定 需 要 调 优 的 代 码 段 范 围。

MetricsProfStop

设 置 性 能 数 据 采 集 信 号 停 止,和MetricsProfStart配 合 使 用。使 用 工 具 进 行 算 子 上 板 调 优 时,可 在kernel侧 代 码 段 前 后 分 别 调 用MetricsProfStart和MetricsProfStop来 指 定 需 要 调 优 的 代 码 段 范 围。

表 11 工 具 函 数 接 口 列 表

接 口 名

功 能 描 述

Async

Async提 供 了 一 个 统 一 的 接 口,用 于 在 不 同 模 式 下(AIC或AIV)执 行 特 定 函 数,从 而 避 免 代 码 中 直 接 的 硬 件 条 件 判 断(如 使 用ASCEND_IS_AIV或ASCEND_IS_AIC)。

NumericLimits

NumericLimits工 具 类,用 于 查 询 指 定 数 据 类 型 的 最 大 值/最 小 值 等 属 性。

GetTaskRatio

适 用 于Cube/Vector分 离 模 式,用 来 获 取Cube/Vector的 配 比。

GetUBSizeInBytes

获 取UB空 间 的 大 小,单 位 为byte。

GetRuntimeUBSize

获 取 运 行 时UB空 间 的 大 小,单 位 为byte。开 发 者 根 据UB的 大 小 来 计 算 循 环 次 数 等 参 数 值。

表 12 Kernel Tiling接 口 列 表

接 口 名

功 能 描 述

GET_TILING_DATA

用 于 获 取 算 子kernel入 口 函 数 传 入 的tiling信 息,并 填 入 注 册 的Tiling结 构 体 中,此 函 数 会 以 宏 展 开 的 方 式 进 行 编 译。如 果 用 户 注 册 了 多 个TilingData结 构 体,使 用 该 接 口 返 回 默 认 注 册 的 结 构 体。

GET_TILING_DATA_WITH_STRUCT

使 用 该 接 口 指 定 结 构 体 名 称,可 获 取 指 定 的tiling信 息,并 填 入 对 应 的Tiling结 构 体 中,此 函 数 会 以 宏 展 开 的 方 式 进 行 编 译。

GET_TILING_DATA_MEMBER

用 于 获 取tiling结 构 体 的 成 员 变 量。

TILING_KEY_IS

在 核 函 数 中 判 断 本 次 执 行 时 的tiling_key是 否 等 于 某 个key,从 而 标 识tiling_key==key的 一 条kernel分 支。

REGISTER_TILING_DEFAULT

用 于 在kernel侧 注 册 用 户 使 用 标 准C++语 法 自 定 义 的 默 认TilingData结 构 体。

REGISTER_TILING_FOR_TILINGKEY

用 于 在kernel侧 注 册 与TilingKey相 匹 配 的TilingData自 定 义 结 构 体;该 接 口 需 提 供 一 个 逻 辑 表 达 式,逻 辑 表 达 式 以 字 符 串“TILING_KEY_VAR”代 指 实 际TilingKey,表 达TIlingKey所 满 足 的 范 围。

REGISTER_NONE_TILING

在Kernel侧 使 用 标 准C++语 法 自 定 义 的TilingData结 构 体 时,若 用 户 不 确 定 需 要 注 册 哪 些 结 构 体,可 使 用 该 接 口告 知 框 架 侧 需 使 用 未 注 册 的 标 准C++语 法 来 定 义TilingData,并 配 套GET_TILING_DATA_WITH_STRUCTGET_TILING_DATA_MEMBERGET_TILING_DATA_PTR_WITH_STRUCT来 获 取 对 应 的TilingData。

KERNEL_TASK_TYPE_DEFAULT

设 置 全 局 默 认 的kernel type,对 所 有 的tiling key生 效。

KERNEL_TASK_TYPE

设 置 某 一 个 具 体 的tiling key对 应 的kernel type。

表 13 ISASI接 口 列 表

分 类

接 口 名

功 能 描 述

标 量 计 算

WriteGmByPassDCache

不 经 过DCache向GM地 址 上 写 数 据。

ReadGmByPassDCache

不 经 过DCache从GM地 址 上 读 数 据。

矢 量 计 算

VectorPadding

根 据padMode(pad模 式)与padSide(pad方 向)对 源 操 作 数 按 照datablock进 行 填 充 操 作。

BilinearInterpolation

双 线 性 插 值 操 作,分 为 垂 直 迭 代 和 水 平 迭 代。

GetCmpMask

获 取Compare(结 果 存 入 寄 存 器)指 令 的 比 较 结 果。

SetCmpMask

Select不 传 入mask参 数 的 接 口 设 置 比 较 寄 存 器。

GetReduceRepeatSumSpr

获 取ReduceSum(针 对tensor前n个 数 据 计 算)接 口 的 计 算 结 果。

GetReduceRepeatMaxMinSpr

获 取ReduceMaxReduceMin连 续 场 景 下 的 最 大/最 小 值 以 及 相 应 的 索 引 值。

ProposalConcat

将 连 续 元 素 合 入Region Proposal内 对 应 位 置,每 次 迭 代 会 将16个 连 续 元 素 合 入 到16个Region Proposals的 对 应 位 置 里。

ProposalExtract

与ProposalConcat功 能 相 反,从Region Proposals内 将 相 应 位 置 的 单 个 元 素 抽 取 后 重 排,每 次 迭 代 处 理16个Region Proposals,抽 取16个 元 素 后 连 续 排 列。

RpSort16

根 据Region Proposals中 的score域 对 其 进 行 排 序(score大 的 排 前 面),每 次 排16个Region Proposals。

MrgSort4

将 已 经 排 好 序 的 最 多4 条region proposals队 列,排 列 并 合 并 成1条 队 列,结 果 按 照score域 由 大 到 小 排 序。

Sort32

排 序 函 数,一 次 迭 代 可 以 完 成32个 数 的 排 序。

MrgSort

将 已 经 排 好 序 的 最 多4 条 队 列,合 并 排 列 成 1 条 队 列,结 果 按 照score域 由 大 到 小 排 序。

GetMrgSortResult

获 取MrgSortMrgSort4已 经 处 理 过 的 队 列 里 的Region Proposal个 数,并 依 次 存 储 在 四 个List入 参 中。

Gatherb

给 定 一 个 输 入 的 张 量 和 一 个 地 址 偏 移 张 量,Gatherb指 令 根 据 偏 移 地 址 将 输 入 张 量 收 集 到 结 果 张 量 中。

Scatter

给 定 一 个 连 续 的 输 入 张 量 和 一 个 目 的 地 址 偏 移 张 量,Scatter指 令 根 据 偏 移 地 址 生 成 新 的 结 果 张 量 后 将 输 入 张 量 分 散 到 结 果 张 量 中。

矢 量 计 算

Prelu

源 操 作 数src0大 于0的 情 况 下 直 接 将src0写 入 目 的 操 作 数dst,否 则 将 源 操 作 数src0 * src1的 结 果 写 入dst。

Mull

对 前count个 输 入 数 据src0、src1按 元 素 相 乘 操 作,将 结 果 写 入dst0Local,溢 出 部 分 写 入dst1Local。

AbsSub

将src0Local与src1相 减 再 求 绝 对 值, 并 将 计 算 结 果 写 入dst。

ExpSub

src0与src1相 减,将 差 值 作 为 指 数 计 算 自 然 常 数e的 幂 次, 并 将 计 算 结 果 写 入dst。

MulsCast

将 矢 量 源 操 作 数 前count个 数 据 与 标 量 相 乘 再 按 照CAST_ROUND模 式 转 换 成half类 型, 并 将 计 算 结 果 写 入dst,此 接 口 支 持 标 量 在 前 和 标 量 在 后 两 种 场 景。

Truncate

将 源 操 作 数 的 浮 点 数 元 素 截 断 到 整 数 位,同 时 源 操 作 数 的 数 据 类 型 保 持 不 变。

Interleave

给 定 源 操 作 数src0和src1,将src0和src1中 的 元 素 交 织 存 入 结 果 操 作 数dst0和dst1中。

DeInterleave

给 定 源 操 作 数src0和src1,将src0和src1中 的 元 素 解 交 织 存 入 结 果 操 作 数dst0和dst1中。

数 据 搬 运

DataCopyPad

该 接 口 提 供 数 据 非 对 齐 搬 运 的 功 能。

SetPadValue

设 置DataCopyPad接 口 填 充 的 数 值。

矩 阵 计 算

Mmad

完 成 矩 阵 乘 加 操 作。

MmadWithSparse

完 成 矩 阵 乘 加 操 作,传 入 的 左 矩 阵A为 稀 疏 矩 阵, 右 矩 阵B为 稠 密 矩 阵 。

SetHF32Mode

此 接 口 同SetHF32TransModeSetMMRowMajor以 及SetMMColumnMajor一 样,都 用 于 设 置 寄 存 器 的 值。SetHF32Mode接 口 用 于 设 置MMAD的HF32模 式。

SetHF32TransMode

此 接 口 同SetHF32ModeSetMMRowMajor以 及SetMMColumnMajor一 样,都 用 于 设 置 寄 存 器 的 值。SetHF32TransMode用 于 设 置MMAD的HF32取 整 模 式,仅 在MMAD的HF32模 式 生 效 时 有 效。

SetMMRowMajor

此 接 口 同SetHF32ModeSetHF32TransMode一 样,都 用 于 设 置 寄 存 器 的 值,本 接 口 用 于 设 置MMAD计 算 时 优 先 通 过N方 向。

SetMMColumnMajor

此 接 口 同SetHF32ModeSetHF32TransMode一 样,都 用 于 设 置 寄 存 器 的 值,本 接 口 用 于 设 置MMAD计 算 时 优 先 通 过M方 向。

Conv2D

计 算 给 定 输 入 张 量 和 权 重 张 量 的2-D卷 积,输 出 结 果 张 量。Conv2d卷 积 层 多 用 于 图 像 识 别,使 用 过 滤 器 提 取 图 像 中 的 特 征。

Gemm

根 据 输 入 的 切 分 规 则,将 给 定 的 两 个 输 入 张 量 做 矩 阵 乘,输 出 至 结 果 张 量。将A和B两 个 输 入 矩 阵 乘 法 在 一 起,得 到 一 个 输 出 矩 阵C。

SetFixPipeConfig

DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 量 化 时,通 过 调 用 该 接 口 设 置 量 化 流 程 中tensor量 化 参 数。

SetFixpipeNz2ndFlag

DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 格 式 转 换(NZ2ND)时,通 过 调 用 该 接 口 设 置NZ2ND相 关 配 置。

SetFixpipePreQuantFlag

DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 量 化 时,通 过 调 用 该 接 口 设 置 量 化 流 程 中scalar量 化 参 数。

SetFixPipeClipRelu

DataCopy(CO1->GM)过 程 中 进 行 随 路 量 化 后,通 过 调 用 该 接 口 设 置ClipRelu操 作 的 最 大 值。

SetFixPipeAddr

DataCopy(CO1->GM)过 程 中 进 行 随 路 量 化 后,通 过 调 用 该 接 口 设 置element-wise操 作 时LocalTensor的 地 址。

Fill

初 始 化LocalTensor(TPosition为A1/A2/B1/B2)为 某 一 个 具 体 的 数 值。

LoadData

LoadData包 括Load2D和Load3D数 据 加 载 功 能。

LoadDataWithTranspose

该 接 口 实 现 带 转 置 的2D格 式 数 据 从A1/B1到A2/B2的 加 载。

SetAippFunctions

设 置 图 片 预 处 理(AIPP,AI core pre-process)相 关 参 数。

LoadImageToLocal

将 图 像 数 据 从GM搬 运 到A1/B1。 搬 运 过 程 中 可 以 完 成 图 像 预 处 理 操 作:包 括 图 像 翻 转,改 变 图 像 尺 寸(抠 图,裁 边,缩 放,伸 展),以 及 色 域 转 换,类 型 转 换 等。

LoadUnZipIndex

加 载GM上 的 压 缩 索 引 表 到 内 部 寄 存 器。

LoadDataUnzip

将GM上 的 数 据 解 压 并 搬 运 到A1/B1/B2上。

LoadDataWithSparse

用 于 搬 运 存 放 在B1里 的512B的 稠 密 权 重 矩 阵 到B2里,同 时 读 取128B的 索 引 矩 阵 用 于 稠 密 矩 阵 的 稀 疏 化。

SetFmatrix

用 于 调 用Load3Dv1/Load3Dv2时 设 置FeatureMap的 属 性 描 述。

SetLoadDataBoundary

设 置Load3D时A1/B1边 界 值。

SetLoadDataRepeat

用 于 设 置Load3Dv2接 口 的repeat参 数。设 置repeat参 数 后,可 以 通 过 调 用 一 次Load3Dv2接 口 完 成 多 个 迭 代 的 数 据 搬 运。

SetLoadDataPaddingValue

设 置padValue,用 于Load3Dv1/Load3Dv2。

Fixpipe

矩 阵 计 算 完 成 后,对 结 果 进 行 处 理,例 如 对 计 算 结 果 进 行 量 化 操 作,并 把 数 据 从CO1搬 迁 到Global Memory中。

同 步 控 制

SetFlag/WaitFlag

同 一 核 内 不 同 流 水 线 之 间 的 同 步 指 令。具 有 数 据 依 赖 的 不 同 流 水 指 令 之 间 需 要 插 此 同 步。

PipeBarrier

阻 塞 相 同 流 水,具 有 数 据 依 赖 的 相 同 流 水 之 间 需 要 插 此 同 步。

DataSyncBarrier

用 于 阻 塞 后 续 的 指 令 执 行,直 到 所 有 之 前 的 内 存 访 问 指 令(需 要 等 待 的 内 存 位 置 可 通 过 参 数 控 制)执 行 结 束。

CrossCoreSetFlag

针 对 分 离 模 式,AI Core上 的Cube核(AIC)与Vector核(AIV)之 间 的 同 步 设 置 指 令。

CrossCoreWaitFlag

针 对 分 离 模 式,AI Core上 的Cube核(AIC)与Vector核(AIV)之 间 的 同 步 等 待 指 令。

同 步 控 制

Mutex

Mutex用 于 核 内 异 步 流 水 指 令 之 间 的 同 步 处 理,其 功 能 类 似 于 传 统CPU中 的 锁 机 制。通 过 锁 定 指 定 流 水 再 释 放 流 水 来 完 成 流 水 间 的 同 步 依 赖。每 个 锁 有 固 定 的 一 个MutexID,该ID可 通 过 用 户 自 定 义(范 围 为0-27)或 者 通 过AllocMutexID/ReleaseMutexID进 行 申 请 释 放。

AllocMutexID

从 框 架 获 取 并 占 用 一 个MutexID,与ReleaseMutexID配 合 使 用,管 理MutexID的 获 取 和 释 放。

ReleaseMutexID

从 框 架 释 放 一 个MutexID,与AllocMutexID配 合 使 用

缓 存 处 理

ICachePreLoad

从 指 令 所 在DDR地 址 预 加 载 指 令 到ICache中。

GetICachePreloadStatus

获 取ICACHE的PreLoad的 状 态。

系 统 变 量 访 问

GetProgramCounter

获 取 程 序 计 数 器 的 指 针,程 序 计 数 器 用 于 记 录 当 前 程 序 执 行 的 位 置。

GetSubBlockNum

获 取AI Core上Vector核 的 数 量。

GetSubBlockIdx

获 取AI Core上Vector核 的ID。

GetSystemCycle

获 取 当 前 系 统cycle数,若 换 算 成 时 间 需 要 按 照50MHz的 频 率,时 间 单 位 为us,换 算 公 式 为:time = (cycle数/50) us 。

系 统 变 量 访 问

SetCtrlSpr

对CTRL寄 存 器(控 制 寄 存 器)的 特 定 比 特 位 进 行 设 置。

GetCtrlSpr

读 取CTRL寄 存 器(控 制 寄 存 器)特 定 比 特 位 上 的 值。

ResetCtrlSpr

对CTRL寄 存 器(控 制 寄 存 器)的 特 定 比 特 位 做 重 置。

原 子 操 作

SetAtomicMax

原 子 操 作 函 数,设 置 后 续 从VECOUT传 输 到GM的 数 据 是 否 执 行 原 子 比 较,将 待 拷 贝 的 内 容 和GM已 有 内 容 进 行 比 较,将 最 大 值 写 入GM。

SetAtomicMin

原 子 操 作 函 数,设 置 后 续 从VECOUT传 输 到GM的 数 据 是 否 执 行 原 子 比 较,将 待 拷 贝 的 内 容 和GM已 有 内 容 进 行 比 较,将 最 小 值 写 入GM。

SetStoreAtomicConfig

设 置 原 子 操 作 启 用 位 与 原 子 操 作 类 型。

GetStoreAtomicConfig

获 取 原 子 操 作 启 用 位 与 原 子 操 作 类 型 的 值。

调 试 接 口

CheckLocalMemoryIA

监 视 设 定 范 围 内 的UB读 写 行 为,如 果 监 视 到 有 设 定 范 围 的 读 写 行 为 则 会 出 现EXCEPTION报 错,未 监 视 到 设 定 范 围 的 读 写 行 为 则 不 会 报 错。

Cube分 组 管 理

CubeResGroupHandle

CubeResGroupHandle用 于 在 分 离 模 式 下 通 过 软 同 步 控 制AIC和AIV之 间 进 行 通 讯,实 现AI Core计 算 资 源 分 组。

GroupBarrier

当 同 一 个CubeResGroupHandle中 的 两 个AIV任 务 之 间 存 在 依 赖 关 系 时,可 以 使 用GroupBarrier控 制 同 步。

KfcWorkspace

KfcWorkspace为 通 信 空 间 描 述 符,管 理 不 同CubeResGroupHandle的 消 息 通 信 区 划 分,与CubeResGroupHandle配 合 使 用。KfcWorkspace的 构 造 函 数 用 于 创 建KfcWorkspace对 象。

高 阶API

表 14 数 学 计 算API列 表

接 口 名功 能 描 述
Acos按 元 素 做 反 余 弦 函 数 计 算。
Acosh按 元 素 做 双 曲 反 余 弦 函 数 计 算。
Asin按 元 素 做 反 正 弦 函 数 计 算。
Asinh按 元 素 做 反 双 曲 正 弦 函 数 计 算。
Atan按 元 素 做 三 角 函 数 反 正 切 运 算。
Atanh按 元 素 做 反 双 曲 正 切 余 弦 函 数 计 算。
Axpy源 操 作 数 中 每 个 元 素 与 标 量 求 积 后 和 目 的 操 作 数 中 的 对 应 元 素 相 加。
Ceil获 取 大 于 或 等 于x的 最 小 的 整 数 值,即 向 正 无 穷 取 整 操 作。
ClampMax将srcTensor中 大 于scalar的 数 替 换 为scalar,小 于 等 于scalar的 数 保 持 不 变,作 为dstTensor输 出。
ClampMin将srcTensor中 小 于scalar的 数 替 换 为scalar,大 于 等 于scalar的 数 保 持 不 变,作 为dstTensor输 出。
Cos按 元 素 做 三 角 函 数 余 弦 运 算。
Cosh按 元 素 做 双 曲 余 弦 函 数 计 算。
CumSum对 数 据 按 行 依 次 累 加 或 按 列 依 次 累 加。
Digamma按 元 素 计 算x的gamma函 数 的 对 数 导 数。
Erf按 元 素 做 误 差 函 数 计 算,也 称 为 高 斯 误 差 函 数。
Erfc返 回 输 入x的 互 补 误 差 函 数 结 果,积 分 区 间 为x到 无 穷 大。
Exp按 元 素 取 自 然 指 数。
Floor获 取 小 于 或 等 于x的 最 小 的 整 数 值,即 向 负 无 穷 取 整 操 作。
Fmod按 元 素 计 算 两 个 浮 点 数 相 除 后 的 余 数。
Frac按 元 素 做 取 小 数 计 算。
Hypot按 元 素 计 算 两 个 浮 点 数 平 方 和 的 平 方 根。
IsFinite按 元 素 判 断 输 入 的 浮 点 数 是 否 非NAN、非±INF。
Lgamma按 元 素 计 算x的gamma函 数 的 绝 对 值 并 求 自 然 对 数。
Log按 元 素 以e、2、10为 底 做 对 数 运 算。
Power实 现 按 元 素 做 幂 运 算 功 能。
Round将 输 入 的 元 素 四 舍 五 入 到 最 接 近 的 整 数。
Sign按 元 素 执 行Sign操 作,Sign是 指 返 回 输 入 数 据 的 符 号。
Sin按 元 素 做 正 弦 函 数 计 算。
Sinh按 元 素 做 双 曲 正 弦 函 数 计 算。
Tan按 元 素 做 正 切 函 数 计 算。
Tanh按 元 素 做 逻 辑 回 归Tanh。
Trunc按 元 素 做 浮 点 数 截 断 操 作,即 向 零 取 整 操 作。
Xor按 元 素 执 行Xor(异 或)运 算。
Fma按 元 素 计 算 两 个 输 入 相 乘 后 与 第 三 个 输 入 相 加 的 结 果。
IsNan按 元 素 判 断 输 入 的 浮 点 数 是 否 为nan。
IsInf按 元 素 判 断 输 入 的 浮 点 数 是 否 为±INF。
Rint获 取 与 输 入 数 据 最 接 近 的 整 数。
SinCos按 元 素 进 行 正 弦 计 算 和 余 弦 计 算,分 别 获 得 正 弦 和 余 弦 的 结 果。
LogicalNot按 元 素 进 行 取 反 操 作。
LogicalAnd按 元 素 进 行 与 操 作。
LogicalAnds输 入 矢 量 内 的 每 个 元 素 与 标 量 进 行 与 操 作。
LogicalOr按 元 素 进 行 或 操 作。
LogicalOrs输 入 矢 量 内 的 每 个 元 素 与 标 量 进 行 或 操 作。
LogicalXor按 元 素 进 行 逻 辑 异 或 操 作。
BitwiseNot逐 比 特 对 输 入 进 行 取 反。
BitwiseAnd逐 比 特 对 两 个 输 入 进 行 与 操 作。
BitwiseOr逐 比 特 对 两 个 输 入 进 行 或 操 作。
BitwiseXor逐 比 特 对 两 个 输 入 进 行 异 或 操 作。
Where根 据 指 定 的 条 件,从 两 个 源 操 作 数 中 选 择 元 素,生 成 目 标 操 作 数。

表 15 量 化 操 作API列 表

接 口 名功 能 描 述
AntiQuantize按 元 素 做 伪 量 化 计 算,比 如 将int8_t数 据 类 型 伪 量 化 为half数 据 类 型。
AscendAntiQuant按 元 素 做 伪 量 化 计 算,比 如 将int8_t数 据 类 型 伪 量 化 为half数 据 类 型。
Dequantize按 元 素 做 反 量 化 计 算,比 如 将int32_t数 据 类 型 反 量 化 为half/float等 数 据 类 型。
AscendDequant按 元 素 做 反 量 化 计 算,比 如 将int32_t数 据 类 型 反 量 化 为half/float等 数 据 类 型。
Quantize按 元 素 做 量 化 计 算,比 如 将half/float数 据 类 型 量 化 为int8_t数 据 类 型。
AscendQuant按 元 素 做 量 化 计 算,比 如 将half/float数 据 类 型 量 化 为int8_t数 据 类 型。

表 16 归 一 化 操 作API列 表

接 口 名功 能 描 述
BatchNorm对 于 每 个batch中 的 样 本,对 其 输 入 的 每 个 特 征 在batch的 维 度 上 进 行 归 一 化。
DeepNorm在 深 层 神 经 网 络 训 练 过 程 中,可 以 替 代LayerNorm的 一 种 归 一 化 方 法。
GroupNorm将 输 入 的C维 度 分 为groupNum组,对 每 一 组 数 据 进 行 标 准 化。
LayerNorm将 输 入 数 据 收 敛 到[0, 1]之 间,可 以 规 范 网 络 层 输 入 输 出 数 据 分 布 的 一 种 归 一 化 方 法。
LayerNormGrad用 于 计 算LayerNorm的 反 向 传 播 梯 度。
LayerNormGradBeta用 于 获 取 反 向beta/gmma的 数 值,和LayerNormGrad共 同 输 出pdx, gmma和beta。
NormalizeLayerNorm中,已 知 均 值 和 方 差,计 算shape为[A,R]的 输 入 数 据 的 标 准 差 的 倒 数rstd和 归 一 化 输 出y。
RmsNorm实 现 对shape大 小 为[B,S,H]的 输 入 数 据 的RmsNorm归 一 化。
WelfordUpdate实 现Welford算 法 的 前 处 理。
WelfordFinalize实 现Welford算 法 的 后 处 理。

表 17 激 活 函 数API列 表

接 口 名功 能 描 述
AdjustSoftMaxRes用 于 对SoftMax相 关 计 算 结 果 做 后 处 理,调 整SoftMax的 计 算 结 果 为 指 定 的 值。
FasterGeluFastGelu化 简 版 本 的 一 种 激 活 函 数。
FasterGeluV2实 现FastGeluV2版 本 的 一 种 激 活 函 数。
GeGLU采 用GeLU作 为 激 活 函 数 的GLU变 体。
GeluGELU是 一 个 重 要 的 激 活 函 数,其 灵 感 来 源 于relu和dropout,在 激 活 中 引 入 了 随 机 正 则 的 思 想。
LogSoftMax对 输 入tensor做LogSoftmax计 算。
ReGlu一 种GLU变 体,使 用Relu作 为 激 活 函 数。
Sigmoid按 元 素 做 逻 辑 回 归Sigmoid。
Silu按 元 素 做Silu运 算。
SimpleSoftMax使 用 计 算 好 的sum和max数 据 对 输 入tensor做softmax计 算。
SoftMax对 输 入tensor按 行 做Softmax计 算。
SoftmaxFlashSoftMax增 强 版 本,除 了 可 以 对 输 入tensor做softmaxflash计 算,还 可 以 根 据 上 一 次softmax计 算 的sum和max来 更 新 本 次 的softmax计 算 结 果。
SoftmaxFlashV2SoftmaxFlash增 强 版 本,对 应FlashAttention-2算 法。
SoftmaxFlashV3SoftmaxFlash增 强 版 本,对 应Softmax PASA算 法。
SoftmaxGrad对 输 入tensor做grad反 向 计 算 的 一 种 方 法。
SoftmaxGradFront对 输 入tensor做grad反 向 计 算 的 一 种 方 法。
SwiGLU采 用Swish作 为 激 活 函 数 的GLU变 体。
Swish神 经 网 络 中 的Swish激 活 函 数。

表 18 归 约 操 作API列 表

接 口 名功 能 描 述
Sum获 取 最 后 一 个 维 度 的 元 素 总 和。
Mean根 据 最 后 一 轴 的 方 向 对 各 元 素 求 平 均 值。
ReduceXorSum按 照 元 素 执 行Xor(按 位 异 或)运 算,并 将 计 算 结 果ReduceSum求 和。
ReduceSum对 一 个 多 维 向 量 按 照 指 定 的 维 度 进 行 数 据 累 加。
ReduceMean对 一 个 多 维 向 量 按 照 指 定 的 维 度 求 平 均 值。
ReduceMax对 一 个 多 维 向 量 在 指 定 的 维 度 求 最 大 值。
ReduceMin对 一 个 多 维 向 量 在 指 定 的 维 度 求 最 小 值。
ReduceAny对 一 个 多 维 向 量 在 指 定 的 维 度 求 逻 辑 或。
ReduceAll对 一 个 多 维 向 量 在 指 定 的 维 度 求 逻 辑 与。
ReduceProd对 一 个 多 维 向 量 在 指 定 的 维 度 求 积。

表 19 排 序 操 作API列 表

接 口 名功 能 描 述
TopK获 取 最 后 一 个 维 度 的 前k个 最 大 值 或 最 小 值 及 其 对 应 的 索 引。
Concat对 数 据 进 行 预 处 理,将 要 排 序 的 源 操 作 数srcLocal一 一 对 应 的 合 入 目 标 数 据concatLocal中,数 据 预 处 理 完 后,可 以 进 行Sort。
Extract处 理Sort的 结 果 数 据,输 出 排 序 后 的value和index。
Sort排 序 函 数,按 照 数 值 大 小 进 行 降 序 排 序。
MrgSort将 已 经 排 好 序 的 最 多4条 队 列,合 并 排 列 成1条 队 列,结 果 按 照score域 由 大 到 小 排 序。

表 20 数 据 过 滤API列 表

接 口 名功 能 描 述
Select给 定 两 个 源 操 作 数src0和src1,根 据maskTensor相 应 位 置 的 值(非bit位)选 取 元 素,得 到 目 的 操 作 数dst。
DropOut提 供 根 据MaskTensor对 源 操 作 数 进 行 过 滤 的 功 能,得 到 目 的 操 作 数。

表 21 张 量 变 换API列 表

接 口 名功 能 描 述
Transpose对 输 入 数 据 进 行 数 据 排 布 及Reshape操 作。
TransData将 输 入 数 据 的 排 布 格 式 转 换 为 目 标 排 布 格 式。
Broadcast将 输 入 按 照 输 出shape进 行 广 播。
Pad对height * width的 二 维Tensor在width方 向 上pad到32B对 齐。
UnPad对height * width的 二 维Tensor在width方 向 上 进 行unpad。
Fill将Global Memory上 的 数 据 初 始 化 为 指 定 值。

表 22 索 引 计 算API列 表

接 口 名功 能 描 述
Arange给 定 起 始 值,等 差 值 和 长 度,返 回 一 个 等 差 数 列。

表 23 矩 阵 计 算API列 表

接 口 名功 能 描 述
MatmulMatmul矩 阵 乘 法 的 运 算。

表 24 HCCL通 信 类API列 表

接 口 名功 能 描 述
HCCL通 信 类在AI Core侧 编 排 集 合 通 信 任 务。

表 25 卷 积 计 算API列 表

接 口 名功 能 描 述
Conv3D3维 卷 积 正 向 矩 阵 运 算。
Conv3DBackpropInput卷 积 的 反 向 运 算,求 解 特 征 矩 阵 的 反 向 传 播 误 差。
Conv3DBackpropFilter卷 积 的 反 向 运 算,求 解 权 重 的 反 向 传 播 误 差。

表 26 随 机 函 数API列 表

接 口 名功 能 描 述
PhiloxRandom基 于Philox随 机 数 生 成 算 法,给 定 随 机 数 种 子,生 成 若 干 的 随 机 数。

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