Skip to main content

PTO-TILE-MODEL-MEMORY-LOAD-STORE

PTO-TILE-MODEL-MEMORY-LOAD-STORE

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-TILE-MODEL-MEMORY-LOAD-STORE","surface":"tile","classification":["model","memory","load-store"],"depends_on":["PTO-TILE-MODEL-MEMORY-STRIDE","PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION"]}pure func DecodeTileMemoryElementRaw(raw: Word,                                     data_type: TileDataType,                                     high_nibble: boolean) => Wordbegin    let element_bytes = TileMemoryElementBytes(data_type);    if TileDataTypeIsFourBit(data_type) then        if high_nibble then            return ZeroExtend{PTO_XLEN}(raw[7:4]);        else            return ZeroExtend{PTO_XLEN}(raw[3:0]);        end;    else        return NormalizeLoadedValue(raw, element_bytes,            TileDataTypeIsSigned(data_type));    end;end;
readonly func LoadTileMemoryElement(translated_address: Word,                                    data_type: TileDataType,                                    high_nibble: boolean) => Wordbegin    let element_bytes = TileMemoryElementBytes(data_type);    let raw = LoadTranslatedUnsigned(translated_address, element_bytes);    return DecodeTileMemoryElementRaw(raw, data_type, high_nibble);end;
func StoreTileMemoryElement(original_address: Word,                            translated_address: Word,                            data_type: TileDataType,                            high_nibble: boolean,                            value: Word) => Wordbegin    let element_bytes = TileMemoryElementBytes(data_type);    if TileDataTypeIsFourBit(data_type) then        let old_byte = LoadTranslatedUnsigned(translated_address, 1);        var stored_byte: Byte = old_byte[7:0];        if high_nibble then stored_byte[7:4] = value[3:0];        else stored_byte[3:0] = value[3:0];        end;        let stored_value = ZeroExtend{PTO_XLEN}(stored_byte);        StoreTranslated(original_address, translated_address, 1, stored_value);        return stored_value;    else        let stored_value = NormalizeMemoryAccessValue(value, element_bytes);        StoreTranslated(original_address, translated_address, element_bytes,            stored_value);        return stored_value;    end;end;
func ProbeTileMemoryAccess(address: Word, data_type: TileDataType,                           write: boolean) => DataAccessProbebegin    let element_bytes = TileMemoryElementBytes(data_type);    return ProbeDataAccess(address, element_bytes, element_bytes, write);end;
func TLOAD(destination: TileIndex, base_address: Word,           row_stride_bytes: Word)begin    let tile = _Tiles[[destination]];    assert tile.allocated;    if TileLayoutIsCube(tile.layout) then        assert TileCubeDescriptorLegal(tile);    end;    // Complete packed carriers make the maximum U4 shape representable, but    // an interpreter-sized translated-address array is still only a carrier    // cache.  The fast case is limited to ordinary reset-backed zero-stride    // packed loads and retains the normal translated probe/fault path.    var packed_zero_fast = PackedTileDataTypeIsFourBit(tile.data_type) &&        !TileLayoutIsCube(tile.layout) &&        !_MemoryEventCaptureEnabled &&        tile.defined_valid_elements == 0 &&        row_stride_bytes == Zeros{PTO_XLEN} &&        tile.valid_rows == tile.rows &&        tile.valid_columns == tile.columns &&        tile.rows * tile.columns ==            PackedTileLogicalCapacity(tile.capacity_bytes, tile.data_type);    if packed_zero_fast then        for column = 0 to tile.valid_columns - 1 looplimit 65536 do            let address = TileMemoryStridedByteAddress(base_address,                0, column as integer {0..65535}, row_stride_bytes,                tile.data_type);            let probe = ProbeTileMemoryAccess(address, tile.data_type, FALSE);            if RaiseDataAccessFault(probe, address) then return; end;            if LoadTranslatedUnsigned(probe.translated_address,                   TileMemoryElementBytes(tile.data_type)) !=                   Zeros{PTO_XLEN} then                packed_zero_fast = FALSE;            end;        end;    end;    if packed_zero_fast then        _Tiles[[destination]] = TileWithPackedZeroValidRegionDefined(tile);        return;    end;    var result = tile;    // Instruction-wide preflight makes tile memory faults precise and    // restartable: no payload element changes until every access succeeds.    for row = 0 to tile.valid_rows - 1 looplimit 65536 do        for column = 0 to tile.valid_columns - 1 looplimit 65536 do            let element = TileLogicalLinearIndex(tile,                row as integer {0..65535}, column as integer {0..65535});            let address = TileMemoryStridedByteAddress(base_address,                row as integer {0..65535}, column as integer {0..65535},                row_stride_bytes, tile.data_type);            let probe = ProbeTileMemoryAccess(address, tile.data_type, FALSE);            if RaiseDataAccessFault(probe, address) then return; end;        end;    end;    for row = 0 to tile.valid_rows - 1 looplimit 65536 do        for column = 0 to tile.valid_columns - 1 looplimit 65536 do            let element = TileLogicalLinearIndex(tile,                row as integer {0..65535}, column as integer {0..65535});            let address = TileMemoryStridedByteAddress(base_address,                row as integer {0..65535}, column as integer {0..65535},                row_stride_bytes, tile.data_type);            let translated = ProbeTileMemoryAccess(address, tile.data_type,                FALSE).translated_address;            let high_nibble = TileMemoryStridedByteHighNibble(                column as integer {0..65535}, tile.data_type);            let raw = LoadTranslatedUnsigned(translated,                TileMemoryElementBytes(tile.data_type));            RecordLoadEvent(translated,                TileMemoryElementBytes(tile.data_type), raw,                CurrentBundleMemoryOrder());            result = TileInfoWithLogicalElement(result, element,                DecodeTileMemoryElementRaw(raw, tile.data_type, high_nibble));        end;    end;    result = TileWithValidRegionDefined(result);    if TileLayoutIsCube(result.layout) then        result = TileWithPadding(result, CurrentBundlePadValue());    end;    _Tiles[[destination]] = result;end;
func TSTORE(base_address: Word, row_stride_bytes: Word, source: TileIndex)begin    let tile = _Tiles[[source]];    assert tile.allocated && tile.contents_defined;    if TileLayoutIsCube(tile.layout) then        assert TileCubeDescriptorLegal(tile);    end;    for row = 0 to tile.valid_rows - 1 looplimit 65536 do        for column = 0 to tile.valid_columns - 1 looplimit 65536 do            let element = TileLogicalLinearIndex(tile,                row as integer {0..65535}, column as integer {0..65535});            let address = TileMemoryStridedByteAddress(base_address,                row as integer {0..65535}, column as integer {0..65535},                row_stride_bytes, tile.data_type);            let probe = ProbeTileMemoryAccess(address, tile.data_type, TRUE);            if RaiseDataAccessFault(probe, address) then return; end;        end;    end;    for row = 0 to tile.valid_rows - 1 looplimit 65536 do        for column = 0 to tile.valid_columns - 1 looplimit 65536 do            let element = TileLogicalLinearIndex(tile,                row as integer {0..65535}, column as integer {0..65535});            let address = TileMemoryStridedByteAddress(base_address,                row as integer {0..65535}, column as integer {0..65535},                row_stride_bytes, tile.data_type);            let translated = ProbeTileMemoryAccess(address, tile.data_type,                TRUE).translated_address;            let stored_value = StoreTileMemoryElement(                address, translated, tile.data_type,                TileMemoryStridedByteHighNibble(                    column as integer {0..65535}, tile.data_type),                TileReadLogicalElement(tile, element));            RecordStoreEvent(translated,                TileMemoryElementBytes(tile.data_type), stored_value,                CurrentBundleMemoryOrder());        end;    end;end;

