TSET_IMG2COL_RPT

指令示意图

TSET_IMG2COL_RPT tile operation

简介

从 IMG2COL 配置 Tile 设置 IMG2COL 重复次数元数据(实现定义)。

数学语义

该指令不直接产生张量算术结果。它会更新后续数据搬运类操作使用的 IMG2COL 控制状态。

汇编语法

PTO-AS 形式:参见 PTO-AS 规范

示意形式:

tset_img2col_rpt %cfg

AS Level 1(SSA)

pto.tset_img2col_rpt %cfg : !pto.fmatrix_config -> ()

AS Level 2(DPS)

pto.tset_img2col_rpt ins(%cfg : !pto.fmatrix_config) outs()

C++ 内建接口

声明于 include/pto/common/pto_instr.hpp

template <typename ConvTileData, typename... WaitEvents>
PTO_INST RecordEvent TSET_IMG2COL_RPT(ConvTileData &src, WaitEvents &... events);

template <typename ConvTileData, SetFmatrixMode FmatrixMode = SetFmatrixMode::FMATRIX_A_MANUAL, typename... WaitEvents>
PTO_INST RecordEvent TSET_IMG2COL_RPT(ConvTileData &src, WaitEvents &... events);

MEMORY_BASE 目标上,还提供不带 SetFmatrixMode 模板参数的重载。

约束

  • 该指令属于后端相关能力,仅在支持 IMG2COL 配置状态的后端可用。
  • src 必须是目标后端接受的 IMG2COL 配置 Tile 类型。
  • 该指令更新的寄存器/元数据字段属于实现定义行为。
  • 在同一执行流中,应先设置该状态,再执行依赖的 TIMG2COL 指令。

示例

#include <pto/pto-inst.hpp>

using namespace pto;

void example_set_img2col_rpt(Img2colTileConfig<uint64_t>& cfg) {
  TSET_IMG2COL_RPT(cfg);
}

汇编示例(ASM)

自动模式

# 自动模式:由编译器/运行时负责资源放置与调度。
pto.tset_img2col_rpt %cfg : !pto.fmatrix_config -> ()

手动模式

# 手动模式:先显式绑定资源,再发射指令。
# 可选(当该指令包含 tile 操作数时):
# pto.tassign %arg0, @tile(0x1000)
# pto.tassign %arg1, @tile(0x2000)
pto.tset_img2col_rpt %cfg : !pto.fmatrix_config -> ()

PTO 汇编形式

tset_img2col_rpt %cfg
# AS Level 2 (DPS)
pto.tset_img2col_rpt ins(%cfg : !pto.fmatrix_config) outs()