Operands and parameters
DataType- tile element data type selector
Starts CUBE Function 5 for the TMATMUL_MX_BIAS Matrix-matrix complete-bundle operation.
PTO-BLOCK-BSTART-TMATMULMX-BIASBSTART.TMATMULMX.BIAS DataType| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
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'b000010100110001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b000010100110001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TMATMULMX.BIAS DataType
DataTypeDecode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_BSTART_TMATMULMX_BIAS( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmulmx_bias_32_098c7efa51b0;end;readonly func InstructionContractTileOperation_BSTART_TMATMULMX_BIAS() => TileOperationbegin return TileOperation_TMATMUL_MX_BIAS;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMULMX_BIAS() => integer {0..31}begin return 5;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMULMX_BIAS() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMULMX_BIAS() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TMATMULMX.BIAS DataType"],"block":[],"catalog_indices":[46],"catalog_records":[{"asm":"BSTART.TMATMULMX.BIAS 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":"0x00531181","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_bias_32_098c7efa51b0","length_bits":32,"mnemonic":"BSTART.TMATMULMX.BIAS","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts CUBE Function 5 for the TMATMUL_MX_BIAS Matrix-matrix complete-bundle operation.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TMATMULMX.BIAS 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, 1xN Bias","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.BIAS 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. Bias remains an ordinary row-major 1xN accumulator-type Tile. 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.BIAS 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, 1xN Bias; 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 5 and TileOperation_TMATMUL_MX_BIAS.","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. Bias remains an ordinary row-major 1xN accumulator-type Tile. 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. Bias is one Local row-major 1xN accumulator-type source. 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 5 descriptor with encoded DataType preserved as AType.","At block completion execute TileOperation_TMATMUL_MX_BIAS 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-BIAS","mnemonic":"BSTART.TMATMULMX.BIAS","summary":"Starts CUBE Function 5 for the TMATMUL_MX_BIAS 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-BIAS-CONTRACT-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TMATMULMX.BIAS MUST select CUBE Function 5 and TileOperation_TMATMUL_MX_BIAS.// 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. Bias is one Local row-major 1xN accumulator-// type source. 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-BIAS-CONTRACT-001
// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TMATMULMX_BIAS( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmulmx_bias_32_098c7efa51b0;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractTileOperation_BSTART_TMATMULMX_BIAS() => TileOperationbegin return TileOperation_TMATMUL_MX_BIAS;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMULMX_BIAS() => integer {0..31}begin return 5;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMULMX_BIAS() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMULMX_BIAS() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
BSTART.TMATMULMX.BIAS opens an active Block descriptor for TileOperation_TMATMUL_MX_BIAS; the body supplies the attributes and bindings required before completion.
BSTART.TMATMULMX.BIAS must appear as the starter of its Block. Later attributes, dimensions, and bindings accumulate in the active descriptor until BSTOP or the next accepted BSTART completion boundary.
The accepted carrier uses the L32 encoding class and resolves every displayed field before the command reads bindings or changes state.
At completion, the descriptor runs TileOperation_TMATMUL_MX_BIAS only after schema, type, dimension, descriptor, readiness, alias, and capacity preflight succeeds.
DataType — tile element data type selector.BSTART.TMATMULMX.BIAS, B.DATR, B.FPATR, B.DIM, B.IOS, B.IOT, B.IOT/B.IOR; omitted optional carriers take only the defaults named by this owner.Starting the Block records the selected carrier and leaves operation execution deferred until the completion boundary.
After complete preflight and computation, every enabled output publishes as the owner-defined atomic group; successful mathematical sources remain available unless the contract explicitly consumes them.
Fixed bits, reserved values, selector domains, and required Block placement are checked before architectural effects.
The current owner reports invalid schema, state, address, or continuation conditions through Fault_BundleControl, Fault_IllegalInstruction, Fault_TileLegality; no prose on this page creates an additional fault rule.
Complete schema, binding, readiness, alias, capacity, and allocation preflight precedes source snapshots and every destination publication.
This example demonstrates placement and carrier flow only; exact behavior remains in the current ASL and instruction contract.
BSTART.TMATMULMX.BIAS 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, 1xN Bias; 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 boundaryThe starter establishes the descriptor first; the following carriers fill its declared schema, and the final completion boundary triggers validation and operation execution.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
BSTART.TMATMULMX.BIAS MUST select CUBE Function 5 and TileOperation_TMATMUL_MX_BIAS. 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. Bias is one Local row-major 1xN accumulator- type source. 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-BIAS-CONTRACT-001asl/block/execution/BSTART.TMATMULMX.BIAS.asle31fcc59727afaf929d5d8269bebf5f75f1cf51544917c8bd6120be435af43620533eee8457902fb71dcdedfff261281b69898f423d05f811814482f9e3719cc18 matching entries
PTO-AVS-BLOCK-BSTART-TMATMULMX-BIAS-DECODE-001tests/asl/block/execution/BSTART.TMATMULMX.BIAS/block-decode-bstart-tmatmulmx-bias-canonical-001.asl255c44788945b4c3ccab66d448f2517313576bbf09c0efa0edf1fb23bfc899d5PTO-AVS-BLOCK-TMATMULMX-BIAS-EXEC-001tests/asl/block/execution/BSTART.TMATMULMX.BIAS/block-exec-bstart-tmatmulmx-bias-add-001.asl3c305f2a63bf0c3b75df219f54da72415ca1e253ebcf1f4ce857898497aea9f8PTO-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.BIAS.md",
"id": "PTO-BLOCK-BSTART-TMATMULMX-BIAS",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TMATMULMX.BIAS",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TMATMULMX-BIAS"
},
"mnemonic": "BSTART.TMATMULMX.BIAS",
"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-BIAS-EXEC-001"
],
"source": "asl/block/execution/BSTART.TMATMULMX.BIAS.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TMATMULMX-BIAS-DECODE-001",
"PTO-AVS-BLOCK-TMATMULMX-BIAS-EXEC-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812e31fcc59727afaf929d5d8269bebf5f75f1cf51544917c8bd6120be435af4362972f3884c51b397d7cca23e132557a2df83d049c26e9d150ee9a9b18e2a2036casl/block/execution/BSTART.TMATMULMX.BIAS.aslasl/block/execution/BSTART.TMATMULMX.BIAS.aslasl/block/execution/BSTART.TMATMULMX.BIAS.asl