Skip to content
版 本

TPosition

Ascend C管 理 不 同 层 级 的 物 理 内 存 时,用 一 种 抽 象 的 逻 辑 位 置(TPosition)来 表 达 各 级 别 的 存 储,代 替 了 片 上 物 理 存 储 的 概 念,达 到 隐 藏 硬 件 架 构 的 目 的。主 要 的TPosition类 型 包 括:VECIN、VECOUT、VECCALC、A1、A2、B1、B2、C1、C2、CO1、CO2,其 中VECIN、VECCALC、VECOUT主 要 用 于 矢 量 编 程,A1、A2、B1、B2、C1、C2、CO1、CO2用 于 矩 阵 编 程。您 可 以 通 过表1了 解TPosition和 物 理 存 储 的 映 射 关 系。

TPosition定 义 如 下:

Text
enum class TPosition : uint8_t {
    GM,
    A1,
    A2,
    B1,
    B2,
    C1,
    C2,
    CO1,
    CO2,
    VECIN,
    VECOUT,
    VECCALC,
    LCM = VECCALC,
    SPM,
    SHM = SPM,
    TSCM,
    C2PIPE2GM,
    C2PIPE2LOCAL,
    MAX,
};

TPosition枚 举 值 的 具 体 定 义 如 下:

表 1 TPosition枚 举 值 含 义 说 明

枚 举 值

具 体 含 义

GM

Global Memory,对 应AI Core的 外 部 存 储。

VECIN

用 于 矢 量 计 算,搬 入 数 据 的 存 放 位 置,在 数 据 搬 入Vector计 算 单 元 时 使 用 此 位 置。

VECOUT

用 于 矢 量 计 算,搬 出 数 据 的 存 放 位 置,在 将Vector计 算 单 元 结 果 搬 出 时 使 用 此 位 置。

VECCALC

用 于 矢 量 计 算/矩 阵 计 算,在 计 算 需 要 临 时 变 量 时 使 用 此 位 置。

A1

用 于 矩 阵 计 算,存 放 整 块A矩 阵,可 类 比CPU多 级 缓 存 中 的 二 级 缓 存。

B1

用 于 矩 阵 计 算,存 放 整 块B矩 阵,可 类 比CPU多 级 缓 存 中 的 二 级 缓 存。

C1

用 于 矩 阵 计 算,存 放 整 块Bias矩 阵,可 类 比CPU多 级 缓 存 中 的 二 级 缓 存。

A2

用 于 矩 阵 计 算,存 放 切 分 后 的 小 块A矩 阵,可 类 比CPU多 级 缓 存 中 的 一 级 缓 存。

B2

用 于 矩 阵 计 算,存 放 切 分 后 的 小 块B矩 阵,可 类 比CPU多 级 缓 存 中 的 一 级 缓 存。

C2

用 于 矩 阵 计 算,存 放 切 分 后 的 小 块Bias矩 阵,可 类 比CPU多 级 缓 存 中 的 一 级 缓 存。

CO1

用 于 矩 阵 计 算,存 放 小 块 结 果C矩 阵,可 理 解 为Cube Out。

CO2

用 于 矩 阵 计 算,存 放 整 块 结 果C矩 阵,可 理 解 为Cube Out。

LCM

Local Cache Memory,代 表 临 时 共 享 的Unified Buffer空 间,VECCALC的 别 名,与VECCALC实 现 同 样 的 功 能。

SPM

当Unified Buffer内 存 有 溢 出 风 险 时,用 于Unified Buffer的 数 据 暂 存。

SHM

SPM的 别 名。

TSCM

Temp Swap Cache Memory,用 于 临 时 把 数 据 交 换 到 额 外 空 间,进 行Matmul运 算。

C2PIPE2GM

用 于 存 放FIXPIPE量 化 参 数。

C2PIPE2LOCAL

预 留 参 数。为 后 续 的 功 能 做 保 留,开 发 者 暂 时 无 需 关 注。

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