跳到主要内容
页面框架已切换为简体中文。尚未完成本地化的交互标签暂时使用英文;ASL/NDF 源、稳定标识和证据在所有语言中保持原文。

PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA

PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA

ASL 伪代码

下面直接显示完整的 ASL 所有者。

// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA","surface":"block","classification":["model","dispatch","tile-schema"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-SCALAR-SCHEMA","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-EXECUTION-UNARY"]}func BundleTileInstructionOperands(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1})    => TileInstructionOperandsbegin    var operands = DefaultTileInstructionOperands();    var destination_count: integer = 0;    var source_count: integer = 0;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            if _BundleTileBindings[[binding]].destination_valid then                if destination_count == 0 then                    operands.destination0 =                        _BundleTileBindings[[binding]].destination;                elsif destination_count == 1 then                    operands.destination1 =                        _BundleTileBindings[[binding]].destination;                elsif destination_count == 2 then                    operands.destination2 =                        _BundleTileBindings[[binding]].destination;                else                    SetFault(Fault_TileLegality, ReadTPC());                    return operands;                end;                destination_count = destination_count + 1;            end;            if _BundleTileBindings[[binding]].source0_valid then                case source_count of                    when 0 => operands.source0 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 1 => operands.source1 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 2 => operands.source2 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 3 => operands.source3 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 4 => operands.source4 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 5 => operands.source5 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 6 => operands.source6 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 7 => operands.source7 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    when 8 => operands.source8 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, FALSE);                    otherwise => unreachable;                end;                source_count = source_count + 1;            end;            if _BundleTileBindings[[binding]].source1_valid then                case source_count of                    when 0 => operands.source0 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 1 => operands.source1 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 2 => operands.source2 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 3 => operands.source3 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 4 => operands.source4 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 5 => operands.source5 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 6 => operands.source6 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 7 => operands.source7 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    when 8 => operands.source8 =                        BundleTileSourceIndex(binding as BundleTileBindingIndex, TRUE);                    otherwise => unreachable;                end;                source_count = source_count + 1;            end;        end;    end;    // B.IOR inputs are resolved in one architectural order so that optional    // fields pack densely into RegSrc0..RegSrc2.  TLOAD/TSTORE retain their    // omission-only dense-row stride default.    if TileOperandPresent(operation, TileOperand_address) then        if _BundleScalarBindings[[0]].valid then            operands.address = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(                    BundleOperationGPRInputSlot(                        operation, TileOperand_address) as integer {0..2}));        end;    end;    if TileOperandPresent(operation, TileOperand_scalar0) then        if _BundleScalarBindings[[0]].valid then            operands.scalar0 = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(                    BundleOperationGPRInputSlot(                        operation, TileOperand_scalar0) as integer {0..2}));        elsif TileOperationOfIndex(operation) == TileOperation_TQUANT ||              TileOperationOfIndex(operation) == TileOperation_TDEQUANT then            operands.scalar0 = Zeros{PTO_XLEN} + 0x3f800000;        elsif TileOperationOfIndex(operation) == TileOperation_TLOAD ||              TileOperationOfIndex(operation) == TileOperation_TSTORE then            // Regular TLSU omission derives a byte pitch from the resolved            // physical column count and transfer data type. TPREFETCH retains            // its separately owned logical-element stride contract.            let tstore = TileOperationOfIndex(operation) ==                TileOperation_TSTORE;            let columns = BundleDestinationPhysicalColumns(                tstore, operands.source0);            operands.scalar0 = TileDenseRowStrideBytes(                columns,                TileDataTypeFromEncoding(                    CurrentBundleTileOperationDataTypeCode()                        as TileDataTypeEncoding));        elsif TileOperandPresent(operation, TileOperand_address) then            operands.scalar0 = _BundleDimensions[[2]];        end;    end;    if TileOperandPresent(operation, TileOperand_scalar1) &&       _BundleScalarBindings[[0]].valid then        operands.scalar1 = ReadScalarRegisterOperand(            BundleOperationGPRInputSelector(                BundleOperationGPRInputSlot(                    operation, TileOperand_scalar1) as integer {0..2}));    end;    if TileOperandPresent(operation, TileOperand_diagonal) then        if _BundleScalarBindings[[0]].valid then            let raw = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(                    BundleOperationGPRInputSlot(                        operation, TileOperand_diagonal) as integer {0..2}));            // Raw conversion is performed only after the complete-bundle            // preflight has proved the signed value lies in the ASL domain.            operands.diagonal = SInt(raw) as integer {-65535..65535};        end;    end;    if TileOperandPresent(operation, TileOperand_flag0) then        if _BundleScalarBindings[[0]].valid then            let raw = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(                    BundleOperationGPRInputSlot(                        operation, TileOperand_flag0) as integer {0..2}));            // Raw booleans accept exactly zero and one; legality is checked            // before this constrained assignment during bundle commit.            operands.flag0 = UInt(raw) == 1;        end;    end;    // Matrix post-processing scalar descriptors consume the next dense B.IOR    // slots after any mathematical scalar controls.  Matrix operations do not    // currently have scalar0/scalar1 controls, so these are RegSrc0/RegSrc1.    if _BundleOperation.valid &&       _BundleOperation.operation_class == BundleOperation_TileMatrix &&       _BundleFixedPointAttributes.valid &&       _BundleScalarBindings[[0]].valid then        var post_slot: integer {0..2} = 0;        if BundleFPATRModeUsesScalarParameter(               _BundleFixedPointAttributes.pre_quant_mode) then            operands.post_quant_param = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(post_slot));            post_slot = (post_slot + 1) as integer {0..2};        end;        if BundleFPATRReluModeUsesScalarParameter(               _BundleFixedPointAttributes.relu_mode) then            operands.post_lrelu_param = ReadScalarRegisterOperand(                BundleOperationGPRInputSelector(post_slot));        end;    end;    let dimension0 = UInt(_BundleDimensions[[0]]);    let dimension1 = UInt(_BundleDimensions[[1]]);    let dimension2 = UInt(_BundleDimensions[[2]]);    if dimension0 <= 65535 then        operands.natural0 = dimension0 as integer {0..65535};        if dimension0 != 0 then            operands.positive0 = dimension0 as integer {1..65535};        end;    end;    if dimension1 <= 65535 then        operands.natural1 = dimension1 as integer {0..65535};        if dimension1 != 0 then            operands.positive1 = dimension1 as integer {1..65535};        end;    end;    if dimension2 >= 1 && dimension2 <= 65535 then        operands.positive2 = dimension2 as integer {1..65535};    end;    if dimension0 <= 262144 then        operands.byte_count = dimension0 as integer {0..262144};    end;    if dimension0 >= 1 && dimension0 <= 64 then        operands.sort_width = dimension0 as integer {1..64};    end;    operands.selected_byte = UInt(_BundleDataAttributes.pad_value)        as integer {0..3};    case UInt(_BundleDataAttributes.comparison_mode) of        when 0 => operands.comparison = TileComparison_EQ;        when 1 => operands.comparison = TileComparison_NE;        when 2 => operands.comparison = TileComparison_LT;        when 3 => operands.comparison = TileComparison_GT;        when 4 => operands.comparison = TileComparison_LE;        when 5 => operands.comparison = TileComparison_GE;        otherwise => operands.comparison = TileComparison_EQ;    end;    // Generic boolean operands are operation controls, not aliases of the    // numeric saturation bit. Numeric consumers receive the separate typed    // control below; other bundle operations retain their operation default.    operands.numeric_control = DecodeBundleRoundingSelection(        _BundleDataAttributes.rounding_mode);    operands.numeric_control.saturating = _BundleDataAttributes.saturating;    return operands;end;
func SelectedBundleTileDataAttributesLegal(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    // Inherited/default values are operation inputs, not explicitly encoded    // nonzero B.DATR fields.  Applicability therefore examines field values    // only when the optional command was present.    let explicit_c_mode = if _BundleDataAttributesPresent then        _BundleDataAttributes.comparison_mode else Zeros{3};    let explicit_pad = if _BundleDataAttributesPresent then        _BundleDataAttributes.pad_value else Zeros{2};    let explicit_saturating = _BundleDataAttributesPresent &&        _BundleDataAttributes.saturating;    let explicit_canonicalize = _BundleDataAttributesPresent &&        _BundleDataAttributes.canonicalize;    let explicit_data_type = if _BundleDataAttributesPresent then        _BundleDataAttributes.data_type else Zeros{5};    let explicit_rounding = if _BundleDataAttributesPresent then        _BundleDataAttributes.rounding_mode else Zeros{3};    let explicit_layout = if _BundleDataAttributesPresent then        _BundleDataAttributes.data_layout else Zeros{5};    if !TileOperationDATRFieldsLegal(        operation, explicit_c_mode, explicit_pad, explicit_saturating,        explicit_canonicalize, explicit_data_type, explicit_rounding,        explicit_layout) then        SetFault(Fault_TileLegality, ReadTPC());        return FALSE;    end;    let matrix = _BundleOperation.valid &&        _BundleOperation.operation_class == BundleOperation_TileMatrix;    let datr_legal = if matrix then        _BundleFixedPointAttributes.valid &&        BundleFPATRDATRFieldsLegal(            _BundleFixedPointAttributes.pre_quant_mode,            _BundleDataAttributes.rounding_mode,            _BundleDataAttributes.saturating)    else        TileOperationDATRFieldsLegal(            operation,            explicit_c_mode,            explicit_pad,            explicit_saturating,            explicit_canonicalize,            explicit_data_type,            explicit_rounding,            explicit_layout);    if !datr_legal then        SetFault(Fault_TileLegality, ReadTPC());        return FALSE;    end;    let decoded_operation = TileOperationOfIndex(operation);    if (decoded_operation == TileOperation_TLOAD ||        decoded_operation == TileOperation_TSTORE) &&       !TileDataLayoutIsCubeConversion(explicit_layout) &&       explicit_pad != Zeros{2} then        // PadValue is assigned to the explicit Local CUBE conversion form.        // Ordinary and Shared TLOAD/TSTORE retain their zero-only union rule.        SetFault(Fault_TileLegality, ReadTPC());        return FALSE;    end;    if _BundleDataAttributesPresent &&       _BundleDataAttributes.pad_value != Zeros{2} &&       TileOperationDATRPadUnion(operation) ==           TileDATRPadUnion_MustZero then        SetFault(Fault_TileLegality, ReadTPC());        return FALSE;    end;    return TRUE;end;
readonly func SelectedBundleTileMasksLegal() => booleanbegin    var first_mask = Zeros{4};    var first_mask_seen = FALSE;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            let mask = _BundleTileBindings[[binding]].pe_mask;            if first_mask_seen && mask != first_mask then return FALSE; end;            first_mask = mask;            first_mask_seen = TRUE;        end;    end;    return TRUE;end;
readonly func SelectedBundleTileMaskIsZero() => booleanbegin    var seen = FALSE;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            seen = TRUE;            if _BundleTileBindings[[binding]].pe_mask != Zeros{4} then                return FALSE;            end;        end;    end;    return seen || (_BundleZeroParticipationSeen &&        BundleTileBindingCount() == 0 && BundleSharedBindingCount() == 0);end;
readonly func BundleTileBindingCount() => integer {0..16}begin    var count: integer {0..16} = 0;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            count = (count + 1) as integer {0..16};        end;    end;    return count;end;
pure func TileOperationUsesClosedBinarySchema(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    let decoded = TileOperationOfIndex(operation);    return decoded == TileOperation_TADD ||           decoded == TileOperation_TSUB ||           decoded == TileOperation_TMUL ||           decoded == TileOperation_TDIV ||           decoded == TileOperation_TREM ||           decoded == TileOperation_TMAX ||           decoded == TileOperation_TMIN;end;
readonly func SelectedBundleClosedBinarySchemaLegal(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    if !TileOperationUsesClosedBinarySchema(operation) then return TRUE; end;    if BundleTileBindingCount() != 1 || BundleSharedBindingCount() != 0 then        return FALSE;    end;    if !_BundleTileBindings[[0]].destination_valid ||       _BundleTileBindings[[0]].destination_allocated_by_bundle ||       !BundleTileDestinationSizeLegal(0) ||       !_BundleTileBindings[[0]].source0_valid ||       !_BundleTileBindings[[0]].source1_valid ||       !_BundleTileBindings[[0]].last then return FALSE; end;    if !_BundleDimensionPresent[[0]] ||       UInt(_BundleDimensions[[0]]) < 1 ||       UInt(_BundleDimensions[[0]]) > 65535 then return FALSE; end;    for dimension = 1 to 2 looplimit 2 do        if _BundleDimensionPresent[[dimension]] &&           (UInt(_BundleDimensions[[dimension]]) < 1 ||            UInt(_BundleDimensions[[dimension]]) > 65535) then            return FALSE;        end;    end;    let data_type = TileDataTypeFromEncoding(        CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding);    return TileVecArithmeticDataTypeSupported(data_type) &&           TileElementwiseLayoutSupported(CurrentBundleTileLayout());end;
pure func TileOperationUsesClosedUnarySchema(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    let decoded = TileOperationOfIndex(operation);    return decoded == TileOperation_TABS ||           decoded == TileOperation_TNOT ||           decoded == TileOperation_TNEG ||           decoded == TileOperation_TRELU;end;
readonly func SelectedBundleClosedUnarySchemaLegal(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    if !TileOperationUsesClosedUnarySchema(operation) then return TRUE; end;    if BundleTileBindingCount() != 1 || BundleSharedBindingCount() != 0 then        return FALSE;    end;    let binding = _BundleTileBindings[[0]];    if !binding.destination_valid || binding.destination_allocated_by_bundle ||       !BundleTileDestinationSizeLegal(0) ||       !binding.source0_valid || binding.source1_valid || !binding.last then        return FALSE;    end;    if !_BundleDimensionPresent[[0]] ||       UInt(_BundleDimensions[[0]]) < 1 ||       UInt(_BundleDimensions[[0]]) > 65535 then        return FALSE;    end;    for dimension = 1 to 2 looplimit 2 do        if _BundleDimensionPresent[[dimension]] &&           (UInt(_BundleDimensions[[dimension]]) < 1 ||            UInt(_BundleDimensions[[dimension]]) > 65535) then            return FALSE;        end;    end;    let decoded = TileOperationOfIndex(operation);    let unary = if decoded == TileOperation_TABS then TileUnary_ABS                else if decoded == TileOperation_TNOT then TileUnary_NOT                else if decoded == TileOperation_TNEG then TileUnary_NEG                else TileUnary_RELU;    let data_type = TileDataTypeFromEncoding(        CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding);    return TileUnaryDataTypeSupported(unary, data_type) &&           TileElementwiseLayoutSupported(CurrentBundleTileLayout());end;
pure func TileOperationUsesClosedTFMASchema(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    return TileOperationOfIndex(operation) == TileOperation_TFMA;end;
readonly func SelectedBundleClosedTFMASchemaLegal(    operation: integer {0..PTO_TILE_OPERATION_COUNT-1}) => booleanbegin    if !TileOperationUsesClosedTFMASchema(operation) then return TRUE; end;    if BundleTileBindingCount() != 2 ||       BundleSharedBindingCount() != 0 ||       _BundleScalarBindings[[0]].valid then        return FALSE;    end;
    let multiplicands = _BundleTileBindings[[0]];    let result = _BundleTileBindings[[1]];    if multiplicands.destination_valid ||       !multiplicands.source0_valid ||       !multiplicands.source1_valid ||       multiplicands.last then        return FALSE;    end;    if !result.destination_valid ||       result.destination_allocated_by_bundle ||       !BundleTileDestinationSizeLegal(1) ||       !result.source0_valid ||       result.source1_valid ||       !result.last then        return FALSE;    end;    if !_BundleDimensionPresent[[0]] ||       UInt(_BundleDimensions[[0]]) < 1 ||       UInt(_BundleDimensions[[0]]) > 65535 then        return FALSE;    end;    for dimension = 1 to 2 looplimit 2 do        if _BundleDimensionPresent[[dimension]] &&           (UInt(_BundleDimensions[[dimension]]) < 1 ||            UInt(_BundleDimensions[[dimension]]) > 65535) then            return FALSE;        end;    end;
    let data_type = TileDataTypeFromEncoding(        CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding);    return TileFusedMultiplyAddDataTypeSupported(data_type) &&           TileElementwiseLayoutSupported(CurrentBundleTileLayout());end;

readonly func BundleLocalTileSourceCount() => integer {0..32}begin    var count: integer {0..32} = 0;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            if _BundleTileBindings[[binding]].source0_valid then                count = (count + 1) as integer {0..32};            end;            if _BundleTileBindings[[binding]].source1_valid then                count = (count + 1) as integer {0..32};            end;        end;    end;    return count;end;
readonly func BundleLocalTileDestinationCount() => integer {0..16}begin    var count: integer {0..16} = 0;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid &&           _BundleTileBindings[[binding]].destination_valid then            count = (count + 1) as integer {0..16};        end;    end;    return count;end;
readonly func BundleTileBindingStreamTerminated() => booleanbegin    var binding_count: integer {0..16} = 0;    var seen_last = FALSE;    for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do        if _BundleTileBindings[[binding]].valid then            if seen_last then return FALSE; end;            binding_count = (binding_count + 1) as integer {0..16};            if _BundleTileBindings[[binding]].last then                seen_last = TRUE;            end;        end;    end;    return binding_count > 0 && seen_last;end;

架构行为

该内部模型单元不在双语读者指南迁移范围内;请直接阅读本页的 ASL/NDF 所有者与验证证据。

NDF 条款

正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。

No NDF clause is attached to this unit.

Evidence index

11 matching entries

Executable evidence2
  • PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA compiles as an independent normative unit
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-MODEL-DISPATCH-TILE-SCHEMA-STATIC-001
    Path
    tests/asl/block/model/dispatch/tile-schema/block-static-tile-schema-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    6ca8a345a60df34cc1a9a2526c1be2fba2e3dbb51227cf54b21240cc4c04d930
    Open exact source ↗ for PTO-AVS-BLOCK-MODEL-DISPATCH-TILE-SCHEMA-STATIC-001
  • Ordinary TLOAD and TSTORE keep PadValue zero-only after CUBE conversion gains padding
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA
    3. categoryFAULT
    4. case008
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-TLOAD-TSTORE-ORDINARY-PAD-008
    Path
    tests/asl/block/model/dispatch/tile-schema/block-fault-tload-tstore-ordinary-pad-008.asl
    Kind / role
    fault
    Requirements
    PTO-INST-BLOCK-BSTART-TLOAD, PTO-INST-BLOCK-BSTART-TSTORE
    Pass condition
    a nonzero PadValue with NORM layout rejects both operations before allocation descriptor or memory effects
    SHA-256
    700b7e69801e68534053f9644fe0f2f7a096119f317107f653a88b24e423bee4
    Open exact source ↗ for PTO-AVS-BLOCK-TLOAD-TSTORE-ORDINARY-PAD-008
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST
Decision history4
  • Bundle-command totality and PTO-v0 profile boundaries · accepted
    1. decision recordADR
    2. case0032

    Decision record

    Loading ADR-0032…

    Sources and references
    Complete stable ID
    ADR-0032
    Path
    docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.md
    Affected units
    PTO-BLOCK-B-CATR, PTO-BLOCK-B-DATR, PTO-BLOCK-B-DIM, PTO-BLOCK-B-FPATR, PTO-BLOCK-B-HINT, PTO-BLOCK-B-IOR, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-BSTART, PTO-BLOCK-BSTART-CALL, PTO-BLOCK-BSTART-FP, PTO-BLOCK-BSTART-GMOV, PTO-BLOCK-BSTART-ICALL, PTO-BLOCK-BSTART-MGATHER, PTO-BLOCK-BSTART-MGATHER-CAS, PTO-BLOCK-BSTART-MGATHER-MASK, PTO-BLOCK-BSTART-MSCATTER, PTO-BLOCK-BSTART-MSCATTER-MASK, PTO-BLOCK-BSTART-SFU, PTO-BLOCK-BSTART-STD, PTO-BLOCK-BSTART-SYS, PTO-BLOCK-BSTART-TEPL, PTO-BLOCK-BSTART-TGEMV, PTO-BLOCK-BSTART-TGEMV-ACC, PTO-BLOCK-BSTART-TGEMV-BIAS, PTO-BLOCK-BSTART-TGEMVMX, PTO-BLOCK-BSTART-TGEMVMX-ACC, PTO-BLOCK-BSTART-TGEMVMX-BIAS, PTO-BLOCK-BSTART-TLOAD, PTO-BLOCK-BSTART-TMATMUL, PTO-BLOCK-BSTART-TMATMUL-ACC, PTO-BLOCK-BSTART-TMATMUL-BIAS, PTO-BLOCK-BSTART-TMATMULMX, PTO-BLOCK-BSTART-TMATMULMX-ACC, PTO-BLOCK-BSTART-TMATMULMX-BIAS, PTO-BLOCK-BSTART-TMOV, PTO-BLOCK-BSTART-TPREFETCH, PTO-BLOCK-BSTART-TSTORE, PTO-BLOCK-BSTART-VEC, PTO-BLOCK-BSTOP, PTO-BLOCK-C-B-DIMI, PTO-BLOCK-C-BSTART, PTO-BLOCK-C-BSTART-FP, PTO-BLOCK-C-BSTART-STD, PTO-BLOCK-C-BSTART-SYS, PTO-BLOCK-C-BSTOP, PTO-BLOCK-ERCOV, PTO-BLOCK-ESAVE, PTO-BLOCK-FENTRY, PTO-BLOCK-FEXIT, PTO-BLOCK-FRET-RA, PTO-BLOCK-FRET-STK, PTO-BLOCK-HL-QMT, PTO-BLOCK-HL-QPOP, PTO-BLOCK-HL-QPUSH, PTO-BLOCK-L-BSTOP, PTO-BLOCK-MCOPY, PTO-BLOCK-MODEL-COMMIT-EFFECTS, PTO-BLOCK-MODEL-COMMIT-VALIDATION, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-CUBE-DESTINATION, PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL, PTO-BLOCK-MODEL-DISPATCH-DECODE, PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY, PTO-BLOCK-MODEL-DISPATCH-DESTINATION-SHAPE, PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-HISTOGRAM-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-NUMERIC-CONTROL, PTO-BLOCK-MODEL-DISPATCH-QUANTIZATION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-SORTING-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-START, PTO-BLOCK-MODEL-DISPATCH-TCVT-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TLSU-GMOV, PTO-BLOCK-MODEL-DISPATCH-TLSU-LAYOUT-CONVERSION, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER-CAS, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER-MASK, PTO-BLOCK-MODEL-DISPATCH-TLSU-MSCATTER, PTO-BLOCK-MODEL-DISPATCH-TLSU-MSCATTER-MASK, PTO-BLOCK-MODEL-DISPATCH-TLSU-PREFETCH, PTO-BLOCK-MODEL-DISPATCH-TOP-LEVEL, PTO-BLOCK-MODEL-FAULTS-ROLLBACK, PTO-BLOCK-MODEL-LIFECYCLE-BEGIN, PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP, PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME, PTO-BLOCK-MODEL-LIFECYCLE-RESET, PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES, PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS, PTO-BLOCK-MODEL-SCHEMA-HEADER, PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING, PTO-BLOCK-MODEL-STATE-BARG, PTO-BLOCK-MODEL-STATE-BINDING-STATE, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-BLOCK-MSET, PTO-BLOCK-XB
    Affected NDF
    PTO-B-CATR-CONTROL-001, PTO-B-DATR-FIELDS-001, PTO-B-DIM-WRITE-001, PTO-B-FPATR-MATRIX-POSTPROCESS-001, PTO-B-HINT-LIFECYCLE-001, PTO-B-IOR-BINDING-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-IOT-STREAM-001, PTO-BARG-CONTINUATION-001, PTO-BLOCK-ERCOV-RESERVED-001, PTO-BLOCK-ESAVE-RESERVED-001, PTO-BLOCK-MSET-FILL-001, PTO-BLOCK-XB-RESERVED-001, PTO-BSTART-CALL-DECISION-BINDING-001, PTO-BSTART-DECISION-BINDING-001, PTO-BSTART-FP-CONTROL-001, PTO-BSTART-GMOV-COLLECTIVE-001, PTO-BSTART-ICALL-DECISION-BINDING-001, PTO-BSTART-MGATHER-CAS-SCHEMA-001, PTO-BSTART-MGATHER-MASK-SCHEMA-001, PTO-BSTART-MGATHER-SCHEMA-001, PTO-BSTART-MSCATTER-MASK-SCHEMA-001, PTO-BSTART-MSCATTER-SCHEMA-001, PTO-BSTART-SFU-DECISION-BINDING-001, PTO-BSTART-STD-CONTROL-001, PTO-BSTART-SYS-CONTROL-001, PTO-BSTART-TEPL-DECISION-BINDING-001, PTO-BSTART-TGEMV-ACC-CONTRACT-001, PTO-BSTART-TGEMV-BIAS-CONTRACT-001, PTO-BSTART-TGEMV-CONTRACT-001, PTO-BSTART-TGEMVMX-ACC-CONTRACT-001, PTO-BSTART-TGEMVMX-BIAS-CONTRACT-001, PTO-BSTART-TGEMVMX-CONTRACT-001, PTO-BSTART-TLOAD-CUBE-001, PTO-BSTART-TLOAD-MEMORY-001, PTO-BSTART-TMATMUL-ACC-CONTRACT-001, PTO-BSTART-TMATMUL-BIAS-CONTRACT-001, PTO-BSTART-TMATMUL-CONTRACT-001, PTO-BSTART-TMATMULMX-ACC-CONTRACT-001, PTO-BSTART-TMATMULMX-BIAS-CONTRACT-001, PTO-BSTART-TMATMULMX-CONTRACT-001, PTO-BSTART-TMOV-SHARED-001, PTO-BSTART-TPREFETCH-MEMORY-001, PTO-BSTART-TSTORE-CUBE-001, PTO-BSTART-TSTORE-MEMORY-001, PTO-BSTART-VEC-DECISION-BINDING-001, PTO-BSTOP-DECISION-BINDING-001, PTO-C-BSTART-CONTROL-001, PTO-C-BSTART-FP-CONTROL-001, PTO-C-BSTART-STD-CONTROL-001, PTO-C-BSTART-SYS-CONTROL-001, PTO-C-BSTOP-DECISION-BINDING-001, PTO-CUBE-CELL-TRANSPORT-001, PTO-FENTRY-RESTARTABLE-FRAME-001, PTO-FEXIT-RESTARTABLE-FRAME-001, PTO-FRET-RA-RESTARTABLE-FRAME-001, PTO-FRET-STK-RESTARTABLE-FRAME-001, PTO-HL-QMT-GQM-001, PTO-HL-QPOP-GQM-001, PTO-HL-QPUSH-GQM-001, PTO-L-BSTOP-DECISION-BINDING-001, PTO-MCOPY-RESTART-001, PTO-REQ-BUNDLE-STATE-001
    SHA-256
    e1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54ae
    Open exact decision source ↗ for ADR-0032
  • Complete-Bundle B.IOR Schema and Defaults · accepted
    1. decision recordADR
    2. case0055

    Decision record

    Loading ADR-0055…

    Sources and references
    Complete stable ID
    ADR-0055
    Path
    docs/status/decisions/0055-complete-bundle-bior-schema-and-defaults.md
    Affected units
    PTO-BLOCK-B-IOR, PTO-BLOCK-BSTART-CALL, PTO-BLOCK-BSTART-FP, PTO-BLOCK-BSTART-GMOV, PTO-BLOCK-BSTART-ICALL, PTO-BLOCK-BSTART-MGATHER, PTO-BLOCK-BSTART-MGATHER-CAS, PTO-BLOCK-BSTART-MGATHER-MASK, PTO-BLOCK-BSTART-MSCATTER, PTO-BLOCK-BSTART-MSCATTER-MASK, PTO-BLOCK-BSTART-SFU, PTO-BLOCK-BSTART-STD, PTO-BLOCK-BSTART-SYS, PTO-BLOCK-BSTART-TEPL, PTO-BLOCK-BSTART-TGEMV, PTO-BLOCK-BSTART-TGEMV-ACC, PTO-BLOCK-BSTART-TGEMV-BIAS, PTO-BLOCK-BSTART-TGEMVMX, PTO-BLOCK-BSTART-TGEMVMX-ACC, PTO-BLOCK-BSTART-TGEMVMX-BIAS, PTO-BLOCK-BSTART-TLOAD, PTO-BLOCK-BSTART-TMATMUL, PTO-BLOCK-BSTART-TMATMUL-ACC, PTO-BLOCK-BSTART-TMATMUL-BIAS, PTO-BLOCK-BSTART-TMATMULMX, PTO-BLOCK-BSTART-TMATMULMX-ACC, PTO-BLOCK-BSTART-TMATMULMX-BIAS, PTO-BLOCK-BSTART-TMOV, PTO-BLOCK-BSTART-TPREFETCH, PTO-BLOCK-BSTART-TSTORE, PTO-BLOCK-BSTART-VEC, PTO-BLOCK-MODEL-COMMIT-EFFECTS, PTO-BLOCK-MODEL-COMMIT-VALIDATION, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-CUBE-DESTINATION, PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL, PTO-BLOCK-MODEL-DISPATCH-DECODE, PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY, PTO-BLOCK-MODEL-DISPATCH-DESTINATION-SHAPE, PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-HISTOGRAM-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-NUMERIC-CONTROL, PTO-BLOCK-MODEL-DISPATCH-QUANTIZATION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-SORTING-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-START, PTO-BLOCK-MODEL-DISPATCH-TCVT-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TLSU-GMOV, PTO-BLOCK-MODEL-DISPATCH-TLSU-LAYOUT-CONVERSION, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER-CAS, PTO-BLOCK-MODEL-DISPATCH-TLSU-MGATHER-MASK, PTO-BLOCK-MODEL-DISPATCH-TLSU-MSCATTER, PTO-BLOCK-MODEL-DISPATCH-TLSU-MSCATTER-MASK, PTO-BLOCK-MODEL-DISPATCH-TLSU-PREFETCH, PTO-BLOCK-MODEL-DISPATCH-TOP-LEVEL, PTO-BLOCK-MODEL-FAULTS-ROLLBACK, PTO-BLOCK-MODEL-LIFECYCLE-BEGIN, PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP, PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME, PTO-BLOCK-MODEL-LIFECYCLE-RESET, PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES, PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS, PTO-BLOCK-MODEL-SCHEMA-HEADER, PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING, PTO-BLOCK-MODEL-STATE-BARG, PTO-BLOCK-MODEL-STATE-BINDING-STATE, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES
    Affected NDF
    PTO-B-IOR-BINDING-001, PTO-BARG-CONTINUATION-001, PTO-BSTART-CALL-DECISION-BINDING-001, PTO-BSTART-FP-CONTROL-001, PTO-BSTART-GMOV-COLLECTIVE-001, PTO-BSTART-ICALL-DECISION-BINDING-001, PTO-BSTART-MGATHER-CAS-SCHEMA-001, PTO-BSTART-MGATHER-MASK-SCHEMA-001, PTO-BSTART-MGATHER-SCHEMA-001, PTO-BSTART-MSCATTER-MASK-SCHEMA-001, PTO-BSTART-MSCATTER-SCHEMA-001, PTO-BSTART-SFU-DECISION-BINDING-001, PTO-BSTART-STD-CONTROL-001, PTO-BSTART-SYS-CONTROL-001, PTO-BSTART-TEPL-DECISION-BINDING-001, PTO-BSTART-TGEMV-ACC-CONTRACT-001, PTO-BSTART-TGEMV-BIAS-CONTRACT-001, PTO-BSTART-TGEMV-CONTRACT-001, PTO-BSTART-TGEMVMX-ACC-CONTRACT-001, PTO-BSTART-TGEMVMX-BIAS-CONTRACT-001, PTO-BSTART-TGEMVMX-CONTRACT-001, PTO-BSTART-TLOAD-CUBE-001, PTO-BSTART-TLOAD-MEMORY-001, PTO-BSTART-TMATMUL-ACC-CONTRACT-001, PTO-BSTART-TMATMUL-BIAS-CONTRACT-001, PTO-BSTART-TMATMUL-CONTRACT-001, PTO-BSTART-TMATMULMX-ACC-CONTRACT-001, PTO-BSTART-TMATMULMX-BIAS-CONTRACT-001, PTO-BSTART-TMATMULMX-CONTRACT-001, PTO-BSTART-TMOV-SHARED-001, PTO-BSTART-TPREFETCH-MEMORY-001, PTO-BSTART-TSTORE-CUBE-001, PTO-BSTART-TSTORE-MEMORY-001, PTO-BSTART-VEC-DECISION-BINDING-001, PTO-REQ-BUNDLE-STATE-001
    SHA-256
    d84224ee1980cb16a6c4efb6ce3c5c2649d5db27002e7e6429850da189a2cdff
    Open exact decision source ↗ for ADR-0055
  • B.SUBVIEW and B.ASSEMBLE range-modifier association · accepted
    1. decision recordADR
    2. case0098

    Decision record

    Loading ADR-0098…

    Sources and references
    Complete stable ID
    ADR-0098
    Path
    docs/status/decisions/0098-b-range-modifiers.md
    Affected units
    PTO-ARCH-PROFILE-RESET, PTO-BLOCK-B-IOT, PTO-BLOCK-B-IOS, PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-B-ASSEMBLE, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-ARCH-DATA-TYPES-TRAP-CONTEXT, PTO-ARCH-PROFILE-REFERENCE-PROFILE, PTO-ARCH-PROFILE-TRAP-CONTEXT-RECOVERY, PTO-ARCH-STATE-TRAP-CONTEXT, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-FAULTS-ROLLBACK, PTO-BLOCK-MODEL-LIFECYCLE-RESET, PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS, PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR, PTO-BLOCK-MODEL-STATE-SHARED-GENERATION, PTO-TILE-MODEL-LEGALITY-MATRIX-POSTPROCESS
    Affected NDF
    PTO-B-IOT-STREAM-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-RANGE-001, PTO-B-SUBVIEW-DESCRIPTOR-001, PTO-BLOCK-TILE-OPERATION-APPLICABILITY-001, PTO-B-ASSEMBLE-LOCAL-GENERATION-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001, PTO-B-ASSEMBLE-SHARED-STANDALONE-001, PTO-B-ASSEMBLE-CONSUMER-READINESS-001, PTO-B-ASSEMBLE-SPECULATION-001, PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001
    SHA-256
    e194ccc6b6922fd4b65066b533f5e4b0eba094e099970059bca8e25b4e466fba
    Open exact decision source ↗ for ADR-0098
  • PTO ISA 0.58.4.1 to 0.58.5 compatibility boundary · accepted
    1. decision recordADR
    2. case0108

    Decision record

    Loading ADR-0108…

    Sources and references
    Complete stable ID
    ADR-0108
    Path
    docs/status/decisions/0108-0584-1-to-0585-compatibility.md
    Affected units
    PTO-ARCH-FEATURES-TILE-ALLOCATION, PTO-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS, PTO-ARCH-OVERVIEW-ENCODING-OWNERSHIP, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-BSTART-TLOAD, PTO-BLOCK-BSTART-TMATMUL, PTO-BLOCK-BSTART-TMATMUL-ACC, PTO-BLOCK-BSTART-TMATMUL-BIAS, PTO-BLOCK-BSTART-TMATMULMX, PTO-BLOCK-BSTART-TMATMULMX-ACC, PTO-BLOCK-BSTART-TMATMULMX-BIAS, PTO-BLOCK-BSTART-TMOV, PTO-BLOCK-BSTART-TSTORE, PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL, PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY, PTO-BLOCK-MODEL-DISPATCH-DESTINATION-SHAPE, PTO-BLOCK-MODEL-DISPATCH-PARTIAL-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-SHARED-CUBE-MATRIX, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TLSU-LAYOUT-CONVERSION, PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-TILE-GMOV, PTO-TILE-MGATHER, PTO-TILE-MGATHER-CAS, PTO-TILE-MGATHER-MASK, PTO-TILE-MSCATTER, PTO-TILE-MSCATTER-MASK, PTO-TILE-TCI, PTO-TILE-TCONCAT, PTO-TILE-TDEQUANT, PTO-TILE-TEXTRACT, PTO-TILE-TFILLPAD, PTO-TILE-TGATHER, PTO-TILE-TGEMV, PTO-TILE-TGEMV-ACC, PTO-TILE-TGEMV-BIAS, PTO-TILE-TGEMV-MX, PTO-TILE-TGEMV-MX-ACC, PTO-TILE-TGEMV-MX-BIAS, PTO-TILE-THISTOGRAM, PTO-TILE-TINSERT, PTO-TILE-TLOAD, PTO-TILE-TMATMUL, PTO-TILE-TMATMUL-ACC, PTO-TILE-TMATMUL-BIAS, PTO-TILE-TMATMUL-MX, PTO-TILE-TMATMUL-MX-ACC, PTO-TILE-TMATMUL-MX-BIAS, PTO-TILE-TMOV, PTO-TILE-TMRGSORT, PTO-TILE-TPACK, PTO-TILE-TPARTADD, PTO-TILE-TPARTMAX, PTO-TILE-TPARTMIN, PTO-TILE-TPARTMUL, PTO-TILE-TPERMUTE, PTO-TILE-TPREFETCH, PTO-TILE-TQUANT, PTO-TILE-TSCATTER, PTO-TILE-TSHUF, PTO-TILE-TSORT, PTO-TILE-TSTORE, PTO-TILE-TTRANS, PTO-TILE-TTRI, PTO-TILE-TUNPACK, PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX, PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT, PTO-TILE-MODEL-EXECUTION-COMPLEX, PTO-TILE-MODEL-EXECUTION-GENERATION, PTO-TILE-MODEL-EXECUTION-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-ALLOCATION-CAPACITY, PTO-TILE-MODEL-LEGALITY-DTYPE-LAYOUT, PTO-TILE-MODEL-LEGALITY-INDEXED-LAYOUT, PTO-TILE-MODEL-LEGALITY-LAYOUT-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-OPERAND-SCHEMA, PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT, PTO-TILE-MODEL-STATE-DESCRIPTORS, PTO-TILE-MODEL-STATE-SHARED-REGISTERS, PTO-TILE-MODEL-STATE-TYPES
    Affected NDF
    PTO-ARCH-GM-ACCESS-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-IOT-STREAM-001, PTO-B-SHARED-WHOLE-PARENT-READY-001, PTO-B-SUBVIEW-SHARED-PER-PE-001, PTO-BSTART-TLOAD-MEMORY-001, PTO-BSTART-TMOV-SHARED-001, PTO-BSTART-TSTORE-MEMORY-001, PTO-INST-BLOCK-B-IOS, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-BSTART-TLOAD, PTO-INST-BLOCK-BSTART-TMATMUL, PTO-INST-BLOCK-BSTART-TMATMUL-ACC, PTO-INST-BLOCK-BSTART-TMATMUL-BIAS, PTO-INST-BLOCK-BSTART-TMATMULMX, PTO-INST-BLOCK-BSTART-TMATMULMX-ACC, PTO-INST-BLOCK-BSTART-TMATMULMX-BIAS, PTO-INST-BLOCK-BSTART-TMOV, PTO-INST-BLOCK-BSTART-TSTORE, PTO-INST-TILE-GMOV, PTO-INST-TILE-MGATHER, PTO-INST-TILE-MGATHER-CAS, PTO-INST-TILE-MGATHER-MASK, PTO-INST-TILE-MSCATTER, PTO-INST-TILE-MSCATTER-MASK, PTO-INST-TILE-TCI, PTO-INST-TILE-TCONCAT, PTO-INST-TILE-TDEQUANT, PTO-INST-TILE-TEXTRACT, PTO-INST-TILE-TFILLPAD, PTO-INST-TILE-TGATHER, PTO-INST-TILE-TGEMV, PTO-INST-TILE-TGEMV-ACC, PTO-INST-TILE-TGEMV-BIAS, PTO-INST-TILE-TGEMV-MX, PTO-INST-TILE-TGEMV-MX-ACC, PTO-INST-TILE-TGEMV-MX-BIAS, PTO-INST-TILE-THISTOGRAM, PTO-INST-TILE-TINSERT, PTO-INST-TILE-TLOAD, PTO-INST-TILE-TMATMUL, PTO-INST-TILE-TMATMUL-ACC, PTO-INST-TILE-TMATMUL-BIAS, PTO-INST-TILE-TMATMUL-MX, PTO-INST-TILE-TMATMUL-MX-ACC, PTO-INST-TILE-TMATMUL-MX-BIAS, PTO-INST-TILE-TMOV, PTO-INST-TILE-TMRGSORT, PTO-INST-TILE-TPACK, PTO-INST-TILE-TPARTADD, PTO-INST-TILE-TPARTMAX, PTO-INST-TILE-TPARTMIN, PTO-INST-TILE-TPARTMUL, PTO-INST-TILE-TPERMUTE, PTO-INST-TILE-TPREFETCH, PTO-INST-TILE-TQUANT, PTO-INST-TILE-TSCATTER, PTO-INST-TILE-TSHUF, PTO-INST-TILE-TSORT, PTO-INST-TILE-TSTORE, PTO-INST-TILE-TTRANS, PTO-INST-TILE-TTRI, PTO-INST-TILE-TUNPACK, PTO-ISA-LEGACY-SHARED-MOVEMENT-001, PTO-TFILLPAD-CONTRACT-001, PTO-TLOAD-MEMORY-001, PTO-TMATMUL-ACC-CONTRACT-001, PTO-TMATMUL-BIAS-CONTRACT-001, PTO-TMATMUL-CONTRACT-001, PTO-TMATMUL-MX-ACC-CONTRACT-001, PTO-TMATMUL-MX-BIAS-CONTRACT-001, PTO-TMATMUL-MX-CONTRACT-001, PTO-TPACK-CONTRACT-001, PTO-TPARTADD-CONTRACT-001, PTO-TPARTMAX-CONTRACT-001, PTO-TPARTMIN-CONTRACT-001, PTO-TPARTMUL-CONTRACT-001, PTO-TPERMUTE-CONTRACT-001, PTO-TSHUF-CONTRACT-001, PTO-TSTORE-MEMORY-001, PTO-TTRANS-CONTRACT-001, PTO-TUNPACK-CONTRACT-001
    SHA-256
    5689fa78a7291b6ae88d55197205e4cf79e9719ee5ba18ebf186f5c6871c350d
    Open exact decision source ↗ for ADR-0108

Unit metadata

Open 4 generated metadata fields
id
PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA
surface
block
classification
[
  "model",
  "dispatch",
  "tile-schema"
]
depends_on
[
  "PTO-BLOCK-MODEL-DISPATCH-SCALAR-SCHEMA",
  "PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR",
  "PTO-TILE-MODEL-EXECUTION-UNARY"
]
Open generated traceability record
{
  "classification": [
    "model",
    "dispatch",
    "tile-schema"
  ],
  "documentation": "docs/block/model/dispatch/tile-schema.md",
  "id": "PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0032",
    "ADR-0055",
    "ADR-0098",
    "ADR-0108"
  ],
  "semantic_tests": [
    "PTO-AVS-BLOCK-TLOAD-TSTORE-ORDINARY-PAD-008"
  ],
  "source": "asl/block/model/dispatch/tile-schema.asl",
  "surface": "block",
  "tests": [
    "PTO-AVS-BLOCK-MODEL-DISPATCH-TILE-SCHEMA-STATIC-001",
    "PTO-AVS-BLOCK-TLOAD-TSTORE-ORDINARY-PAD-008"
  ]
}

来源与发布信息

展开 commit、路径、hash、版本和规范所有者
发布
0.58.5 · 候选发布
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
982233f0a7347697663ca0a6306dbc4467b935abeabd95e4b0a154d91ccb53d2
生成文档
docs/block/model/dispatch/tile-schema.md · 已融合到当前页面
文档 SHA-256
ce18dbcbfbf3c860dd18455637557c4ed6081d6a95f319af96d5500fcddec4e1

精确所有者