4. Tile 与 GlobalTensor

4.1 范围

本章定义 Tile 操作数与全局内存操作数之间的数据模型契约,说明架构可见的数据搬运与解释规则。

4.2 Tile 数据模型

Tile 是计算类指令的主要架构数据对象。 Tile 契约包含:

  • 元素类型与形状类别
  • 有效区域元数据(RvCv
  • 在指令合法性中要求的位置-意图角色
  • 后端合法性需要的布局/对齐属性

4.3 GlobalTensor 数据模型

GlobalTensor(或等价内存视图)表示可寻址的全局内存数据。 其架构可见契约包括:

  • 与相关 Tile 操作兼容的元素类型
  • 内存指令要求的地址与步长解释
  • 在顺序约束下的可见性行为

4.4 GM <-> Tile 搬运契约

TLOADTSTORE 指令族是 GM 与 Tile 的主要桥接。 一致性实现 MUST 保持:

  • 定义有效域内的元素映射语义
  • 在事件/TSYNC 与内存模型约束下的顺序保证
  • 量化/缩放与模式属性的已记录行为

4.5 形状与域兼容性

对于搬运和布局变换操作:

  • 源域与目标域 MUST 满足指令定义的兼容约束
  • 域外行为 MUST 要么显式定义(如 pad/fill),要么声明为未指定
  • 后端合法性检查 MUST 对不支持的 shape/layout 组合给出确定性拒绝

4.6 布局变换类操作

例如 extract/insert/reshape/transpose 的操作,是对 Tile 域的架构级变换。 这类操作 MUST 定义:

  • 索引空间映射
  • 有效域映射
  • 部分覆盖域行为
  • 存在硬件差异时的实现定义约束

4.7 诊断要求

搬运/布局诊断 SHOULD 报告:

  • 出错操作与操作数位置
  • 不兼容的 shape/layout/location 维度
  • 相关索引/偏移参数上下文
  • 可复现 CI 的确定性错误文案