操作数与参数
DataType- tile element data type selector
Starts CUBE Function 4 for the TMATMUL_MX Matrix-matrix complete-bundle operation.
PTO-BLOCK-BSTART-TMATMULMXBSTART.TMATMULMX DataType| 字段 | 位宽 | 有符号性 | 架构角色 | 编码零 |
|---|---|---|---|---|
DataType | 5 | encoding-defined | tile element data type selector | Encoded zero selects FP64. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| DataType | 31:27 | variable |
| Constant | 26:0 | 27'b000010000110001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b000010000110001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TMATMULMX DataType
DataTypeDecode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART_TMATMULMX( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmulmx_32_e26cb3874648;end;readonly func InstructionContractTileOperation_BSTART_TMATMULMX() => TileOperationbegin return TileOperation_TMATMUL_MX;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMULMX() => integer {0..31}begin return 4;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMULMX() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMULMX() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TMATMULMX DataType"],"block":[],"catalog_indices":[44],"catalog_records":[{"asm":"BSTART.TMATMULMX DataType","constraints":[{"field":"DataType","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,25,26,27,28]}],"encoding":[{"index":0,"mask":"0x07ffffff","match":"0x00431181","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"DataType","pieces":[{"instruction_lsb":27,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5}],"form_id":"bstart_tmatmulmx_32_e26cb3874648","length_bits":32,"mnemonic":"BSTART.TMATMULMX","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts CUBE Function 4 for the TMATMUL_MX Matrix-matrix complete-bundle operation.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TMATMULMX AType","B.DATR BType, RMode, Sat (optional; BType defaults to AType)","B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one)","B.DIM LB0 M or cooperative group_M (optional, default 1)","B.DIM LB1 N (optional, default 1)","B.DIM LB2 K (optional, default 1)","B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111)","B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale","B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations","B.IOT/B.IOR postprocess operands selected by B.FPATR","BSTOP or the next BSTART completion boundary"],"canonical_assembly":["BSTART.TMATMULMX DataType"],"defaults":["Encoded DataType is always AType. Omitted B.DATR preserves AType as BType, selects RNE, and disables saturation.","Omitted LB0 defaults Local M or cooperative group_M to one; omitted LB1 and LB2 default N and K to one.","Exactly one all-zero B.FPATR selects no conversion, activation, or reduction; B.IOR and auxiliary B.IOT operands exist only when a selected postprocess mode requires them.","Local A uses persistent CUBE_M16 or CUBE_M32, Local B uses persistent CUBE_N8, and D is newly allocated in A's M layout. M, N, and K are arbitrary positive values independent of per-PE TSize. Each side uses group-32 E8M0 or HiF4X2 group-64 U32 scale; Local scales use CUBE_M32 and Shared scales remain ordinary Tiles.","TransA=0 and TransB=0 select no logical transpose. Each nonzero control is legal only when the corresponding primary is Shared."],"encoding_class":"standalone-encoded","examples":["BSTART.TMATMULMX AType; B.DATR BType, RMode, Sat (optional; BType defaults to AType); B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one); B.DIM LB0 M or cooperative group_M (optional, default 1); B.DIM LB1 N (optional, default 1); B.DIM LB2 K (optional, default 1); B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111); B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale; B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations; B.IOT/B.IOR postprocess operands selected by B.FPATR; BSTOP or the next BSTART completion boundary"],"exceptions":["A reserved DataType or fixed-bit mismatch raises Fault_IllegalInstruction before block state changes.","Missing, duplicate, or non-Matrix B.FPATR use raises Fault_BundleControl before allocation or payload effects.","Illegal types, dimensions, masks, binding streams, descriptors, shapes, capacities, aliases, readiness, or postprocess values raise Fault_TileLegality before source snapshots and effects."],"field_contracts":{"DataType":{"ref":"PTO-FIELD-BLOCK-DATATYPE"}},"field_zero_meanings":{"DataType":"Encoded zero selects FP64."},"legality":["The carrier selects exactly CUBE Function 4 and TileOperation_TMATMUL_MX.","Local A uses persistent CUBE_M16 or CUBE_M32, Local B uses persistent CUBE_N8, and D is newly allocated in A's M layout. M, N, and K are arbitrary positive values independent of per-PE TSize. Each side uses group-32 E8M0 or HiF4X2 group-64 U32 scale; Local scales use CUBE_M32 and Shared scales remain ordinary Tiles.","A Shared primary must satisfy hardware-maintained whole-parent readiness and publication before payload access; fixed-quarter allocation or initialization masks are not a prerequisite. Any cooperative Local-A/Shared-B or Shared-A/Shared-B TMATMUL interprets LB0 as Core-total group_M in 1..128; Shared A has shape group_MxK, Shared B has shape KxN, and PE i uses valid_M=clamp(group_M-i*M_per_PE,0,M_per_PE) with M_per_PE 16 for group_M<=64 and 32 for group_M>=65. TransA and TransB apply only to their corresponding Shared primary. Right-only Shared inherits Local A layout; all-Shared ACC inherits C layout; all-Shared non-ACC selects M16 through M=16 and M32 through M=32.","Each non-FP16/BF16 side requires its assigned scale: group-32 E8M0 for MX FP8/FP4 or group-64 U32 for HiF4X2. Published Shared operands may replace the right group or both matrix groups; supplementary operands and destinations remain Local.","Every cooperative nonzero PE_MASK must be 1111; all four PEs complete Shared readiness, while zero-row PEs suppress every compute-only Local resolution and effect. Mask zero is a strict no-op before descriptor reads, faults, allocation, readiness checks, or lifetime effects.","B.DATR permits only BType, RMode, and Sat. Exactly one B.FPATR is mandatory and closes the conditional postprocess schema."],"memory_effects":["none"],"operands":[{"field":"DataType","role":"tile element data type selector"}],"ordering":["Complete schema, field, type, dimension, descriptor, shape, capacity, readiness, alias, and allocation preflight precedes every source snapshot and destination effect.","D and every enabled reduction output publish as one atomic group; rejection publishes none and successful sources persist."],"standalone_opcode":true,"state_effects":["Start a CUBE Function 4 descriptor with encoded DataType preserved as AType.","At block completion execute TileOperation_TMATMUL_MX using the resolved M, N, K, input types, mathematical operands, and B.FPATR postprocess schema.","Publish the complete output group atomically after successful preflight and computation; do not consume mathematical or postprocess sources.","For Local execution, publish D with A's CUBE_M16 or CUBE_M32 layout and final output dtype; ordinary Bias, MX scales, and enabled reduction auxiliaries keep their operation-owned layouts.","Successful Shared primary reads leave every Shared descriptor, mask, publication state, payload, and lifetime unchanged."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-TMATMULMX","mnemonic":"BSTART.TMATMULMX","summary":"Starts CUBE Function 4 for the TMATMUL_MX Matrix-matrix complete-bundle operation.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-BSTART-TMATMULMX-CONTRACT-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TMATMULMX MUST select CUBE Function 4 and TileOperation_TMATMUL_MX.// Its encoded DataType is AType; omitted B.DATR MUST preserve AType as// BType, omitted LB0/LB1/LB2 MUST default M/N/K independently to one,// Local M, N, and K MUST be positive per-PE dimensions independent of TSize;// cooperative LB0 MUST be Core-total group_M.// For every cooperative Shared-input TMATMUL, LB0 MUST be Core-total group_M;// Shared A MUST have shape group_MxK and Shared B MUST have shape KxN.// Each matrix side independently requires an E8M0 scale exactly when its MX// input type is not FP16 or BF16. Published Shared operands may replace the// right group or both matrix groups; supplementary operands and destinations// remain Local.// Shared primaries MUST be fully published and ready in all four fixed quarters.// TransA/TransB MUST apply only to the corresponding Shared primary. Every// cooperative nonzero PE mask MUST be 1111; zero-row PEs MUST have no Local effect.// Exactly one B.FPATR MUST close postprocess defaults and operands.// Complete schema, type, shape, capacity, definedness, readiness, alias,// and allocation preflight MUST precede source snapshots and effects;// successful outputs MUST publish atomically and sources MUST persist.// NDF-END: PTO-BSTART-TMATMULMX-CONTRACT-001
// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TMATMULMX( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmulmx_32_e26cb3874648;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractTileOperation_BSTART_TMATMULMX() => TileOperationbegin return TileOperation_TMATMUL_MX;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMULMX() => integer {0..31}begin return 4;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMULMX() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMULMX() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
BSTART.TMATMULMX 打开一个活动 Block 描述符,其操作为 TileOperation_TMATMUL_MX;Block 体在完成前提供所需属性与绑定。
BSTART.TMATMULMX 必须位于所属 Block 的起始位置。后续属性、维度与绑定会累积到活动描述符中,直到 BSTOP 或下一条已接受的 BSTART 完成边界。
已接受载体使用 L32 编码类别;命令在读取绑定或改变状态前,会先解析所有显示字段。
完成时,只有模式、类型、维度、描述符、就绪状态、别名和容量预检全部成功,描述符才会执行 TileOperation_TMATMUL_MX。
DataType — Tile 元素数据类型选择器。BSTART.TMATMULMX, B.DATR, B.FPATR, B.DIM, B.IOS, B.IOT, B.IOT/B.IOR 补全;省略可选载体时,只采用本归属单元明确规定的默认值。启动 Block 会记录所选载体,并把操作执行推迟到完成边界。
完成全部预检与计算后,所有启用输出按归属单元规定的原子组发布;除非契约明确消费,成功执行后的数学源仍保持可用。
固定比特、保留值、选择器取值域与必需的 Block 放置关系都在架构效果之前检查。
当前归属单元通过 Fault_BundleControl, Fault_IllegalInstruction, Fault_TileLegality 报告无效模式、状态、地址或后继条件;本页说明文字不创建额外故障规则。
完整模式、绑定、就绪状态、别名、容量与分配预检发生在源快照和所有目的端发布之前。
该示例只演示放置关系与载体流;精确行为仍由当前 ASL 和指令契约定义。
BSTART.TMATMULMX AType; B.DATR BType, RMode, Sat (optional; BType defaults to AType); B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one); B.DIM LB0 M or cooperative group_M (optional, default 1); B.DIM LB1 N (optional, default 1); B.DIM LB2 K (optional, default 1); B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111); B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale; B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations; B.IOT/B.IOR postprocess operands selected by B.FPATR; BSTOP or the next BSTART completion boundary起始指令先建立描述符;后续载体按声明模式补充内容,最终完成边界触发验证与操作执行。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART.TMATMULMX MUST select CUBE Function 4 and TileOperation_TMATMUL_MX. Its encoded DataType is AType; omitted B.DATR MUST preserve AType as BType, omitted LB0/LB1/LB2 MUST default M/N/K independently to one, Local M, N, and K MUST be positive per-PE dimensions independent of TSize; cooperative LB0 MUST be Core-total group_M. For every cooperative Shared-input TMATMUL, LB0 MUST be Core-total group_M; Shared A MUST have shape group_MxK and Shared B MUST have shape KxN. Each matrix side independently requires an E8M0 scale exactly when its MX input type is not FP16 or BF16. Published Shared operands may replace the right group or both matrix groups; supplementary operands and destinations remain Local. Shared primaries MUST be fully published and ready in all four fixed quarters. TransA/TransB MUST apply only to the corresponding Shared primary. Every cooperative nonzero PE mask MUST be 1111; zero-row PEs MUST have no Local effect. Exactly one B.FPATR MUST close postprocess defaults and operands. Complete schema, type, shape, capacity, definedness, readiness, alias, and allocation preflight MUST precede source snapshots and effects; successful outputs MUST publish atomically and sources MUST persist.
PTO-BSTART-TMATMULMX-CONTRACT-001asl/block/execution/BSTART.TMATMULMX.asl28262a78c2d53d57fc269cc98f387e59203243da2c5c8a86bf4f3670c9070ae6869a93d3a6a39eb70ecdaa50e768386d00e4f69b0f614864532b3c3ca617e59619 matching entries
PTO-AVS-BLOCK-BSTART-TMATMULMX-DECODE-001tests/asl/block/execution/BSTART.TMATMULMX/block-decode-bstart-tmatmulmx-canonical-001.asle84a3d8c65bdcb2aa929671fb9841b35c886892a280916fe35e80369a230dca3PTO-AVS-BLOCK-TMATMULMX-EXEC-001tests/asl/block/execution/BSTART.TMATMULMX/block-exec-bstart-tmatmulmx-basic-001.asle568bd6240709bd6c251d92c0d01a331112e1d85964a56e180669a9f05dc863bPTO-AVS-BLOCK-TMATMULMX-HIF4-002tests/asl/block/execution/BSTART.TMATMULMX/block-exec-bstart-tmatmulmx-hif4-002.asl91f5b9bff2f01f56f15768ed160eaef7f8e7b29073a15cb3c8cecd7de6211ba9PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0034…
ADR-0034docs/status/decisions/0034-cube-raw-carrier-totality.md6e773942b46c7352eaba729ccd056548ec2e6379fbf8790eaf366571c968f814Loading ADR-0041…
ADR-0041docs/status/decisions/0041-a2a3-mx-profile-applicability.mdfac4a0023748f31bc1634fdd68eb1627b388ac41aaee0cb2a61e4a341d7e38b8Loading ADR-0052…
ADR-0052docs/status/decisions/0052-direct-tile-and-bundle-catalog-closure.md5fdb38bf480e37affe5075f93b35a57d32803018c986bfe05160f188a19ccaf6Loading ADR-0055…
ADR-0055docs/status/decisions/0055-complete-bundle-bior-schema-and-defaults.mdd84224ee1980cb16a6c4efb6ce3c5c2649d5db27002e7e6429850da189a2cdffLoading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0065…
ADR-0065docs/status/decisions/0065-cube-matrix-family-contract.mdd1f50e2bdf78a0fb447af2f3213400463cc8b4fe4676c7282b67da77c4721fecLoading ADR-0071…
ADR-0071docs/status/decisions/0071-local-cube-matrix-operands.mdc9c58c246498edab99aff612c6d645774e07f942e37fb92b14245e8aecbe8368Loading ADR-0072…
ADR-0072docs/status/decisions/0072-cooperative-shared-cube-transpose.md9bc7340fea777ee543d4b9393f8f6002b55106833e55ff6d388f8beac504dd09Loading ADR-0079…
ADR-0079docs/status/decisions/0079-cube-and-matrix-operations.md71b54321ddf5d233ef470083965e269778c57d5ef3d01859659aba7e2ab40863Loading ADR-0108…
ADR-0108docs/status/decisions/0108-0584-1-to-0585-compatibility.md5689fa78a7291b6ae88d55197205e4cf79e9719ee5ba18ebf186f5c6871c350d{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TMATMULMX.md",
"id": "PTO-BLOCK-BSTART-TMATMULMX",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TMATMULMX",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TMATMULMX"
},
"mnemonic": "BSTART.TMATMULMX",
"readiness_subjects": [
"ADR-0032",
"ADR-0034",
"ADR-0041",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0065",
"ADR-0071",
"ADR-0072",
"ADR-0079",
"ADR-0108"
],
"semantic_tests": [
"PTO-AVS-BLOCK-TMATMULMX-EXEC-001",
"PTO-AVS-BLOCK-TMATMULMX-HIF4-002"
],
"source": "asl/block/execution/BSTART.TMATMULMX.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TMATMULMX-DECODE-001",
"PTO-AVS-BLOCK-TMATMULMX-EXEC-001",
"PTO-AVS-BLOCK-TMATMULMX-HIF4-002"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd8681228262a78c2d53d57fc269cc98f387e59203243da2c5c8a86bf4f3670c9070ae602c7a465047b8db853aa497e90d8439f7ae8bcc9c5049cc35174b350756f1e24asl/block/execution/BSTART.TMATMULMX.aslasl/block/execution/BSTART.TMATMULMX.aslasl/block/execution/BSTART.TMATMULMX.asl