SIMD API列 表
基 础 数 据 结 构
表 1 基 础 数 据 结 构 列 表
LocalTensor用 于 存 放AI Core中Local Memory(内 部 存 储)的 数 据,支 持 逻 辑 位 置TPosition为VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2。 | |
Coordinate本 质 上 是 一 个 元 组(tuple),用 于 表 示 张 量 在 不 同 维 度 的 位 置 信 息,即 坐 标 值。 | |
Layout<Shape, Stride>数 据 结 构 是 描 述 多 维 张 量 内 存 布 局 的 基 础 模 板 类,通 过 编 译 时 的 形 状(Shape)和 步 长(Stride)信 息,实 现 逻 辑 坐 标 空 间 到 一 维 内 存 地 址 空 间 的 映 射,为 复 杂 张 量 操 作 和 硬 件 优 化 提 供 基 础 支 持。 | |
TensorTrait数 据 结 构 是 描 述Tensor相 关 信 息 的 基 础 模 板 类,包 含Tensor的 数 据 类 型、逻 辑 位 置 和Layout内 存 布 局。 |
基 础API
表 2 Memory数 据 搬 运API列 表
数 据 搬 运 接 口,包 括 普 通 数 据 搬 运、增 强 数 据 搬 运、切 片 数 据 搬 运、随 路 格 式 转 换。 | |
VECIN、VECCALC、VECOUT之 间 的 搬 运 指 令,支 持mask操 作 和DataBlock间 隔 操 作。 |
表 3 Memory矢 量 计 算API列 表
源 操 作 数 矢 量 内 每 个 元 素 与 标 量 相 比,如 果 比 标 量 大,则 取 源 操 作 数 值,比 标 量 的 值 小,则 取 标 量 值。 | ||
源 操 作 数 矢 量 内 每 个 元 素 与 标 量 相 比,如 果 比 标 量 大,则 取 标 量 值,比 标 量 的 值 小,则 取 源 操 作 数 值。 | ||
矢 量 内 每 个 元 素 和 标 量 间 做 减 法,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。 | ||
矢 量 内 每 个 元 素 和 标 量 间 做 除 法,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。 | ||
对 源 操 作 数 中 的 每 个 元 素 进 行 左 移 操 作,左 移 的 位 数 由 输 入 参 数scalarValue决 定。 | ||
对 源 操 作 数 中 的 每 个 元 素 进 行 右 移 操 作,右 移 的 位 数 由 输 入 参 数scalarValue决 定。 | ||
矢 量 内 每 个 元 素 和 标 量 间 做 与 操 作,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。 | ||
矢 量 内 每 个 元 素 和 标 量 间 做 或 操 作,支 持 标 量 在 前 和 标 量 在 后 两 种 场 景,其 中 标 量 输 入 支 持 配 置LocalTensor单 点 元 素。 | ||
按 元 素 求 和,结 果 和0对 比 取 较 大 值,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。 | ||
依 次 计 算 按 元 素 求 和、结 果 进 行deq量 化 后 再 进 行relu计 算(结 果 和0对 比 取 较 大 值)。 | ||
按 元 素 求 差,结 果 和0对 比 取 较 大 值,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。 | ||
按 元 素 将src0Local和src1Local相 乘 并 和dstLocal相 加,将 最 终 结 果 存 放 进dstLocal中。 | ||
按 元 素 求 积,并 根 据 源 操 作 数 和 目 的 操 作 数Tensor的 数 据 类 型 进 行 精 度 转 换。 | ||
按 元 素 将src0Local和dstLocal相 乘 并 加 上src1Local,最 终 结 果 存 放 入dstLocal。 | ||
按 元 素 将src0Local和dstLocal相 乘 并 加 上src1Local,将 结 果 和0作 比 较,取 较 大 值,最 终 结 果 存 放 进dstLocal中。 | ||
逐 元 素 比 较 两 个tensor大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。 | ||
逐 元 素 比 较 两 个tensor大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。Compare接 口 需 要mask参 数 时,可 以 使 用 此 接 口。计 算 结 果 存 放 入 寄 存 器 中。 | ||
逐 元 素 比 较 一 个tensor中 的 元 素 和 另 一 个Scalar的 大 小,如 果 比 较 后 的 结 果 为 真,则 输 出 结 果 的 对 应 比 特 位 为1,否 则 为0。 | ||
给 定 两 个 源 操 作 数src0和src1,根 据selMask(用 于 选 择 的Mask掩 码)的 比 特 位 值 选 取 元 素,得 到 目 的 操 作 数dst。选 择 的 规 则 为:当selMask的 比 特 位 是1时,从src0中 选 取,比 特 位 是0时 从src1选 取。 | ||
以 内 置 固 定 模 式 对 应 的 二 进 制 或 者 用 户 自 定 义 输 入 的Tensor数 值 对 应 的 二 进 制 为gather mask(数 据 收 集 的 掩 码),从 源 操 作 数 中 选 取 元 素 写 入 目 的 操 作 数 中。 | ||
每 个repeat内 所 有 数 据 求 和。和WholeReduceSum接 口 相 比,不 支 持mask逐bit模 式。建 议 使 用 功 能 更 全 面 的WholeReduceSum接 口。 | ||
可 实 现16*16的 二 维 矩 阵 数 据 块 的 转 置 和[N,C,H,W]与[N,H,W,C]互 相 转 换。 | ||
数 据 格 式 转 换,一 般 用 于 将NCHW格 式 转 换 成NC1HWC0格 式。特 别 的,也 可 以 用 于 二 维 矩 阵 数 据 块 的 转 置。 | ||
给 定 一 个 输 入 张 量,每 一 次 取 输 入 张 量 中 的8个 数 填 充 到 结 果 张 量 的8个datablock(32Bytes)中 去,每 个 数 对 应 一 个datablock。 | ||
给 定 输 入 的 张 量 和 一 个 地 址 偏 移 张 量,Gather指 令 根 据 偏 移 地 址 将 输 入 张 量 按 元 素 收 集 到 结 果 张 量 中。 | ||
设 置mask模 式 为Counter模 式。该 模 式 下,不 需 要 开 发 者 去 感 知 迭 代 次 数、处 理 非 对 齐 的 尾 块 等 操 作,可 直 接 传 入 计 算 数 据 量,实 际 迭 代 次 数 由Vector计 算 单 元 自 动 推 断。 | ||
设 置mask模 式 为Normal模 式。该 模 式 为 系 统 默 认 模 式,支 持 开 发 者 配 置 迭 代 次 数。 | ||
恢 复mask的 值 为 默 认 值(全1),表 示 矢 量 计 算 中 每 次 迭 代 内 的 所 有 元 素 都 将 参 与 运 算。 |
表 4 标 量 计 算API列 表
计 算 一 个uint64_t类 型 数 字 前 导0的 个 数(二 进 制 从 最 高 位 到 第 一 个1一 共 有 多 少 个0)。 | |
计 算 一 个uint64_t类 型 数 字 的 二 进 制 中,从 最 高 数 值 位 开 始 与 符 号 位 相 同 的 连 续 比 特 位 的 个 数。 | |
表 5 资 源 管 理API列 表
表 6 同 步 控 制API列 表
TQueSync类 提 供 同 步 控 制 接 口,开 发 者 可 以 使 用 这 类API来 自 行 完 成 同 步 控 制。 | |
当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。调 用IBSet设 置 某 一 个 核 的 标 志 位,与IBWait成 对 使 用,表 示 核 之 间 的 同 步 等 待 指 令,等 待 某 一 个 核 操 作 完 成。 | |
当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。IBWait与IBSet成 对 使 用,表 示 核 之 间 的 同 步 等 待 指 令,等 待 某 一 个 核 操 作 完 成。 | |
当 不 同 核 之 间 操 作 同 一 块 全 局 内 存 且 可 能 存 在 读 后 写、写 后 读 以 及 写 后 写 等 数 据 依 赖 问 题 时,通 过 调 用 该 函 数 来 插 入 同 步 语 句 来 避 免 上 述 数 据 依 赖 时 可 能 出 现 的 数 据 读 写 错 误 问 题。目 前 多 核 同 步 分 为 硬 同 步 和 软 同 步,硬 件 同 步 是 利 用 硬 件 自 带 的 全 核 同 步 指 令 由 硬 件 保 证 多 核 同 步,软 件 同 步 是 使 用 软 件 算 法 模 拟 实 现。 | |
初 始 化GM共 享 内 存 的 值,完 成 初 始 化 后 才 可 以 调 用WaitPreBlock和NotifyNextBlock。 | |
通 过 读GM地 址 中 的 值,确 认 是 否 需 要 继 续 等 待,当GM的 值 满 足 当 前 核 的 等 待 条 件 时,该 核 即 可 往 下 执 行,进 行 下 一 步 操 作。 | |
通 过 写GM地 址,通 知 下 一 个 核 当 前 核 的 操 作 已 完 成,下 一 个 核 可 以 进 行 操 作。 | |
在SuperKernel的 子Kernel中 调 用,调 用 后 的 指 令 可 以 和 后 续 其 他 的 子Kernel实 现 并 行,提 升 整 体 性 能。 | |
在SuperKernel的 子Kernel中 调 用,调 用 前 的 指 令 可 以 和 前 序 其 他 的 子Kernel实 现 并 行,提 升 整 体 性 能。 |
表 7 缓 存 处 理API列 表
表 8 系 统 变 量 访 问API列 表
表 9 原 子 操 作 接 口 列 表
表 10 调 试 接 口 列 表
基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口 实 现CPU侧/NPU侧 调 试 场 景 下 的 格 式 化 输 出 功 能。 | |
ascendc_assert提 供 了 一 种 在CPU/NPU域 实 现 断 言 功 能 的 接 口。当 断 言 条 件 不 满 足 时,系 统 会 输 出 断 言 信 息 并 格 式 化 打 印 在 屏 幕 上。 | |
基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口 实 现CPU/NPU域assert断 言 功 能。 | |
基 于 算 子 工 程 开 发 的 算 子,可 以 使 用 该 接 口Dump指 定Tensor的 内 容。该 接 口 可 以 支 持 指 定 偏 移 位 置 的Tensor打 印。 | |
进 行 核 函 数 的CPU侧 运 行 验 证 时,用 于 创 建 共 享 内 存:在/tmp目 录 下 创 建 一 个 共 享 文 件,并 返 回 该 文 件 的 映 射 指 针。 | |
进 行 核 函 数 的CPU侧 运 行 验 证 时,CPU调 测 总 入 口,完 成CPU侧 的 算 子 程 序 调 用。 | |
用 于 指 定 本 次CPU调 测 使 用 的tilingKey。调 测 执 行 时,将 只 执 行 算 子 核 函 数 中 该tilingKey对 应 的 分 支。 | |
CPU调 测 时,设 置 内 核 模 式 为 单AIV模 式,单AIC模 式 或 者MIX模 式,以 分 别 支 持 单AIV矢 量 算 子,单AIC矩 阵 算 子,MIX混 合 算 子 的CPU调 试。 | |
通 过CAModel进 行 算 子 性 能 仿 真 时,可 对 算 子 任 意 运 行 阶 段 打 点,从 而 分 析 不 同 指 令 的 流 水 图,以 便 进 一 步 性 能 调 优。 用 于 表 示 起 始 位 置 打 点,一 般 与TRACE_STOP配 套 使 用。 | |
通 过CAModel进 行 算 子 性 能 仿 真 时,可 对 算 子 任 意 运 行 阶 段 打 点,从 而 分 析 不 同 指 令 的 流 水 图,以 便 进 一 步 性 能 调 优。 用 于 表 示 终 止 位 置 打 点,一 般 与TRACE_START配 套 使 用。 | |
用 于 设 置 性 能 数 据 采 集 信 号 启 动,和MetricsProfStop配 合 使 用。使 用 工 具 进 行 算 子 上 板 调 优 时,可 在kernel侧 代 码 段 前 后 分 别 调 用MetricsProfStart和MetricsProfStop来 指 定 需 要 调 优 的 代 码 段 范 围。 | |
设 置 性 能 数 据 采 集 信 号 停 止,和MetricsProfStart配 合 使 用。使 用 工 具 进 行 算 子 上 板 调 优 时,可 在kernel侧 代 码 段 前 后 分 别 调 用MetricsProfStart和MetricsProfStop来 指 定 需 要 调 优 的 代 码 段 范 围。 |
表 11 工 具 函 数 接 口 列 表
Async提 供 了 一 个 统 一 的 接 口,用 于 在 不 同 模 式 下(AIC或AIV)执 行 特 定 函 数,从 而 避 免 代 码 中 直 接 的 硬 件 条 件 判 断(如 使 用ASCEND_IS_AIV或ASCEND_IS_AIC)。 | |
获 取 运 行 时UB空 间 的 大 小,单 位 为byte。开 发 者 根 据UB的 大 小 来 计 算 循 环 次 数 等 参 数 值。 |
表 12 Kernel Tiling接 口 列 表
用 于 获 取 算 子kernel入 口 函 数 传 入 的tiling信 息,并 填 入 注 册 的Tiling结 构 体 中,此 函 数 会 以 宏 展 开 的 方 式 进 行 编 译。如 果 用 户 注 册 了 多 个TilingData结 构 体,使 用 该 接 口 返 回 默 认 注 册 的 结 构 体。 | |
使 用 该 接 口 指 定 结 构 体 名 称,可 获 取 指 定 的tiling信 息,并 填 入 对 应 的Tiling结 构 体 中,此 函 数 会 以 宏 展 开 的 方 式 进 行 编 译。 | |
在 核 函 数 中 判 断 本 次 执 行 时 的tiling_key是 否 等 于 某 个key,从 而 标 识tiling_key==key的 一 条kernel分 支。 | |
用 于 在kernel侧 注 册 用 户 使 用 标 准C++语 法 自 定 义 的 默 认TilingData结 构 体。 | |
用 于 在kernel侧 注 册 与TilingKey相 匹 配 的TilingData自 定 义 结 构 体;该 接 口 需 提 供 一 个 逻 辑 表 达 式,逻 辑 表 达 式 以 字 符 串“TILING_KEY_VAR”代 指 实 际TilingKey,表 达TIlingKey所 满 足 的 范 围。 | |
在Kernel侧 使 用 标 准C++语 法 自 定 义 的TilingData结 构 体 时,若 用 户 不 确 定 需 要 注 册 哪 些 结 构 体,可 使 用 该 接 口告 知 框 架 侧 需 使 用 未 注 册 的 标 准C++语 法 来 定 义TilingData,并 配 套GET_TILING_DATA_WITH_STRUCT,GET_TILING_DATA_MEMBER,GET_TILING_DATA_PTR_WITH_STRUCT来 获 取 对 应 的TilingData。 | |
表 13 ISASI接 口 列 表
根 据padMode(pad模 式)与padSide(pad方 向)对 源 操 作 数 按 照datablock进 行 填 充 操 作。 | ||
获 取Compare(结 果 存 入 寄 存 器)指 令 的 比 较 结 果。 | ||
为Select不 传 入mask参 数 的 接 口 设 置 比 较 寄 存 器。 | ||
获 取ReduceSum(针 对tensor前n个 数 据 计 算)接 口 的 计 算 结 果。 | ||
获 取ReduceMax、ReduceMin连 续 场 景 下 的 最 大/最 小 值 以 及 相 应 的 索 引 值。 | ||
将 连 续 元 素 合 入Region Proposal内 对 应 位 置,每 次 迭 代 会 将16个 连 续 元 素 合 入 到16个Region Proposals的 对 应 位 置 里。 | ||
与ProposalConcat功 能 相 反,从Region Proposals内 将 相 应 位 置 的 单 个 元 素 抽 取 后 重 排,每 次 迭 代 处 理16个Region Proposals,抽 取16个 元 素 后 连 续 排 列。 | ||
根 据Region Proposals中 的score域 对 其 进 行 排 序(score大 的 排 前 面),每 次 排16个Region Proposals。 | ||
将 已 经 排 好 序 的 最 多4 条region proposals队 列,排 列 并 合 并 成1条 队 列,结 果 按 照score域 由 大 到 小 排 序。 | ||
将 已 经 排 好 序 的 最 多4 条 队 列,合 并 排 列 成 1 条 队 列,结 果 按 照score域 由 大 到 小 排 序。 | ||
获 取MrgSort或MrgSort4已 经 处 理 过 的 队 列 里 的Region Proposal个 数,并 依 次 存 储 在 四 个List入 参 中。 | ||
给 定 一 个 输 入 的 张 量 和 一 个 地 址 偏 移 张 量,Gatherb指 令 根 据 偏 移 地 址 将 输 入 张 量 收 集 到 结 果 张 量 中。 | ||
给 定 一 个 连 续 的 输 入 张 量 和 一 个 目 的 地 址 偏 移 张 量,Scatter指 令 根 据 偏 移 地 址 生 成 新 的 结 果 张 量 后 将 输 入 张 量 分 散 到 结 果 张 量 中。 | ||
源 操 作 数src0大 于0的 情 况 下 直 接 将src0写 入 目 的 操 作 数dst,否 则 将 源 操 作 数src0 * src1的 结 果 写 入dst。 | ||
对 前count个 输 入 数 据src0、src1按 元 素 相 乘 操 作,将 结 果 写 入dst0Local,溢 出 部 分 写 入dst1Local。 | ||
src0与src1相 减,将 差 值 作 为 指 数 计 算 自 然 常 数e的 幂 次, 并 将 计 算 结 果 写 入dst。 | ||
将 矢 量 源 操 作 数 前count个 数 据 与 标 量 相 乘 再 按 照CAST_ROUND模 式 转 换 成half类 型, 并 将 计 算 结 果 写 入dst,此 接 口 支 持 标 量 在 前 和 标 量 在 后 两 种 场 景。 | ||
将 源 操 作 数 的 浮 点 数 元 素 截 断 到 整 数 位,同 时 源 操 作 数 的 数 据 类 型 保 持 不 变。 | ||
给 定 源 操 作 数src0和src1,将src0和src1中 的 元 素 交 织 存 入 结 果 操 作 数dst0和dst1中。 | ||
给 定 源 操 作 数src0和src1,将src0和src1中 的 元 素 解 交 织 存 入 结 果 操 作 数dst0和dst1中。 | ||
此 接 口 同SetHF32TransMode、SetMMRowMajor以 及SetMMColumnMajor一 样,都 用 于 设 置 寄 存 器 的 值。SetHF32Mode接 口 用 于 设 置MMAD的HF32模 式。 | ||
此 接 口 同SetHF32Mode、SetMMRowMajor以 及SetMMColumnMajor一 样,都 用 于 设 置 寄 存 器 的 值。SetHF32TransMode用 于 设 置MMAD的HF32取 整 模 式,仅 在MMAD的HF32模 式 生 效 时 有 效。 | ||
此 接 口 同SetHF32Mode、SetHF32TransMode一 样,都 用 于 设 置 寄 存 器 的 值,本 接 口 用 于 设 置MMAD计 算 时 优 先 通 过N方 向。 | ||
此 接 口 同SetHF32Mode、SetHF32TransMode一 样,都 用 于 设 置 寄 存 器 的 值,本 接 口 用 于 设 置MMAD计 算 时 优 先 通 过M方 向。 | ||
计 算 给 定 输 入 张 量 和 权 重 张 量 的2-D卷 积,输 出 结 果 张 量。Conv2d卷 积 层 多 用 于 图 像 识 别,使 用 过 滤 器 提 取 图 像 中 的 特 征。 | ||
根 据 输 入 的 切 分 规 则,将 给 定 的 两 个 输 入 张 量 做 矩 阵 乘,输 出 至 结 果 张 量。将A和B两 个 输 入 矩 阵 乘 法 在 一 起,得 到 一 个 输 出 矩 阵C。 | ||
DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 量 化 时,通 过 调 用 该 接 口 设 置 量 化 流 程 中tensor量 化 参 数。 | ||
DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 格 式 转 换(NZ2ND)时,通 过 调 用 该 接 口 设 置NZ2ND相 关 配 置。 | ||
DataCopy(CO1->GM、CO1->A1)过 程 中 进 行 随 路 量 化 时,通 过 调 用 该 接 口 设 置 量 化 流 程 中scalar量 化 参 数。 | ||
DataCopy(CO1->GM)过 程 中 进 行 随 路 量 化 后,通 过 调 用 该 接 口 设 置ClipRelu操 作 的 最 大 值。 | ||
DataCopy(CO1->GM)过 程 中 进 行 随 路 量 化 后,通 过 调 用 该 接 口 设 置element-wise操 作 时LocalTensor的 地 址。 | ||
将 图 像 数 据 从GM搬 运 到A1/B1。 搬 运 过 程 中 可 以 完 成 图 像 预 处 理 操 作:包 括 图 像 翻 转,改 变 图 像 尺 寸(抠 图,裁 边,缩 放,伸 展),以 及 色 域 转 换,类 型 转 换 等。 | ||
用 于 搬 运 存 放 在B1里 的512B的 稠 密 权 重 矩 阵 到B2里,同 时 读 取128B的 索 引 矩 阵 用 于 稠 密 矩 阵 的 稀 疏 化。 | ||
用 于 调 用Load3Dv1/Load3Dv2时 设 置FeatureMap的 属 性 描 述。 | ||
设 置Load3D时A1/B1边 界 值。 | ||
用 于 设 置Load3Dv2接 口 的repeat参 数。设 置repeat参 数 后,可 以 通 过 调 用 一 次Load3Dv2接 口 完 成 多 个 迭 代 的 数 据 搬 运。 | ||
矩 阵 计 算 完 成 后,对 结 果 进 行 处 理,例 如 对 计 算 结 果 进 行 量 化 操 作,并 把 数 据 从CO1搬 迁 到Global Memory中。 | ||
同 一 核 内 不 同 流 水 线 之 间 的 同 步 指 令。具 有 数 据 依 赖 的 不 同 流 水 指 令 之 间 需 要 插 此 同 步。 | ||
用 于 阻 塞 后 续 的 指 令 执 行,直 到 所 有 之 前 的 内 存 访 问 指 令(需 要 等 待 的 内 存 位 置 可 通 过 参 数 控 制)执 行 结 束。 | ||
针 对 分 离 模 式,AI Core上 的Cube核(AIC)与Vector核(AIV)之 间 的 同 步 设 置 指 令。 | ||
针 对 分 离 模 式,AI Core上 的Cube核(AIC)与Vector核(AIV)之 间 的 同 步 等 待 指 令。 | ||
Mutex用 于 核 内 异 步 流 水 指 令 之 间 的 同 步 处 理,其 功 能 类 似 于 传 统CPU中 的 锁 机 制。通 过 锁 定 指 定 流 水 再 释 放 流 水 来 完 成 流 水 间 的 同 步 依 赖。每 个 锁 有 固 定 的 一 个MutexID,该ID可 通 过 用 户 自 定 义(范 围 为0-27)或 者 通 过AllocMutexID/ReleaseMutexID进 行 申 请 释 放。 | ||
从 框 架 获 取 并 占 用 一 个MutexID,与ReleaseMutexID配 合 使 用,管 理MutexID的 获 取 和 释 放。 | ||
从 框 架 释 放 一 个MutexID,与AllocMutexID配 合 使 用。 | ||
获 取 当 前 系 统cycle数,若 换 算 成 时 间 需 要 按 照50MHz的 频 率,时 间 单 位 为us,换 算 公 式 为:time = (cycle数/50) us 。 | ||
原 子 操 作 函 数,设 置 后 续 从VECOUT传 输 到GM的 数 据 是 否 执 行 原 子 比 较,将 待 拷 贝 的 内 容 和GM已 有 内 容 进 行 比 较,将 最 大 值 写 入GM。 | ||
原 子 操 作 函 数,设 置 后 续 从VECOUT传 输 到GM的 数 据 是 否 执 行 原 子 比 较,将 待 拷 贝 的 内 容 和GM已 有 内 容 进 行 比 较,将 最 小 值 写 入GM。 | ||
监 视 设 定 范 围 内 的UB读 写 行 为,如 果 监 视 到 有 设 定 范 围 的 读 写 行 为 则 会 出 现EXCEPTION报 错,未 监 视 到 设 定 范 围 的 读 写 行 为 则 不 会 报 错。 | ||
CubeResGroupHandle用 于 在 分 离 模 式 下 通 过 软 同 步 控 制AIC和AIV之 间 进 行 通 讯,实 现AI Core计 算 资 源 分 组。 | ||
当 同 一 个CubeResGroupHandle中 的 两 个AIV任 务 之 间 存 在 依 赖 关 系 时,可 以 使 用GroupBarrier控 制 同 步。 | ||
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。 |
| Normalize | LayerNorm中,已 知 均 值 和 方 差,计 算shape为[A,R]的 输 入 数 据 的 标 准 差 的 倒 数rstd和 归 一 化 输 出y。 |
| RmsNorm | 实 现 对shape大 小 为[B,S,H]的 输 入 数 据 的RmsNorm归 一 化。 |
| WelfordUpdate | 实 现Welford算 法 的 前 处 理。 |
| WelfordFinalize | 实 现Welford算 法 的 后 处 理。 |
表 17 激 活 函 数API列 表
| 接 口 名 | 功 能 描 述 |
|---|---|
| AdjustSoftMaxRes | 用 于 对SoftMax相 关 计 算 结 果 做 后 处 理,调 整SoftMax的 计 算 结 果 为 指 定 的 值。 |
| FasterGelu | FastGelu化 简 版 本 的 一 种 激 活 函 数。 |
| FasterGeluV2 | 实 现FastGeluV2版 本 的 一 种 激 活 函 数。 |
| GeGLU | 采 用GeLU作 为 激 活 函 数 的GLU变 体。 |
| Gelu | GELU是 一 个 重 要 的 激 活 函 数,其 灵 感 来 源 于relu和dropout,在 激 活 中 引 入 了 随 机 正 则 的 思 想。 |
| LogSoftMax | 对 输 入tensor做LogSoftmax计 算。 |
| ReGlu | 一 种GLU变 体,使 用Relu作 为 激 活 函 数。 |
| Sigmoid | 按 元 素 做 逻 辑 回 归Sigmoid。 |
| Silu | 按 元 素 做Silu运 算。 |
| SimpleSoftMax | 使 用 计 算 好 的sum和max数 据 对 输 入tensor做softmax计 算。 |
| SoftMax | 对 输 入tensor按 行 做Softmax计 算。 |
| SoftmaxFlash | SoftMax增 强 版 本,除 了 可 以 对 输 入tensor做softmaxflash计 算,还 可 以 根 据 上 一 次softmax计 算 的sum和max来 更 新 本 次 的softmax计 算 结 果。 |
| SoftmaxFlashV2 | SoftmaxFlash增 强 版 本,对 应FlashAttention-2算 法。 |
| SoftmaxFlashV3 | SoftmaxFlash增 强 版 本,对 应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列 表
| 接 口 名 | 功 能 描 述 |
|---|---|
| Matmul | Matmul矩 阵 乘 法 的 运 算。 |
表 24 HCCL通 信 类API列 表
| 接 口 名 | 功 能 描 述 |
|---|---|
| HCCL通 信 类 | 在AI Core侧 编 排 集 合 通 信 任 务。 |
表 25 卷 积 计 算API列 表
| 接 口 名 | 功 能 描 述 |
|---|---|
| Conv3D | 3维 卷 积 正 向 矩 阵 运 算。 |
| Conv3DBackpropInput | 卷 积 的 反 向 运 算,求 解 特 征 矩 阵 的 反 向 传 播 误 差。 |
| Conv3DBackpropFilter | 卷 积 的 反 向 运 算,求 解 权 重 的 反 向 传 播 误 差。 |
表 26 随 机 函 数API列 表
| 接 口 名 | 功 能 描 述 |
|---|---|
| PhiloxRandom | 基 于Philox随 机 数 生 成 算 法,给 定 随 机 数 种 子,生 成 若 干 的 随 机 数。 |