Architecture behavior

This internal model unit is documented through its normative ASL/NDF owners and validation evidence; it has no reader-guide migration target.

NDF clauses

Bodies come from owning ASL. Dragging or buttons change only this page-session view order.

No NDF clause is attached to this unit.

Evidence index

18 matching entries

Executable evidence12
  • One raw memory snapshot supplies both the event value and decoded Tile element.
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-MEM-SNAPSHOT-001
    Path
    tests/asl/tile/model/memory/load-store/tile-exec-memory-snapshot-001.asl
    Kind / role
    execution
    Pass condition
    raw byte decoding preserves integer width, sign, and packed nibble selection
    SHA-256
    f6caed9a89482a36af5192fa817cab4f1aab2eaafa2b5ab471264b17fbacffb5
    Open exact source ↗ for PTO-AVS-TILE-MEM-SNAPSHOT-001
  • PTO-TILE-MODEL-MEMORY-LOAD-STORE compiles as an independent normative unit
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001
    Path
    tests/asl/tile/model/memory/load-store/tile-static-load-store-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    a520fb4fa4e0da1c31c5cf32de5a820a61fb56a4bb0a43dfdb53b26a3d3d77a1
    Open exact source ↗ for PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001
  • TLOAD maps one strided GM rectangle into persistent CUBE_N8 storage
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLOAD-CUBE-001
    Path
    tests/asl/tile/model/memory/load-store/tile-exec-tload-cube-001.asl
    Kind / role
    execution
    Requirements
    PTO-CUBE-CELL-TRANSPORT-001
    Pass condition
    FP16 values spanning K and N CELL boundaries occupy the CUBE payload indices for their logical coordinates
    SHA-256
    2efd70be8c0be824455c352d7f16d44cba99c72baa1fc348fee1fedc56799bea
    Open exact source ↗ for PTO-AVS-TILE-TLOAD-CUBE-001
  • TLOAD preserves the assigned M16 four-bit CELL column interleave
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryEXECUTION
    4. case005
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLOAD-CUBE-M16-B4-005
    Path
    tests/asl/tile/model/memory/load-store/tile-exec-tload-cube-m16-b4-005.asl
    Kind / role
    execution
    Requirements
    PTO-CUBE-CELL-TRANSPORT-001
    Pass condition
    logical nibbles 4 through 11 occupy physical payload positions 8 through 11 then 4 through 7
    SHA-256
    1dd2a3b0c6aa736651eb9c99d04719ef7620f33c548a43c5eac45bc466c2b2c1
    Open exact source ↗ for PTO-AVS-TILE-TLOAD-CUBE-M16-B4-005
  • TLOAD applies every B.DATR PadValue only to physical CUBE tail positions
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categorySTATE-TRANSITION
    4. case004
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLOAD-CUBE-PAD-004
    Path
    tests/asl/tile/model/memory/load-store/tile-state-tload-cube-pad-004.asl
    Kind / role
    state-transition
    Requirements
    PTO-CUBE-CELL-TRANSPORT-001
    Pass condition
    Zero Max and Min tails are defined with exact raw FP16 values while Null tails remain undefined and valid definedness is unchanged
    SHA-256
    5d147e088ed9fd1552a40d80af42002a3dc578f16e5b67efe7aff3f487f36795
    Open exact source ↗ for PTO-AVS-TILE-TLOAD-CUBE-PAD-004
  • TLOAD preserves raw b32 b16 b8 and packed b4 values in CUBE storage
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryBOUNDARY
    4. case003
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLOAD-CUBE-WIDTHS-003
    Path
    tests/asl/tile/model/memory/load-store/tile-bound-tload-cube-widths-003.asl
    Kind / role
    boundary
    Requirements
    PTO-CUBE-CELL-TRANSPORT-001
    Pass condition
    one representative value for every supported element width reaches the layout-specific storage index without numeric conversion
    SHA-256
    854bb94f0ce6cf91689d7a00a9933181db05873c76b9ec4c1e29cb315b0a0d66
    Open exact source ↗ for PTO-AVS-TILE-TLOAD-CUBE-WIDTHS-003
  • TLOAD and TSTORE use byte row strides for FP16 and FP32
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryEXECUTION
    4. case005
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLSU-BYTE-ROW-STRIDE-EXECUTION-005
    Path
    tests/asl/tile/model/memory/load-store/tile-exec-byte-row-stride-005.asl
    Kind / role
    execution
    Requirements
    PTO-ARCH-GM-ACCESS-001
    Pass condition
    Second-row addresses add the encoded byte stride exactly once for load and store
    SHA-256
    c12f4b71fdd14dd42433285269f99ca557429f53ec66845b0506b099546cce01
    Open exact source ↗ for PTO-AVS-TILE-TLSU-BYTE-ROW-STRIDE-EXECUTION-005
  • TLSU decoded selectors close assigned and rejected operations
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryBOUNDARY
    4. case004
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLSU-DECODE-BOUND-004
    Path
    tests/asl/tile/model/memory/load-store/tile-bound-tlsu-decode-004.asl
    Kind / role
    boundary
    Pass condition
    decoded selector closure assertions hold
    SHA-256
    500f0a8ace423bc6f462c0733cf7cb5b720fde83ecfc73b33c6e0eab37b4fb01
    Open exact source ↗ for PTO-AVS-TILE-TLSU-DECODE-BOUND-004
  • direct TLSU selectors support every assigned four-bit type
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryBOUNDARY
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLSU-DIRECT-BOUND-001
    Path
    tests/asl/tile/model/memory/load-store/tile-bound-tlsu-totality-001.asl
    Kind / role
    boundary
    Pass condition
    direct selector and four-bit type assertions hold
    SHA-256
    6ae30c2c909ce7e136b83371b2cbf574cd672ca3aed65b2cad46004da0457bfe
    Open exact source ↗ for PTO-AVS-TILE-TLSU-DIRECT-BOUND-001
  • TLSU faults identify exact byte positions without partial effects
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryBOUNDARY
    4. case003
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLSU-FAULTS-BOUND-003
    Path
    tests/asl/tile/model/memory/load-store/tile-bound-tlsu-faults-003.asl
    Kind / role
    boundary
    Pass condition
    fault position and no-effect assertions hold
    SHA-256
    44e380708e70394cebd5d55152ed14d958d40b054dde6325ab8fd634b3339466
    Open exact source ↗ for PTO-AVS-TILE-TLSU-FAULTS-BOUND-003
  • indexed TLSU operations preflight and restart packed accesses
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryBOUNDARY
    4. case002
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TLSU-INDEXED-BOUND-002
    Path
    tests/asl/tile/model/memory/load-store/tile-bound-tlsu-indexed-002.asl
    Kind / role
    boundary
    Pass condition
    indexed, preflight, and restart assertions hold
    SHA-256
    b1366e6736fcf28ed47e78f8dad9ae36f82bf31fe4d5978f00a9002639890588
    Open exact source ↗ for PTO-AVS-TILE-TLSU-INDEXED-BOUND-002
  • TSTORE maps persistent CUBE_N8 storage into one strided GM rectangle
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-MEMORY-LOAD-STORE
    3. categoryEXECUTION
    4. case002
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-TILE-TSTORE-CUBE-002
    Path
    tests/asl/tile/model/memory/load-store/tile-exec-tstore-cube-002.asl
    Kind / role
    execution
    Requirements
    PTO-CUBE-CELL-TRANSPORT-001
    Pass condition
    Every valid FP16 element is stored and row gaps plus physical CUBE padding remain absent from GM
    SHA-256
    0088620429444a11842c0747734184210259564efa1d6abee33dd499e4df0093
    Open exact source ↗ for PTO-AVS-TILE-TSTORE-CUBE-002
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 history1
  • Re-encode B.IOT and B.IOS size and PE mode fields · accepted
    1. decision recordADR
    2. case0096

    Decision record

    Loading ADR-0096…

    Sources and references
    Complete stable ID
    ADR-0096
    Path
    docs/status/decisions/0096-b-iot-b-ios-sizecode-pemode.md
    Affected units
    PTO-ARCH-DATA-TYPES-INTEGER, PTO-ARCH-FEATURES-TILE-ALLOCATION, PTO-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS, PTO-ARCH-PROFILE-RESET, PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL, PTO-BLOCK-MODEL-DISPATCH-DESTINATION-SHAPE, PTO-BLOCK-MODEL-DISPATCH-SHARED-CUBE-MATRIX, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING, PTO-BLOCK-MODEL-STATE-TYPES, PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS, PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY, PTO-TILE-MODEL-EXECUTION-COMPARISON, PTO-TILE-MODEL-EXECUTION-COMPLEX, PTO-TILE-MODEL-EXECUTION-CUBE, PTO-TILE-MODEL-EXECUTION-ELEMENTWISE, PTO-TILE-MODEL-EXECUTION-EXPANSION, PTO-TILE-MODEL-EXECUTION-FUSED-MULTIPLY-ADD, PTO-TILE-MODEL-EXECUTION-GENERATION, PTO-TILE-MODEL-EXECUTION-IMAGE-TO-COLUMN, PTO-TILE-MODEL-EXECUTION-INDEXED-REARRANGEMENT, PTO-TILE-MODEL-EXECUTION-REARRANGEMENT, PTO-TILE-MODEL-EXECUTION-REDUCTION, PTO-TILE-MODEL-EXECUTION-SORTING, PTO-TILE-MODEL-EXECUTION-UNARY, PTO-TILE-MODEL-LEGALITY-ALLOCATION-CAPACITY, PTO-TILE-MODEL-LEGALITY-DESCRIPTOR-SHAPE, PTO-TILE-MODEL-LEGALITY-IMAGE-TO-COLUMN, PTO-TILE-MODEL-LEGALITY-INDEXED-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-MATRIX-INFO-DESCRIPTOR, PTO-TILE-MODEL-LEGALITY-MATRIX-POSTPROCESS, PTO-TILE-MODEL-LEGALITY-PE-MASK, PTO-TILE-MODEL-MEMORY-LOAD-STORE, PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT, PTO-TILE-MODEL-NUMERIC-FORMATS, PTO-TILE-MODEL-ORDERING-SORTING, PTO-TILE-MODEL-SHAPE-VALID-REGION, PTO-TILE-MODEL-STATE-ALLOCATION, PTO-TILE-MODEL-STATE-DESCRIPTORS, PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS, PTO-TILE-MODEL-STATE-SHARED-REGISTERS, PTO-TILE-MODEL-STATE-TYPES, PTO-TILE-TLOAD
    Affected NDF
    PTO-ARCH-GM-ACCESS-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-IOT-STREAM-001, PTO-CUBE-ACCUMULATOR-OUTPUT-001, PTO-TLOAD-CUBE-001, PTO-TLOAD-MEMORY-001
    SHA-256
    c4b4fb7bc17878f710015207dc19ddaf22a0cf6989d185b16844714c71e23f62
    Open exact decision source ↗ for ADR-0096

Unit metadata

Open 4 generated metadata fields
id
PTO-TILE-MODEL-MEMORY-LOAD-STORE
surface
tile
classification
[
  "model",
  "memory",
  "load-store"
]
depends_on
[
  "PTO-TILE-MODEL-MEMORY-STRIDE",
  "PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION"
]
Open generated traceability record
{
  "classification": [
    "model",
    "memory",
    "load-store"
  ],
  "documentation": "docs/tile/model/memory/load-store.md",
  "id": "PTO-TILE-MODEL-MEMORY-LOAD-STORE",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0096"
  ],
  "semantic_tests": [
    "PTO-AVS-TILE-MEM-SNAPSHOT-001",
    "PTO-AVS-TILE-TLOAD-CUBE-001",
    "PTO-AVS-TILE-TLOAD-CUBE-M16-B4-005",
    "PTO-AVS-TILE-TLOAD-CUBE-PAD-004",
    "PTO-AVS-TILE-TLOAD-CUBE-WIDTHS-003",
    "PTO-AVS-TILE-TLSU-BYTE-ROW-STRIDE-EXECUTION-005",
    "PTO-AVS-TILE-TLSU-DECODE-BOUND-004",
    "PTO-AVS-TILE-TLSU-DIRECT-BOUND-001",
    "PTO-AVS-TILE-TLSU-FAULTS-BOUND-003",
    "PTO-AVS-TILE-TLSU-INDEXED-BOUND-002",
    "PTO-AVS-TILE-TSTORE-CUBE-002"
  ],
  "source": "asl/tile/model/memory/load-store.asl",
  "surface": "tile",
  "tests": [
    "PTO-AVS-TILE-MEM-SNAPSHOT-001",
    "PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001",
    "PTO-AVS-TILE-TLOAD-CUBE-001",
    "PTO-AVS-TILE-TLOAD-CUBE-M16-B4-005",
    "PTO-AVS-TILE-TLOAD-CUBE-PAD-004",
    "PTO-AVS-TILE-TLOAD-CUBE-WIDTHS-003",
    "PTO-AVS-TILE-TLSU-BYTE-ROW-STRIDE-EXECUTION-005",
    "PTO-AVS-TILE-TLSU-DECODE-BOUND-004",
    "PTO-AVS-TILE-TLSU-DIRECT-BOUND-001",
    "PTO-AVS-TILE-TLSU-FAULTS-BOUND-003",
    "PTO-AVS-TILE-TLSU-INDEXED-BOUND-002",
    "PTO-AVS-TILE-TSTORE-CUBE-002"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
d876cf142b91256771a275c16c61e4272b222a7a83df01870a96fc60d9bdfc5f
Generated documentation
docs/tile/model/memory/load-store.md · embedded in this page
Documentation SHA-256
9b71cd8cbf4bfeafe49228d33ce7f5817b0512d088ce5efa85cb9cf6bb486739

Exact owners