diff --git a/CHANGELOG.md b/CHANGELOG.md index e3326eaa8..3f7b76146 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -186,6 +186,7 @@ not architecture authority; current meaning remains in the owning ASL/NDF. - [ADR-NUM-0010](docs/status/decisions/ADR-NUM-0010-hardware-subnormal-policy.md): Hardware numeric subnormal policy - [ADR-NUM-0011](docs/status/decisions/ADR-NUM-0011-hardware-special-value-checkpoint.md): Hardware special-value result checkpoint - [ADR-SCALAR-0004](docs/status/decisions/ADR-SCALAR-0004-scalar-fsu-totality-and-profile-boundary.md): Scalar FSU totality and numeric-profile boundary +- [ADR-SCALAR-0007](docs/status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md): SYNC.CORE collective architectural phase barrier - [ADR-STATE-0001](docs/status/decisions/ADR-STATE-0001-pto-owned-system-register-names.md): Use PTO-owned system-register names - [ADR-STATE-0002](docs/status/decisions/ADR-STATE-0002-architectural-state-contract.md): Define the PTO architectural state contract - [ADR-STATE-0003](docs/status/decisions/ADR-STATE-0003-scalar-tpc-and-execution-status.md): scalar TPC and execution status diff --git a/README.md b/README.md index a08fe9219..6009ae09e 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ it does not establish publication or release readiness. | Surface | Current executable inventory | | --- | ---: | -| Scalar instruction forms | 466 | +| Scalar instruction forms | 467 | | Active bundle and command forms | 96 | | Direct Tile operations | 119 | -| Architecture and instruction ASL units | 911 | +| Architecture and instruction ASL units | 919 | diff --git a/asl/arch/data-types/memory-model.asl b/asl/arch/data-types/memory-model.asl index 3151e541a..5acc6f3a7 100644 --- a/asl/arch/data-types/memory-model.asl +++ b/asl/arch/data-types/memory-model.asl @@ -30,6 +30,11 @@ type MemoryFenceStrength of enumeration { }; type MemoryAgentId of integer {0..PTO_MODEL_MEMORY_AGENTS-1}; +type MemoryEventOrigin of enumeration { + MemoryEventOrigin_NonKernel, + MemoryEventOrigin_Kernel, + MemoryEventOrigin_Handler +}; type MemoryEventIndex of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; type MemoryCoherenceRank of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; @@ -42,8 +47,17 @@ type MemoryEventKind of enumeration { }; type MemoryEvent of record { + active: boolean, + committed: boolean, + replay_epoch: integer, kind: MemoryEventKind, + core_identity: PTOModelCoreIdentity, agent: MemoryAgentId, + origin: MemoryEventOrigin, + invocation: integer, + program_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, address: Word, size_bytes: integer {1,2,4,8}, read_value: Word, @@ -63,5 +77,10 @@ type MemoryReplayState of record { active: boolean, request: Word, committed_event_count: integer {0..PTO_MODEL_MEMORY_EVENTS}, - epoch: integer + epoch: integer, + owner_core: PTOModelCoreIdentity, + owner_agent: MemoryAgentId, + owner_origin: MemoryEventOrigin, + owner_invocation: integer, + owner_program_order: integer }; diff --git a/asl/arch/data-types/trap-context.asl b/asl/arch/data-types/trap-context.asl index c3367a985..7e5ad9a6b 100644 --- a/asl/arch/data-types/trap-context.asl +++ b/asl/arch/data-types/trap-context.asl @@ -4,6 +4,7 @@ type TrapContext of record { source_acr: AccessControlRing, tpc: Word, bpc: Word, + bundle_start_encoded_instruction: bits(64), core_state: Word, bundle_argument: Word, commit_argument: Word, @@ -30,12 +31,11 @@ type TrapContext of record { bundle_data_attributes_present: boolean, bundle_hint: BundleHintAttributes, bundle_fixed_point_attributes: BundleFixedPointAttributes, - local_generations: LocalGenerationSnapshot, - shared_generations: SharedGenerationSnapshot, bundle_execution_domain_token: integer, memory_copy_template: MemoryCopyTemplateState, frame_template: FrameTemplateState, memory_replay_state: MemoryReplayState, + memory_origin: MemoryEventOrigin, t_queue: TemporaryQueueSnapshot, t_queue_valid: TemporaryQueueValiditySnapshot, u_queue: TemporaryQueueSnapshot, diff --git a/asl/arch/dispatch/top-level.asl b/asl/arch/dispatch/top-level.asl index 3c6ec9d38..5bc1cdd04 100644 --- a/asl/arch/dispatch/top-level.asl +++ b/asl/arch/dispatch/top-level.asl @@ -12,13 +12,15 @@ type PTOInstructionExecutionStatus of enumeration { PTOInstruction_Executed, - PTOInstruction_Rejected + PTOInstruction_Rejected, + PTOInstruction_Blocked }; func ExecutePTOInstruction(instruction: bits(64), length_bits: integer {16,32,48,64}) => PTOInstructionExecutionStatus begin + _CurrentEncodedInstruction = instruction; if DecodeCommandForm(instruction, length_bits) != PTO_COMMAND_FORM_COUNT then let command_status = ExecuteCommandInstruction(instruction, length_bits); if command_status == CommandExecution_Executed then @@ -31,6 +33,8 @@ begin instruction[47:0], length_bits as integer {16,32,48}); if scalar_status == ScalarExecution_Executed then return PTOInstruction_Executed; + elsif scalar_status == ScalarExecution_Blocked then + return PTOInstruction_Blocked; else return PTOInstruction_Rejected; end; diff --git a/asl/arch/memory-model/fault-precision.asl b/asl/arch/memory-model/fault-precision.asl index 3fe3f8f27..5638ef3f1 100644 --- a/asl/arch/memory-model/fault-precision.asl +++ b/asl/arch/memory-model/fault-precision.asl @@ -15,6 +15,14 @@ // elements, or a memory event already admitted before the fault. Recovery // retries from the saved instruction/request template. // NDF-END: PTO-ARCH-MEMORY-MODEL-FLUSH-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// Trap return restores only the interrupted PE's precise instruction and +// Block restart carriers. It MUST NOT rewind shared GM/event history, Core +// synchronization, shared Tile generations, or another PE's cooperative local +// generation progress. An instruction owner performs any required scoped +// abort or squash before saving its restart point. +// NDF-END: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 func BeginMemoryReplay(request: Word) begin @@ -22,11 +30,34 @@ begin _MemoryReplayState.request = request; _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.epoch = _MemoryReplayState.epoch + 1; + _MemoryReplayState.owner_core = _CurrentModelCore; + _MemoryReplayState.owner_agent = _CurrentMemoryAgent; + _MemoryReplayState.owner_origin = _CurrentMemoryOrigin; + _MemoryReplayState.owner_invocation = _CurrentKernelInvocation; + _MemoryReplayState.owner_program_order = _CurrentProgramOrder; end; func CommitMemoryReplayEffect() begin if _MemoryReplayState.active then + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].committed = TRUE; + end; + end; _MemoryReplayState.committed_event_count = _MemoryEventCount; end; end; @@ -34,9 +65,29 @@ end; func FlushMemoryReplay() begin if _MemoryReplayState.active then - // Event records after the last committed effect are speculative and - // are removed. Architectural memory and Tile state are not undone. - _MemoryEventCount = _MemoryReplayState.committed_event_count; + // Event slots are stable because surviving events and saved contexts + // can refer to them through read_from. Deactivate only this owner's + // uncommitted records from this replay epoch; never rewind the shared + // event log or disturb another PE/Core's event references. + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + !_MemoryEvents[[event_index]].committed && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].active = FALSE; + end; + end; _MemoryReplayState.active = FALSE; end; end; @@ -44,6 +95,7 @@ end; func CompleteMemoryReplay() begin if _MemoryReplayState.active then + CommitMemoryReplayEffect(); _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.active = FALSE; end; @@ -62,6 +114,9 @@ begin else TrapTargetForFault(source_ring); if code != Fault_None then SaveTrapContext(ring, source_ring); + // Subsequent event capture belongs to the handler until recovery + // restores the interrupted PE's saved provenance. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; end; _LastFault = code; _FaultAddress = address; @@ -125,6 +180,10 @@ begin _ACRTrapCause[[target_ring]] = ZeroExtend{24}(request_type); _ACRTrapNumber[[target_ring]] = Zeros{6} + 6; _ACRTrapArgument0[[target_ring]] = source_tpc; + // SaveTrapContext records the origin to restore. Once entry succeeds, + // subsequent memory events are handler work and cannot participate in a + // kernel collective. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(target_ring); WriteTPC(TrapVectorEntry(target_ring, source_tpc)); return TRUE; @@ -157,6 +216,9 @@ begin _ACRTrapNumber[[ring]] = Zeros{6} + 44; _ACRTrapArgument0[[ring]] = NaturalToWord(interrupt_id as integer {0..262144}); + // SaveTrapContext preserves the interrupted origin. Establish handler + // provenance only after the enabled interrupt has actually entered. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(ring); WriteTPC(TrapVectorEntry(ring, ReadTPC())); end; diff --git a/asl/arch/memory-model/gm-obligations.asl b/asl/arch/memory-model/gm-obligations.asl new file mode 100644 index 000000000..71a2b097f --- /dev/null +++ b/asl/arch/memory-model/gm-obligations.asl @@ -0,0 +1,394 @@ +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","surface":"arch","classification":["memory-model","gm-obligations"],"depends_on":["PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-STATE-TYPES"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-OBLIGATIONS","classification":["architecture","memory","gm-obligations"],"scope":"pe","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_GMObligations","_NextGMObligationIdentity"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-PROGRESS-SCHEDULER","classification":["architecture","memory","gm-progress-scheduler"],"scope":"system","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_VerificationGMProgressDeferred","_VerificationGMProgressBeatBudget"],"depends_on":[]} +// NDF-BEGIN: PTO-ARCH-GM-OBLIGATIONS-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A kernel participant's irrevocable collective arrival MUST be withheld while +// an earlier request can still fault or require recovery. Validated but +// incomplete work may remain outstanding after arrival, but it MUST prevent +// collective completion until its actual producer, issue, and completion path +// resolves it. Obligation identity includes Core, PE, invocation, dynamic +// instruction occurrence, and program-order provenance. Wrapper/producer +// registration and retry of one occurrence retain its identity, while a new +// occurrence at the same PC receives a distinct identity. The first +// executable capture binds the ACR and operands of its successful admission +// and remains immutable. +// NDF-END: PTO-ARCH-GM-OBLIGATIONS-001 + +type GMRequestClass of enumeration { + GMRequest_Scalar, + GMRequest_Tile, + GMRequest_TLSU, + GMRequest_Atomic, + GMRequest_Prefetch +}; + +type GMObligationState of enumeration { + GMObligation_Empty, + GMObligation_Submitted, + GMObligation_Validated, + GMObligation_Issued, + GMObligation_Completed, + GMObligation_Faulted, + GMObligation_Cancelled +}; + +type GMObligationIndex of integer {0..PTO_MODEL_GM_OBLIGATIONS-1}; +type GMObligationSlot of record { + active: boolean, + identity: integer, + core_identity: PTOModelCoreIdentity, + agent: MemoryAgentId, + invocation: integer, + instruction_pc: Word, + execution_domain_token: integer, + submission_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, + request_class: GMRequestClass, + encoded_request: bits(64), + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + // Only a validated Local TSTORE snapshot may use the captured progress + // executor. Other fault-capable GM requests remain with their instruction + // owner until the real producer/retry path resolves them. + captured_tstore_progress: boolean, + executable_capture_valid: boolean, + submission_acr: AccessControlRing, + progress_element: integer {0..32768}, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + state: GMObligationState, + irrevocable: boolean, + reversible: boolean +}; +type GMObligationSlots of array [[PTO_MODEL_GM_OBLIGATIONS]] + of GMObligationSlot; +type GMObligationCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of GMObligationSlots; +type GMObligationIdentityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _GMObligations : GMObligationCoreBank; +var _NextGMObligationIdentity : GMObligationIdentityBank; +// Verification scheduling controls only when the ordinary producer/issue +// path runs. Its reset value is immediate progress and it is not an ISA gate. +var _VerificationGMProgressDeferred : boolean; +// Zero means that one progress call may run the complete captured request. +// Positive values bound the number of real tile-memory beats per call. +var _VerificationGMProgressBeatBudget : integer {0..32768}; + +func ResetKernelGMObligations() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _NextGMObligationIdentity[[core]][[pe]] = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + _GMObligations[[core]][[pe]][[slot]].active = FALSE; + _GMObligations[[core]][[pe]][[slot]].identity = 0; + _GMObligations[[core]][[pe]][[slot]].execution_domain_token = 0; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Empty; + end; + end; + end; + _VerificationGMProgressDeferred = FALSE; + _VerificationGMProgressBeatBudget = 0; +end; + +func SetVerificationGMProgressDeferred(deferred: boolean) +begin + _VerificationGMProgressDeferred = deferred; +end; + +func SetVerificationGMProgressBeatBudget(budget: + integer {0..32768}) +begin + _VerificationGMProgressBeatBudget = budget; +end; + +readonly func VerificationGMProgressIsDeferred() => boolean +begin + return _VerificationGMProgressDeferred; +end; + +func RegisterKernelGMObligation( + request_class: GMRequestClass, + encoded_request: bits(64), + instruction_pc: Word, + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + validated: boolean, + issued: boolean, + irrevocable: boolean, + reversible: boolean) => GMObligationIndex +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + var found = FALSE; + var reuse_incomplete = FALSE; + var selected: GMObligationIndex = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let previous = _GMObligations[[core]][[pe]][[slot]]; + if previous.active && previous.invocation == _CurrentKernelInvocation && + previous.instruction_pc == instruction_pc && + previous.execution_domain_token == _BundleExecutionDomainToken && + previous.request_class == request_class && + previous.encoded_request == encoded_request && + previous.state != GMObligation_Completed && + previous.state != GMObligation_Cancelled then + selected = slot as GMObligationIndex; + reuse_incomplete = TRUE; + found = TRUE; + elsif !found && (!previous.active || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Completed || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Cancelled) then + selected = slot as GMObligationIndex; + found = TRUE; + end; + end; + assert found; + let old = _GMObligations[[core]][[pe]][[selected]]; + let identity = if reuse_incomplete then old.identity + else _NextGMObligationIdentity[[core]][[pe]]; + let preserve_capture = reuse_incomplete && + old.executable_capture_valid; + if !reuse_incomplete then + _NextGMObligationIdentity[[core]][[pe]] = identity + 1; + end; + _GMObligations[[core]][[pe]][[selected]] = GMObligationSlot { + active = TRUE, + identity = identity, + core_identity = core, + agent = pe, + invocation = _CurrentKernelInvocation, + instruction_pc = instruction_pc, + execution_domain_token = _BundleExecutionDomainToken, + submission_order = if reuse_incomplete then old.submission_order + else _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = if reuse_incomplete then + old.collective_history_sequence + else _CoreCollectiveHistorySequence[[core]], + request_class = if preserve_capture then old.request_class + else request_class, + encoded_request = if preserve_capture then old.encoded_request + else encoded_request, + descriptor = if preserve_capture then old.descriptor else descriptor, + bundle_argument = if preserve_capture then old.bundle_argument + else bundle_argument, + bundle_tile_bindings = if preserve_capture then old.bundle_tile_bindings + else bundle_tile_bindings, + bundle_scalar_bindings = if preserve_capture then old.bundle_scalar_bindings + else bundle_scalar_bindings, + bundle_shared_bindings = if preserve_capture then old.bundle_shared_bindings + else bundle_shared_bindings, + bundle_dimensions = if preserve_capture then old.bundle_dimensions + else bundle_dimensions, + source_tile = if preserve_capture then old.source_tile else source_tile, + source_generation = if preserve_capture then old.source_generation + else source_generation, + source_snapshot = if preserve_capture then old.source_snapshot + else source_snapshot, + captured_tstore_progress = if reuse_incomplete then + old.captured_tstore_progress else FALSE, + executable_capture_valid = if reuse_incomplete then + old.executable_capture_valid else FALSE, + submission_acr = if preserve_capture then old.submission_acr + else CurrentACR(), + progress_element = if reuse_incomplete then old.progress_element else 0, + execution_mask = if preserve_capture then old.execution_mask + else execution_mask, + base_address = if preserve_capture then old.base_address + else base_address, + row_stride_bytes = if preserve_capture then old.row_stride_bytes + else row_stride_bytes, + memory_order = if preserve_capture then old.memory_order + else memory_order, + may_fault = may_fault, + state = if issued then GMObligation_Issued + else if validated then GMObligation_Validated + else GMObligation_Submitted, + irrevocable = if reuse_incomplete then old.irrevocable else irrevocable, + reversible = if reuse_incomplete then old.reversible else reversible + }; + return selected; +end; + +func MarkGMObligationCapturedTStoreProgress(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].captured_tstore_progress = TRUE; + end; +end; + +func UpdateGMObligationState(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + state: GMObligationState) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].state = state; + end; +end; + +func ValidateGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Validated); +end; + +func IssueGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Issued); +end; + +func MarkGMObligationIrrevocable(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].irrevocable = TRUE; + _GMObligations[[core]][[pe]][[slot]].reversible = FALSE; + end; +end; + +func CompleteGMObligationForIdentity(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + invocation: integer, + identity: integer) +begin + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.identity == identity then + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + UpdateGMObligationState(core, pe, slot, GMObligation_Completed); + end; +end; + +func FaultGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Faulted); +end; + +func RetryGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Submitted); +end; + +func ResolveGMObligationFaultRisk(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + if !_GMObligations[[core]][[pe]][[slot]].executable_capture_valid then + // This real producer check follows complete request-footprint + // validation. Failed attempts keep their occurrence identity but + // may retry under a recovered CurrentACR. + _GMObligations[[core]][[pe]][[slot]].submission_acr = _CurrentACR; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = TRUE; + end; + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = GMObligation_Validated; + end; +end; + +readonly func CoreGMObligationsPermitArrival(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut then + if obligation.state == GMObligation_Faulted || + (obligation.may_fault && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled) then + return FALSE; + end; + end; + end; + return TRUE; +end; + +readonly func CoreGMObligationsComplete(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) + => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut && + obligation.state != GMObligation_Completed then + return FALSE; + end; + end; + return TRUE; +end; + +readonly func KernelGMObligationsQuiescent(core: PTOModelCoreIdentity, + invocation: integer) => boolean +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled then + return FALSE; + end; + end; + end; + return TRUE; +end; + +func AbortKernelGMObligations(core: PTOModelCoreIdentity, + invocation: integer) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.reversible && !obligation.irrevocable && + obligation.state != GMObligation_Completed then + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Cancelled; + end; + end; + end; +end; diff --git a/asl/arch/memory-model/memory-events.asl b/asl/arch/memory-model/memory-events.asl index 2715aeb88..1a0382bc7 100644 --- a/asl/arch/memory-model/memory-events.asl +++ b/asl/arch/memory-model/memory-events.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE","PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT"]} // PTO-REQ-MEMORY-RC-001: bounded executable candidate-execution checker for // PTO relaxed consistency with preserved Store->Store order. The event bound // is verification infrastructure, not an architectural limit on agents or @@ -35,14 +35,15 @@ pure func MemoryEventIsRead(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic; + return event.active && + (event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic); end; pure func MemoryEventIsWrite(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_InitialWrite || + return event.active && (event.kind == MemoryEvent_InitialWrite || event.kind == MemoryEvent_Store || - (event.kind == MemoryEvent_Atomic && event.write_performed); + (event.kind == MemoryEvent_Atomic && event.write_performed)); end; pure func MemoryEventIsAccess(event: MemoryEvent) => boolean @@ -50,6 +51,13 @@ begin return MemoryEventIsRead(event) || MemoryEventIsWrite(event); end; +pure func MemoryEventsSameAgent(left: MemoryEvent, + right: MemoryEvent) => boolean +begin + return left.core_identity == right.core_identity && + left.agent == right.agent; +end; + pure func MemoryEventRangesOverlap(left: MemoryEvent, right: MemoryEvent) => boolean begin @@ -107,7 +115,9 @@ end; // Production event extraction is an explicit verification mode because the // bounded event array is model-checking infrastructure, not an architectural // execution limit. Manual candidate construction remains available while -// capture is disabled. +// capture is disabled. Captured events retain the Core's completed collective +// sequence at request submission; this immutable stamp carries established +// relation history beyond reusable active generation records. func StartMemoryEventCapture(agent: MemoryAgentId) begin ResetMemoryExecution(); @@ -129,7 +139,32 @@ func AddMemoryEvent(event: MemoryEvent) => MemoryEventIndex begin assert _MemoryEventCount < PTO_MODEL_MEMORY_EVENTS; let index = _MemoryEventCount as MemoryEventIndex; - _MemoryEvents[[index]] = event; + var captured = event; + if event.kind != MemoryEvent_InitialWrite then + captured.core_identity = _CurrentModelCore; + captured.origin = _CurrentMemoryOrigin; + captured.invocation = _CurrentKernelInvocation; + captured.program_order = _CurrentProgramOrder; + captured.collective_epoch = _CurrentCollectiveEpoch; + captured.collective_history_sequence = + if _MemoryEventCollectiveHistoryOverrideValid then + _MemoryEventCollectiveHistoryOverride + else _CoreCollectiveHistorySequence[[captured.core_identity]]; + end; + captured.active = TRUE; + captured.committed = TRUE; + captured.replay_epoch = 0; + if event.kind != MemoryEvent_InitialWrite && + _MemoryReplayState.active && + _MemoryReplayState.owner_core == captured.core_identity && + _MemoryReplayState.owner_agent == captured.agent && + _MemoryReplayState.owner_origin == captured.origin && + _MemoryReplayState.owner_invocation == captured.invocation && + _MemoryReplayState.owner_program_order == captured.program_order then + captured.committed = FALSE; + captured.replay_epoch = _MemoryReplayState.epoch; + end; + _MemoryEvents[[index]] = captured; _MemoryEventCount = (_MemoryEventCount + 1) as integer {0..PTO_MODEL_MEMORY_EVENTS}; return index; @@ -139,8 +174,17 @@ func AddInitialWriteEvent(address: Word, size_bytes: integer {1,2,4,8}, value: Word) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_InitialWrite, + core_identity = 0, agent = 0, + origin = MemoryEventOrigin_NonKernel, + invocation = 0, + program_order = 0, + collective_epoch = 0, + collective_history_sequence = 0, address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -159,8 +203,18 @@ func AddLoadEvent(agent: MemoryAgentId, address: Word, order: MemoryOrder) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Load, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(value, size_bytes), @@ -180,8 +234,18 @@ func AddStoreEvent(agent: MemoryAgentId, address: Word, => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Store, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -211,8 +275,18 @@ func AddAtomicOutcomeEvent(agent: MemoryAgentId, address: Word, write_performed: boolean) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Atomic, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(read_value, size_bytes), @@ -230,8 +304,18 @@ func AddDataFenceEvent(agent: MemoryAgentId, predecessor: bits(4), successor: bits(4)) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Fence, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = Zeros{PTO_XLEN}, size_bytes = 1, read_value = Zeros{PTO_XLEN}, diff --git a/asl/arch/memory-model/ordering.asl b/asl/arch/memory-model/ordering.asl index 512a4e087..d508f16b8 100644 --- a/asl/arch/memory-model/ordering.asl +++ b/asl/arch/memory-model/ordering.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY","PTO-ARCH-STATE-CORE-SYNCHRONIZATION"]} // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-SCOPE-001 // ndf: kind=contract level=L1 layer=memory status=accepted // PTO defines one architecture-visible GM domain for scalar, Tile, @@ -6,6 +6,15 @@ // caches, coalescers, replay buffers, splitting, and merging are not // architectural state and MUST preserve the result required by PTO-RC. // NDF-END: PTO-ARCH-MEMORY-MODEL-SCOPE-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A completed Core collective orders each participating kernel PE's earlier +// GM events before participating kernel PE events recorded after that +// collective in the same invocation. Handler events, events from another Core, +// and events from another invocation do not acquire this relation. A retained +// event's established collective relation MUST survive active generation +// record reuse and later context or invocation selection. +// NDF-END: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001 // ndf: kind=contract level=L1 layer=memory status=accepted // Every request belongs to Scalar, Tile, IndexedGenerated, or Prefetch. @@ -78,7 +87,8 @@ readonly func MemoryCoherenceBefore(left_index: MemoryEventIndex, begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && + return left.active && right.active && + MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && MemoryEventsShareLocation(left, right) && left.coherence_rank < right.coherence_rank; end; @@ -88,7 +98,8 @@ readonly func MemoryReadsFromBefore(write_index: MemoryEventIndex, begin let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return MemoryEventIsWrite(write) && MemoryEventIsRead(read) && + return write.active && read.active && + MemoryEventIsWrite(write) && MemoryEventIsRead(read) && read.read_from == write_index; end; @@ -99,7 +110,9 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return write.kind == MemoryEvent_InitialWrite || write.agent != read.agent; + return write.active && read.active && + (write.kind == MemoryEvent_InitialWrite || + !MemoryEventsSameAgent(write, read)); end; readonly func MemorySynchronizesWith(write_index: MemoryEventIndex, @@ -108,7 +121,8 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - if write.agent == read.agent then return FALSE; end; + if !write.active || !read.active || + MemoryEventsSameAgent(write, read) then return FALSE; end; let write_release = write.order == MemoryOrder_Release || write.order == MemoryOrder_AcquireRelease; let read_acquire = read.order == MemoryOrder_Acquire || @@ -122,7 +136,8 @@ begin let read = _MemoryEvents[[read_index]]; // An atomic event contains its read and write sides. Its own write is not a // later event in from-read; only a distinct coherence successor is. - if read_index == write_index || !MemoryEventIsRead(read) then return FALSE; end; + if !read.active || read_index == write_index || + !MemoryEventIsRead(read) then return FALSE; end; return MemoryCoherenceBefore(read.read_from, write_index); end; @@ -131,7 +146,8 @@ readonly func MemoryProgramOrderLocationBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return left_index < right_index && left.agent == right.agent && + return left.active && right.active && left_index < right_index && + MemoryEventsSameAgent(left, right) && left.kind != MemoryEvent_InitialWrite && right.kind != MemoryEvent_InitialWrite && MemoryEventIsAccess(left) && MemoryEventIsAccess(right) && @@ -144,11 +160,13 @@ begin if left_index + 1 >= right_index then return FALSE; end; let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active then return FALSE; end; for fence_number = left_index + 1 to right_index - 1 do let fence_index = fence_number as MemoryEventIndex; let fence = _MemoryEvents[[fence_index]]; - if fence.kind == MemoryEvent_Fence && fence.agent == left.agent && - fence.agent == right.agent && + if fence.active && fence.kind == MemoryEvent_Fence && + MemoryEventsSameAgent(fence, left) && + MemoryEventsSameAgent(fence, right) && (MemoryEventClass(left) AND fence.fence_predecessor) != Zeros{4} && (MemoryEventClass(right) AND fence.fence_successor) != Zeros{4} then return TRUE; @@ -162,7 +180,8 @@ readonly func MemoryPreservedProgramOrderBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - if left_index >= right_index || left.agent != right.agent || + if !left.active || !right.active || left_index >= right_index || + !MemoryEventsSameAgent(left, right) || left.kind == MemoryEvent_InitialWrite || right.kind == MemoryEvent_InitialWrite || !MemoryEventIsAccess(left) || !MemoryEventIsAccess(right) then @@ -190,17 +209,18 @@ begin for event_number = 0 to _MemoryEventCount - 1 do let event_index = event_number as MemoryEventIndex; let event = _MemoryEvents[[event_index]]; - if MemoryEventIsAccess(event) then + if event.active && MemoryEventIsAccess(event) then var initial_count: integer = 0; for candidate_number = 0 to _MemoryEventCount - 1 do let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; - if candidate.kind == MemoryEvent_InitialWrite && + if candidate.active && + candidate.kind == MemoryEvent_InitialWrite && MemoryEventsShareLocation(event, candidate) then initial_count = initial_count + 1; end; if candidate_index != event_index && - MemoryEventIsAccess(candidate) && + candidate.active && MemoryEventIsAccess(candidate) && MemoryEventPartialOverlap(event, candidate) then // Mixed-size or partially overlapping candidates require // a byte-level coherence extension and fail closed here. @@ -209,10 +229,11 @@ begin end; if initial_count != 1 then return FALSE; end; end; - if event.kind == MemoryEvent_InitialWrite && event.coherence_rank != 0 then + if event.active && event.kind == MemoryEvent_InitialWrite && + event.coherence_rank != 0 then return FALSE; end; - if MemoryEventIsWrite(event) && + if event.active && MemoryEventIsWrite(event) && event.kind != MemoryEvent_InitialWrite then if event.coherence_rank == 0 then return FALSE; end; var predecessor_found = FALSE; @@ -220,7 +241,7 @@ begin let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; if candidate_index != event_index && - MemoryEventIsWrite(candidate) && + candidate.active && MemoryEventIsWrite(candidate) && MemoryEventsShareLocation(event, candidate) then if candidate.coherence_rank == event.coherence_rank then return FALSE; @@ -232,10 +253,10 @@ begin end; if !predecessor_found then return FALSE; end; end; - if MemoryEventIsRead(event) then + if event.active && MemoryEventIsRead(event) then if event.read_from >= _MemoryEventCount then return FALSE; end; let source = _MemoryEvents[[event.read_from]]; - if !MemoryEventIsWrite(source) || + if !source.active || !MemoryEventIsWrite(source) || !MemoryEventsShareLocation(event, source) || event.read_value != source.write_value then return FALSE; @@ -263,7 +284,8 @@ begin let right = right_number as MemoryEventIndex; var edge = MemoryCoherenceBefore(left, right) || MemoryFromReadBefore(left, right) || - MemorySynchronizesWith(left, right); + MemorySynchronizesWith(left, right) || + MemoryCollectiveSyncBefore(left, right); if uniproc then edge = edge || MemoryProgramOrderLocationBefore(left, right) || MemoryReadsFromBefore(left, right); diff --git a/asl/arch/programming-model/core-pe-topology.asl b/asl/arch/programming-model/core-pe-topology.asl index 1f318945c..3e0ac210e 100644 --- a/asl/arch/programming-model/core-pe-topology.asl +++ b/asl/arch/programming-model/core-pe-topology.asl @@ -11,6 +11,12 @@ constant PTO_TILE_REGISTER_COUNT = 64; constant PTO_SHARED_TILE_COUNT = 64; constant PTO_MODEL_MEMORY_AGENTS = 4; constant PTO_MODEL_MEMORY_EVENTS = 16; +// Finite model inventory for isolation witnesses only. It does not describe +// implementation capacity and does not change the four PE identities. +constant PTO_MODEL_CORE_INSTANCES = 2; +constant PTO_MODEL_SYNC_GENERATIONS = 8; +constant PTO_MODEL_GM_OBLIGATIONS = 16; +type PTOModelCoreIdentity of integer {0..PTO_MODEL_CORE_INSTANCES-1}; // Fixed semantic PE identities are numbered PE0..PE3. The architectural // four-bit mask keeps PE0 in its high bit, so consumers that index a mask by diff --git a/asl/arch/programming-model/execution-context.asl b/asl/arch/programming-model/execution-context.asl index d8d7e226f..3794a437f 100644 --- a/asl/arch/programming-model/execution-context.asl +++ b/asl/arch/programming-model/execution-context.asl @@ -1,12 +1,16 @@ // PTO-UNIT: {"id":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","surface":"arch","classification":["programming-model","execution-context"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-KERNEL-LIFECYCLE","classification":["architecture","kernel-lifecycle"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_KernelInvocationByCore","_NextKernelInvocationIdByCore","_RetiredKernelInvocationByCore","_KernelInvocationActiveByCore","_CurrentKernelInvocation"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-GPR","classification":["architecture","scalar","gpr"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PEGPRs"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"bundle","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_ReservationValid","_ReservationAddress","_ReservationSize","_LastFencePredecessor","_LastFenceSuccessor","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent","_MemoryReplayState"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-MAINTENANCE","classification":["architecture","maintenance"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_DataCacheEpoch","_InstructionCacheEpoch","_BundleCacheEpoch","_TLBEpoch","_LastMaintenanceOperation","_LastMaintenanceOperand","_BundleHintEpoch","_ArchitectureRequestEpoch","_LastControlRequest","_ControlRequestOperand"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-CONTEXT-SELECTION","classification":["architecture","core-context-selection"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentModelCore"],"depends_on":["PTO-STATE-ARCH-CORE-LOCAL-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-PROGRESS","classification":["architecture","pe-execution-progress"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentCollectiveEpoch","_CurrentEncodedInstruction","_CurrentMemoryOrigin","_CurrentProgramOrder","_LastFencePredecessor","_LastFenceSuccessor","_MemoryReplayState","_ReservationAddress","_ReservationSize","_ReservationValid","_ScalarExecutionBlocked"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY-EVENT-OVERRIDE","classification":["architecture","memory-event-override"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_MemoryEventCollectiveHistoryOverrideValid","_MemoryEventCollectiveHistoryOverride"],"depends_on":["PTO-STATE-ARCH-MEMORY"]} // NDF-BEGIN: PTO-REQ-STATE-001 // ndf: kind=contract level=L1 layer=state status=accepted @@ -16,7 +20,8 @@ // [[PTO-STATE-ARCH-MEMORY]], [[PTO-STATE-ARCH-MAINTENANCE]], // [[PTO-STATE-ARCH-SYSTEM-REGISTERS]], // [[PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS]], and -// [[PTO-STATE-ARCH-TRAP-CONTEXT]]. +// [[PTO-STATE-ARCH-TRAP-CONTEXT]], and +// [[PTO-STATE-ARCH-PE-EXECUTION-CONTEXT]]. // NDF-END: PTO-REQ-STATE-001 // Requirement references: PTO-REQ-RESET-001, PTO-REQ-MEMORY-RC-001. @@ -24,7 +29,8 @@ // A core owns four private scalar register files. An encoded absolute GPR // selector is shared by the instruction, but each PE resolves that selector // in its own file. -var _PEGPRs : array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; +var _PEGPRs : array [[PTO_MODEL_CORE_INSTANCES]] of + array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; var _TQueue : TemporaryQueueSnapshot; var _TQueueValid : TemporaryQueueValiditySnapshot; var _UQueue : TemporaryQueueSnapshot; @@ -49,6 +55,21 @@ var _MemoryEventCount : integer {0..PTO_MODEL_MEMORY_EVENTS}; var _MemoryEventCaptureEnabled : boolean; var _CurrentMemoryAgent : MemoryAgentId; var _MemoryReplayState : MemoryReplayState; +var _CurrentModelCore : PTOModelCoreIdentity; +var _CurrentMemoryOrigin : MemoryEventOrigin; +var _CurrentKernelInvocation : integer; +var _CurrentProgramOrder : integer; +var _CurrentCollectiveEpoch : integer; +var _MemoryEventCollectiveHistoryOverrideValid : boolean; +var _MemoryEventCollectiveHistoryOverride : integer; +var _ScalarExecutionBlocked : boolean; +var _CurrentEncodedInstruction : bits(64); +var _KernelInvocationByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _NextKernelInvocationIdByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _RetiredKernelInvocationByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _KernelInvocationActiveByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of boolean; var _DataCacheEpoch : integer; var _InstructionCacheEpoch : integer; var _BundleCacheEpoch : integer; diff --git a/asl/arch/programming-model/scalar-registers.asl b/asl/arch/programming-model/scalar-registers.asl index c19d1dd86..ab9bb7739 100644 --- a/asl/arch/programming-model/scalar-registers.asl +++ b/asl/arch/programming-model/scalar-registers.asl @@ -9,7 +9,7 @@ begin if index == 0 then return Zeros{PTO_XLEN}; else - return _PEGPRs[[pe]][[index]]; + return _PEGPRs[[_CurrentModelCore]][[pe]][[index]]; end; end; @@ -21,6 +21,6 @@ end; func WritePEGPR(pe: MemoryAgentId, index: GPRIndex, value: Word) begin if index != 0 then - _PEGPRs[[pe]][[index]] = value; + _PEGPRs[[_CurrentModelCore]][[pe]][[index]] = value; end; end; diff --git a/asl/arch/state/core-synchronization.asl b/asl/arch/state/core-synchronization.asl new file mode 100644 index 000000000..0dd83768d --- /dev/null +++ b/asl/arch/state/core-synchronization.asl @@ -0,0 +1,316 @@ +// PTO-UNIT: {"id":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","surface":"arch","classification":["state","core-synchronization"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION","classification":["architecture","core-synchronization"],"scope":"core","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_CoreSyncRecords","_CoreCollectiveHistorySequence"],"depends_on":["PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION-PE","classification":["architecture","core-synchronization","pe-progress"],"scope":"pe","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_PEBarrierNextGeneration","_PEReleaseValid","_PEReleaseGeneration","_PEProgramOrder","_PECollectiveEpoch"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-CORE-SYNCHRONIZATION"]} +// NDF-BEGIN: PTO-ARCH-CORE-SYNCHRONIZATION-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST rendezvous exactly PE0 through PE3 at one static +// SYNC.CORE site and generation in one active invocation. A participant MUST +// remain parked without advancing its PC until all arrivals and earlier GM +// obligations are complete. Completion is irrevocable; each PE retains its +// own release token until consumed once, and a later generation cannot replace +// an unconsumed token. PE_MASK does not change membership. Memory-event +// provenance for a completed collective MUST survive release consumption, +// generation-record reuse, Core selection, and later invocation setup. +// NDF-END: PTO-ARCH-CORE-SYNCHRONIZATION-001 + +type CoreSyncArrivalOrders of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncGenerationRecord of record { + valid: boolean, + core_identity: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word, + arrived: bits(PTO_MODEL_MEMORY_AGENTS), + arrival_orders: CoreSyncArrivalOrders, + released: boolean, + consumed: bits(PTO_MODEL_MEMORY_AGENTS) +}; +type CoreSyncGenerationRing of array [[PTO_MODEL_SYNC_GENERATIONS]] + of CoreSyncGenerationRecord; +type CoreSyncCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreSyncGenerationRing; +type CoreSyncGenerationByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncReleaseMaskByCore of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); +type CoreSyncProgramOrderByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _CoreSyncRecords : CoreSyncCoreBank; +var _PEBarrierNextGeneration : CoreSyncGenerationByPE; +var _PEReleaseGeneration : CoreSyncGenerationByPE; +var _PEReleaseValid : CoreSyncReleaseMaskByCore; +var _PEProgramOrder : CoreSyncProgramOrderByPE; +var _PECollectiveEpoch : CoreSyncProgramOrderByPE; +// Retained collective provenance is Core-scoped architectural model state. +var _CoreCollectiveHistorySequence : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; + +readonly func CoreSyncAllParticipantsMask() => bits(4) +begin + return Ones{4}; +end; + +func ResetCoreSynchronizationState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _CoreCollectiveHistorySequence[[core]] = 0; + _PEReleaseValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + _CoreSyncRecords[[core]][[slot]].core_identity = core; + _CoreSyncRecords[[core]][[slot]].invocation = 0; + _CoreSyncRecords[[core]][[slot]].generation = 0; + _CoreSyncRecords[[core]][[slot]].site = Zeros{PTO_XLEN}; + _CoreSyncRecords[[core]][[slot]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[slot]].released = FALSE; + _CoreSyncRecords[[core]][[slot]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[slot]].arrival_orders[[pe]] = 0; + end; + end; + end; +end; + +readonly func FindCoreSyncGenerationRecord( + core: PTOModelCoreIdentity, + invocation: integer, + generation: integer) => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation && + _CoreSyncRecords[[core]][[slot]].generation == generation then + return slot as integer {0..PTO_MODEL_SYNC_GENERATIONS}; + end; + end; + return PTO_MODEL_SYNC_GENERATIONS; +end; + +func AllocateCoreSyncGenerationRecord(core: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word) + => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + var selected: integer {0..PTO_MODEL_SYNC_GENERATIONS} = + PTO_MODEL_SYNC_GENERATIONS; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let old = _CoreSyncRecords[[core]][[slot]]; + if !old.valid || + (old.released && old.consumed == CoreSyncAllParticipantsMask()) then + if selected == PTO_MODEL_SYNC_GENERATIONS then + selected = slot; + end; + end; + end; + if selected == PTO_MODEL_SYNC_GENERATIONS then return selected; end; + let index = selected as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + _CoreSyncRecords[[core]][[index]].valid = TRUE; + _CoreSyncRecords[[core]][[index]].core_identity = core; + _CoreSyncRecords[[core]][[index]].invocation = invocation; + _CoreSyncRecords[[core]][[index]].generation = generation; + _CoreSyncRecords[[core]][[index]].site = site; + _CoreSyncRecords[[core]][[index]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[index]].released = FALSE; + _CoreSyncRecords[[core]][[index]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = 0; + end; + return selected; +end; + +func InvalidateCorePEReservations(core: PTOModelCoreIdentity) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if core == _CurrentModelCore && + pe == (_CurrentMemoryAgent as integer {0..3}) then + _ReservationValid = FALSE; + end; + if _PEContextBankValid[[core]][pe] == '1' then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + elsif core == _CurrentModelCore && + !_CurrentPEContextValid && pe == 0 then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; + end; +end; + +func ReleaseCoreSyncGeneration(core: PTOModelCoreIdentity, + slot: integer {0..PTO_MODEL_SYNC_GENERATIONS-1}) +begin + _CoreSyncRecords[[core]][[slot]].released = TRUE; + _CoreCollectiveHistorySequence[[core]] = + _CoreCollectiveHistorySequence[[core]] + 1; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '1'; + _PEReleaseGeneration[[core]][[pe]] = + _CoreSyncRecords[[core]][[slot]].generation; + end; + InvalidateCorePEReservations(core); +end; + +func TryCompleteCoreSynchronization(core: PTOModelCoreIdentity) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let generation_record = _CoreSyncRecords[[core]][[slot]]; + if generation_record.valid && !generation_record.released && + generation_record.arrived == CoreSyncAllParticipantsMask() then + var obligations_complete = TRUE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if !CoreGMObligationsComplete(core, + pe as MemoryAgentId, generation_record.invocation, + generation_record.arrival_orders[[pe]]) then + obligations_complete = FALSE; + end; + end; + if obligations_complete then + ReleaseCoreSyncGeneration(core, + slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}); + end; + end; + end; +end; + +func ConsumeCoreSyncRelease(core: PTOModelCoreIdentity, + pe: MemoryAgentId) => boolean +begin + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if _PEReleaseValid[[core]][bit_index] != '1' || + _PEReleaseGeneration[[core]][[pe]] != + _PEBarrierNextGeneration[[core]][[pe]] then + return FALSE; + end; + let invocation = _KernelInvocationByCore[[core]]; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot < PTO_MODEL_SYNC_GENERATIONS then + _CoreSyncRecords[[core]][[slot]].consumed[bit_index] = '1'; + end; + _PEReleaseValid[[core]][bit_index] = '0'; + _PEBarrierNextGeneration[[core]][[pe]] = generation + 1; + _PECollectiveEpoch[[core]][[pe]] = generation + 1; + if core == _CurrentModelCore && pe == _CurrentMemoryAgent then + _CurrentCollectiveEpoch = generation + 1; + end; + return TRUE; +end; + +func SyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + _ScalarExecutionBlocked = TRUE; + return; + end; + if ConsumeCoreSyncRelease(_CurrentModelCore, _CurrentMemoryAgent) then + return; + end; + + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let invocation = _CurrentKernelInvocation; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let site = ReadTPC(); + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if !CoreGMObligationsPermitArrival(core, pe, invocation, + _CurrentProgramOrder) then + _ScalarExecutionBlocked = TRUE; + return; + end; + var slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot == PTO_MODEL_SYNC_GENERATIONS then + slot = AllocateCoreSyncGenerationRecord( + core, invocation, generation, site); + end; + if slot == PTO_MODEL_SYNC_GENERATIONS then + _ScalarExecutionBlocked = TRUE; + return; + end; + let index = slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + if _CoreSyncRecords[[core]][[index]].site != site then + _ScalarExecutionBlocked = TRUE; + return; + end; + if _CoreSyncRecords[[core]][[index]].arrived[bit_index] == '0' then + _CoreSyncRecords[[core]][[index]].arrived[bit_index] = '1'; + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = + _CurrentProgramOrder; + end; + TryCompleteCoreSynchronization(core); + if !ConsumeCoreSyncRelease(core, pe) then + _ScalarExecutionBlocked = TRUE; + end; +end; + +func ProgressCoreSynchronization(core: PTOModelCoreIdentity) +begin + TryCompleteCoreSynchronization(core); +end; + +func RetireCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation then + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + end; + end; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +func AbortCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Active collective records and release tokens belong to the closing + // invocation. Completed memory ordering remains in retained event + // provenance and is deliberately not rewound here. + RetireCoreSynchronizationInvocation(core, invocation); +end; + +func BeginCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Launch is admitted only after the retired invocation is quiescent. + // Retain consumed release records for memory-history checking; the new + // invocation is isolated by its unique invocation identity. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseValid[[core]][PTOPEMaskBitOfPEIdentity( + pe as integer {0..3})] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +readonly func MemoryCollectiveSyncBefore(left_index: MemoryEventIndex, + right_index: MemoryEventIndex) + => boolean +begin + let left = _MemoryEvents[[left_index]]; + let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active || + left.origin != MemoryEventOrigin_Kernel || + right.origin != MemoryEventOrigin_Kernel || + left.core_identity != right.core_identity || + left.invocation != right.invocation || + left_index == right_index then return FALSE; end; + return left.collective_history_sequence < + right.collective_history_sequence; +end; diff --git a/asl/arch/state/kernel-lifecycle.asl b/asl/arch/state/kernel-lifecycle.asl new file mode 100644 index 000000000..3c21d41eb --- /dev/null +++ b/asl/arch/state/kernel-lifecycle.asl @@ -0,0 +1,141 @@ +// PTO-UNIT: {"id":"PTO-ARCH-STATE-KERNEL-LIFECYCLE","surface":"arch","classification":["state","kernel-lifecycle"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"]} +// NDF-BEGIN: PTO-ARCH-KERNEL-LIFECYCLE-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// A Core has at most one active kernel invocation. Launch establishes one +// common entry PC and new invocation identity for PE0..PE3, invalidating all +// target-Core prelaunch recovery frames. Successful End and +// Abort retire invocation-owned active-PE Shared candidate/release metadata +// while preserving any published Shared parent and committed effects. Abort +// discards incomplete collective state and cancels reversible work, but +// preserves committed effects and waits for irrevocable older work to quiesce +// before a later launch. Completion from an earlier invocation MUST NOT +// update the current invocation's synchronization state. Lifecycle retirement +// MUST clear active-PE Shared generation and release metadata matching the +// retiring Core/invocation while preserving published Shared payloads and +// operation ordinals; aggregate records and another identity remain untouched. +// NDF-END: PTO-ARCH-KERNEL-LIFECYCLE-001 + +type KernelLifecycleResult of enumeration { + KernelLifecycle_Started, + KernelLifecycle_Waiting, + KernelLifecycle_Rejected +}; + +func ResetKernelLifecycleState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; +end; + +readonly func KernelInvocationIsActive(core: PTOModelCoreIdentity) + => boolean +begin + return _KernelInvocationActiveByCore[[core]]; +end; + +func InitializePEForKernelEntry(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + entry: Word) +begin + SelectExecutionContext(core, pe); + InvalidatePETrapRecoveryFramesForFreshKernelEntry(); + _PC = entry; + _BPC = Zeros{PTO_XLEN}; + _BundleActive = FALSE; + _BundleBodyActive = FALSE; + _BARG.block_type = BundleKind_Standard; + _BARG.transfer_type = BundleTransfer_Fallthrough; + _BARG.taken = FALSE; + _BARG.bpcn = Zeros{PTO_XLEN}; + ClearBundleHeaderState(); + _BundleSequentialPC = Zeros{PTO_XLEN}; + _FrameStackReturnTarget = Zeros{PTO_XLEN}; + _ReturnAddress = Zeros{PTO_XLEN}; + _CommitArgument = Zeros{PTO_XLEN}; + for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do + _TQueue[[index]] = Zeros{PTO_XLEN}; + _TQueueValid[[index]] = FALSE; + _UQueue[[index]] = Zeros{PTO_XLEN}; + _UQueueValid[[index]] = FALSE; + end; + for predicate = 0 to PTO_PREDICATE_REGISTER_COUNT - 1 do + _PredicateRegisters[[predicate]] = Zeros{PTO_PREDICATE_WIDTH}; + end; + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _ScalarExecutionBlocked = FALSE; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + SaveSelectedPEExecutionContext(); +end; + +func LaunchKernelInvocation(core: PTOModelCoreIdentity, entry: Word) + => KernelLifecycleResult +begin + if _KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Waiting; + end; + let retired = _RetiredKernelInvocationByCore[[core]]; + if retired != 0 && !KernelGMObligationsQuiescent(core, retired) then + return KernelLifecycle_Waiting; + end; + if entry[0] == '1' then return KernelLifecycle_Rejected; end; + + let previous_core = _CurrentModelCore; + let previous_pe = _CurrentMemoryAgent; + let invocation = _NextKernelInvocationIdByCore[[core]]; + _NextKernelInvocationIdByCore[[core]] = invocation + 1; + _KernelInvocationByCore[[core]] = invocation; + _KernelInvocationActiveByCore[[core]] = TRUE; + _RetiredKernelInvocationByCore[[core]] = 0; + _VerificationGMProgressDeferred = FALSE; + BeginCoreSynchronizationInvocation(core, invocation); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + InitializePEForKernelEntry(core, pe as MemoryAgentId, entry); + end; + SelectExecutionContext(previous_core, previous_pe); + return KernelLifecycle_Started; +end; + +func EndKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + if !KernelGMObligationsQuiescent(core, invocation) then + return KernelLifecycle_Waiting; + end; + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + RetireCoreSynchronizationInvocation(core, invocation); + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return KernelLifecycle_Started; +end; + +func AbortKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + AbortKernelGMObligations(core, invocation); + AbortCoreSynchronizationInvocation(core, invocation); + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return if KernelGMObligationsQuiescent(core, invocation) then + KernelLifecycle_Started else KernelLifecycle_Waiting; +end; diff --git a/asl/arch/state/pe-execution-context.asl b/asl/arch/state/pe-execution-context.asl new file mode 100644 index 000000000..0bba8a85d --- /dev/null +++ b/asl/arch/state/pe-execution-context.asl @@ -0,0 +1,500 @@ +// PTO-UNIT: {"id":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","surface":"arch","classification":["state","pe-execution-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING","PTO-ARCH-STATE-TRAP-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","classification":["architecture","pe-execution-context"],"scope":"pe","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_PEExecutionContexts","_CurrentPEContextValid","_PEContextBankValid","_DefaultPEExecutionContext"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-LOCAL-CONTEXT","classification":["architecture","core-local-context"],"scope":"core","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_CoreExecutionContexts","_CurrentCoreContextValid","_CoreContextBankValid","_DefaultCoreExecutionContext"],"depends_on":[]} + +// NDF-BEGIN: PTO-ARCH-PE-EXECUTION-CONTEXT-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST keep independent PE0..PE3 contexts. PE selection +// MUST save/restore private instruction, Block, queue, fault/trap, reservation, +// and Local Tile state; Core selection MUST keep Core-local state distinct. +// PE snapshots MUST NOT restore shared GM, event history, synchronization, or +// Shared Tile state, and MUST NOT rewind peer progress or committed effects. +// NDF-END: PTO-ARCH-PE-EXECUTION-CONTEXT-001 + +// The active globals remain the compatibility working set used by existing +// ASL helpers. Every explicit PE selection first saves that complete PE-local +// set and restores the selected PE's saved set. System GM and event history do +// not appear in this snapshot. +type PEExecutionContext of record { + pc: Word, + bpc: Word, + current_encoded_instruction: bits(64), + bundle_start_encoded_instruction: bits(64), + tiles: array [[PTO_TILE_REGISTER_COUNT]] of TileInfo, + tile_allocation_masks: array [[PTO_TILE_REGISTER_COUNT]] of bits(4), + tile_relative_order: RelativeTileSnapshot, + tile_relative_valid: RelativeTileValiditySnapshot, + tile_feature_map_descriptors: TileFeatureMapDescriptorSnapshot, + thread_ptr: Word, + global_ptr: Word, + core_state: Word, + thread_id: Word, + t_queue: TemporaryQueueSnapshot, + t_queue_valid: TemporaryQueueValiditySnapshot, + u_queue: TemporaryQueueSnapshot, + u_queue_valid: TemporaryQueueValiditySnapshot, + bundle_active: boolean, + bundle_body_active: boolean, + barg: BundleArgumentRegister, + bundle_commit_target_set: boolean, + bundle_condition_set: boolean, + system_block_terminal_pending: boolean, + bundle_sequential_pc: Word, + frame_stack_return_target: Word, + bundle_argument: Word, + bundle_argument_kind: bits(3), + bundle_operation: BundleOperationDescriptor, + bundle_dimensions: BundleDimensionSnapshot, + bundle_dimension_present: BundleDimensionPresenceSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_range_group: BundleRangeGroupState, + bundle_zero_participation_seen: boolean, + bundle_control_attributes: BundleControlAttributes, + bundle_data_attributes: BundleDataAttributes, + bundle_data_attributes_present: boolean, + bundle_execution_mask: BundleExecutionMaskBinding, + bundle_hint: BundleHintAttributes, + bundle_fixed_point_attributes: BundleFixedPointAttributes, + memory_copy_template: MemoryCopyTemplateState, + frame_template: FrameTemplateState, + bundle_execution_domain_token: integer, + frame_depth: integer {0..PTO_MODEL_MEMORY_EVENTS}, + last_frame_begin: Reg5Selector, + last_frame_end: Reg5Selector, + last_frame_size: Word, + last_queue_left: Word, + last_queue_right: Word, + last_queue_flags: bits(4), + last_memory_command_address: Word, + last_memory_command_size: Word, + last_cross_block_acr: bits(10), + last_cross_block_id: bits(7), + last_bundle_hint_payload: Word, + return_address: Word, + commit_argument: Word, + predicates: PredicateSnapshot, + last_fault: FaultCode, + fault_address: Word, + reservation_valid: boolean, + reservation_address: Word, + reservation_size: integer {1,2,4,8}, + last_fence_predecessor: bits(4), + last_fence_successor: bits(4), + memory_replay_state: MemoryReplayState, + extended_system_registers: array [[65536]] of Word, + acr_trap_asynchronous: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_argument_valid: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_cause: array [[PTO_ACR_COUNT]] of bits(24), + acr_trap_number: array [[PTO_ACR_COUNT]] of TrapNumber, + acr_trap_argument0: array [[PTO_ACR_COUNT]] of Word, + trap_contexts: array [[PTO_ACR_COUNT]] of TrapContext, + current_acr: AccessControlRing, + memory_origin: MemoryEventOrigin, + program_order: integer, + scalar_execution_blocked: boolean +}; + +type CoreExecutionContext of record { + system_registers: BaseSystemRegisterState, + shared_tiles: SharedTileSnapshot, + local_generations: LocalGenerationSnapshot, + shared_generations: SharedGenerationSnapshot, + tile_data_layout_capabilities: bits(32), + data_cache_epoch: integer, + instruction_cache_epoch: integer, + bundle_cache_epoch: integer, + tlb_epoch: integer, + last_maintenance_operation: MaintenanceOperation, + last_maintenance_operand: Word, + bundle_hint_epoch: integer, + architecture_request_epoch: integer, + last_control_request: ExecutionControlRequest, + control_request_operand: Word +}; + +type CoreExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreExecutionContext; +type PEExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of PEExecutionContext; +type PEContextValidityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); + +var _PEExecutionContexts : PEExecutionContextBank; +var _CoreExecutionContexts : CoreExecutionContextBank; +var _PEContextBankValid : PEContextValidityBank; +var _CoreContextBankValid : bits(PTO_MODEL_CORE_INSTANCES); +var _CurrentPEContextValid : boolean; +var _CurrentCoreContextValid : boolean; +var _DefaultPEExecutionContext : PEExecutionContext; +var _DefaultCoreExecutionContext : CoreExecutionContext; + +func SaveSelectedPEExecutionContext() +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + _PEExecutionContexts[[core]][[pe]] = PEExecutionContext { + pc = _PC, + bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, + t_queue_valid = _TQueueValid, + u_queue = _UQueue, + u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, + barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, + fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _PEContextBankValid[[core]][pe] = '1'; + _CurrentPEContextValid = TRUE; +end; + +func LoadPEExecutionContext(context: PEExecutionContext) +begin + _PC = context.pc; + _BPC = context.bpc; + _CurrentEncodedInstruction = context.current_encoded_instruction; + _BundleStartEncodedInstruction = + context.bundle_start_encoded_instruction; + _Tiles = context.tiles; + _TileAllocationMasks = context.tile_allocation_masks; + _TileRelativeOrder = context.tile_relative_order; + _TileRelativeValid = context.tile_relative_valid; + _TileFeatureMapDescriptors = context.tile_feature_map_descriptors; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _TQueue = context.t_queue; + _TQueueValid = context.t_queue_valid; + _UQueue = context.u_queue; + _UQueueValid = context.u_queue_valid; + _BundleActive = context.bundle_active; + _BundleBodyActive = context.bundle_body_active; + _BARG = context.barg; + _BundleCommitTargetSet = context.bundle_commit_target_set; + _BundleConditionSet = context.bundle_condition_set; + _SystemBlockTerminalPending = context.system_block_terminal_pending; + _BundleSequentialPC = context.bundle_sequential_pc; + _FrameStackReturnTarget = context.frame_stack_return_target; + _BundleArgument = context.bundle_argument; + _BundleArgumentKind = context.bundle_argument_kind; + _BundleOperation = context.bundle_operation; + _BundleDimensions = context.bundle_dimensions; + _BundleDimensionPresent = context.bundle_dimension_present; + _BundleScalarBindings = context.bundle_scalar_bindings; + _BundleTileBindings = context.bundle_tile_bindings; + _BundleSharedBindings = context.bundle_shared_bindings; + _BundleRangeGroup = context.bundle_range_group; + _BundleZeroParticipationSeen = context.bundle_zero_participation_seen; + _BundleControlAttributes = context.bundle_control_attributes; + _BundleDataAttributes = context.bundle_data_attributes; + _BundleDataAttributesPresent = context.bundle_data_attributes_present; + _BundleExecutionMask = context.bundle_execution_mask; + _BundleHint = context.bundle_hint; + _BundleFixedPointAttributes = context.bundle_fixed_point_attributes; + _MemoryCopyTemplate = context.memory_copy_template; + _FrameTemplate = context.frame_template; + _BundleExecutionDomainToken = context.bundle_execution_domain_token; + _FrameDepth = context.frame_depth; + _LastFrameBegin = context.last_frame_begin; + _LastFrameEnd = context.last_frame_end; + _LastFrameSize = context.last_frame_size; + _LastQueueLeft = context.last_queue_left; + _LastQueueRight = context.last_queue_right; + _LastQueueFlags = context.last_queue_flags; + _LastMemoryCommandAddress = context.last_memory_command_address; + _LastMemoryCommandSize = context.last_memory_command_size; + _LastCrossBlockACR = context.last_cross_block_acr; + _LastCrossBlockID = context.last_cross_block_id; + _LastBundleHintPayload = context.last_bundle_hint_payload; + _ReturnAddress = context.return_address; + _CommitArgument = context.commit_argument; + _PredicateRegisters = context.predicates; + _LastFault = context.last_fault; + _FaultAddress = context.fault_address; + _ReservationValid = context.reservation_valid; + _ReservationAddress = context.reservation_address; + _ReservationSize = context.reservation_size; + _LastFencePredecessor = context.last_fence_predecessor; + _LastFenceSuccessor = context.last_fence_successor; + _MemoryReplayState = context.memory_replay_state; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _ExtendedSystemRegisters = context.extended_system_registers; + _ACRTrapAsynchronous = context.acr_trap_asynchronous; + _ACRTrapArgumentValid = context.acr_trap_argument_valid; + _ACRTrapCause = context.acr_trap_cause; + _ACRTrapNumber = context.acr_trap_number; + _ACRTrapArgument0 = context.acr_trap_argument0; + _TrapContexts = context.trap_contexts; + _CurrentACR = context.current_acr; + _CurrentMemoryOrigin = context.memory_origin; + _CurrentProgramOrder = context.program_order; + _ScalarExecutionBlocked = context.scalar_execution_blocked; +end; + +func SaveSelectedCoreExecutionContext() +begin + let core = _CurrentModelCore; + _CoreExecutionContexts[[core]] = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CoreContextBankValid[core] = '1'; + _CurrentCoreContextValid = TRUE; +end; + +func LoadCoreExecutionContext(context: CoreExecutionContext) +begin + _SystemRegisters = context.system_registers; + _SharedTiles = context.shared_tiles; + _LocalGenerations = context.local_generations; + _SharedGenerations = context.shared_generations; + _TileDataLayoutCapabilities = context.tile_data_layout_capabilities; + _DataCacheEpoch = context.data_cache_epoch; + _InstructionCacheEpoch = context.instruction_cache_epoch; + _BundleCacheEpoch = context.bundle_cache_epoch; + _TLBEpoch = context.tlb_epoch; + _LastMaintenanceOperation = context.last_maintenance_operation; + _LastMaintenanceOperand = context.last_maintenance_operand; + _BundleHintEpoch = context.bundle_hint_epoch; + _ArchitectureRequestEpoch = context.architecture_request_epoch; + _LastControlRequest = context.last_control_request; + _ControlRequestOperand = context.control_request_operand; +end; + +func SelectExecutionContext(core: PTOModelCoreIdentity, pe: MemoryAgentId) +begin + if !_CurrentCoreContextValid then + _DefaultCoreExecutionContext = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CurrentCoreContextValid = TRUE; + end; + if !_CurrentPEContextValid then + _DefaultPEExecutionContext = PEExecutionContext { + pc = _PC, bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = + _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, t_queue_valid = _TQueueValid, + u_queue = _UQueue, u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _CurrentPEContextValid = TRUE; + end; + + if core == _CurrentModelCore && pe == _CurrentMemoryAgent && + _CurrentPEContextValid then + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + return; + end; + + if core != _CurrentModelCore then + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + _CurrentModelCore = core; + if _CoreContextBankValid[core] == '1' then + LoadCoreExecutionContext(_CoreExecutionContexts[[core]]); + else + LoadCoreExecutionContext(_DefaultCoreExecutionContext); + end; + _CurrentCoreContextValid = TRUE; + _CurrentPEContextValid = FALSE; + elsif pe != _CurrentMemoryAgent then + SaveSelectedPEExecutionContext(); + end; + + _CurrentMemoryAgent = pe; + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + if _PEContextBankValid[[core]][pe] == '1' then + LoadPEExecutionContext(_PEExecutionContexts[[core]][[pe]]); + else + LoadPEExecutionContext(_DefaultPEExecutionContext); + end; + _CurrentProgramOrder = _PEProgramOrder[[core]][[pe]]; + _CurrentCollectiveEpoch = _PECollectiveEpoch[[core]][[pe]]; + _CurrentPEContextValid = TRUE; +end; + +func ResetPEExecutionContextBank() +begin + _CurrentModelCore = 0; + _CurrentMemoryAgent = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _CurrentPEContextValid = FALSE; + _CurrentCoreContextValid = FALSE; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _PEContextBankValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + end; + _CoreContextBankValid = Zeros{PTO_MODEL_CORE_INSTANCES}; +end; diff --git a/asl/arch/state/trap-context.asl b/asl/arch/state/trap-context.asl index 5bed745f7..a6bb933ac 100644 --- a/asl/arch/state/trap-context.asl +++ b/asl/arch/state/trap-context.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ORDERING"]} +// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} func SavePortableTrapContext(target: AccessControlRing, source: AccessControlRing) begin @@ -6,6 +6,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -41,13 +43,12 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; _TrapContexts[[target]].memory_replay_state = _MemoryReplayState; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -62,6 +63,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -95,12 +98,11 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -135,6 +137,21 @@ begin WriteContextRegister(target, 0x0f4e, Zeros{PTO_XLEN}); end; +// A fresh kernel launch retires every recovery image owned by the previous +// contents of this PE. Keep the model validity bit and the architectural +// EBARG valid bit in step so neither recovery path can restore an old Block +// into a later invocation. +func InvalidatePETrapRecoveryFramesForFreshKernelEntry() +begin + for ring_number = 0 to PTO_ACR_COUNT - 1 do + let ring = ring_number as AccessControlRing; + _TrapContexts[[ring]].valid = FALSE; + var control = ReadContextRegister(ring, 0x0f40); + control[4] = '0'; + WriteContextRegister(ring, 0x0f40, control); + end; +end; + readonly func PortableTrapContextRecoverable(target: AccessControlRing) => boolean begin @@ -169,6 +186,8 @@ begin end; WriteTPC(_TrapContexts[[target]].tpc); WriteBPC(_TrapContexts[[target]].bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = _TrapContexts[[target]].core_state; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -204,8 +223,6 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; @@ -216,6 +233,7 @@ begin _UQueueValid = _TrapContexts[[target]].u_queue_valid; _PredicateRegisters = _TrapContexts[[target]].predicates; _CurrentACR = _TrapContexts[[target]].source_acr; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; _TrapContexts[[target]].valid = FALSE; return TRUE; end; @@ -231,6 +249,8 @@ begin let recovered_tpc = ReadContextRegister(target, 0x0f43); WriteTPC(recovered_tpc); WriteBPC(recovered_bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = ecstate; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -251,6 +271,8 @@ begin _ReturnAddress = ReadContextRegister(target, 0x0f44); _BundleArgumentKind = _TrapContexts[[target]].bundle_argument_kind; _BundleSequentialPC = _TrapContexts[[target]].bundle_sequential_pc; + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _BundleOperation = _TrapContexts[[target]].bundle_operation; _BundleDimensions = _TrapContexts[[target]].bundle_dimensions; _BundleDimensionPresent = @@ -269,13 +291,12 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; _FrameTemplate = _TrapContexts[[target]].frame_template; _MemoryReplayState = _TrapContexts[[target]].memory_replay_state; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = ReadContextRegister(target, 0x0f45 + index); _UQueue[[index]] = ReadContextRegister(target, 0x0f49 + index); diff --git a/asl/arch/system-registers/addressing.asl b/asl/arch/system-registers/addressing.asl index 60f72c1ad..7ff98f039 100644 --- a/asl/arch/system-registers/addressing.asl +++ b/asl/arch/system-registers/addressing.asl @@ -22,10 +22,12 @@ func ResetProfileState() begin let zero_tile_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; let zero_packed_tile_elements = ZeroPackedTileDefinedElements(); - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do for index = 0 to PTO_ABSOLUTE_GPR_COUNT - 1 do - _PEGPRs[[pe]][[index]] = Zeros{PTO_XLEN}; + _PEGPRs[[core]][[pe]][[index]] = Zeros{PTO_XLEN}; end; + end; end; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = Zeros{PTO_XLEN}; @@ -186,5 +188,28 @@ begin _SystemRegisters.blockid = Zeros{PTO_XLEN}; _SystemRegisters.cycle = Zeros{PTO_XLEN}; _CurrentACR = 0; + _CurrentModelCore = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _MemoryEventCollectiveHistoryOverrideValid = FALSE; + _MemoryEventCollectiveHistoryOverride = 0; + _ScalarExecutionBlocked = FALSE; + _MemoryReplayState.active = FALSE; + _MemoryReplayState.request = Zeros{PTO_XLEN}; + _MemoryReplayState.committed_event_count = 0; + _MemoryReplayState.epoch = 0; + _CurrentEncodedInstruction = Zeros{64}; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; ClearFault(); + ResetPEExecutionContextBank(); + ResetKernelGMObligations(); + ResetCoreSynchronizationState(); + ResetKernelLifecycleState(); end; diff --git a/asl/block/model/commit/validation.asl b/asl/block/model/commit/validation.asl index ab2efcdc6..e84c8da24 100644 --- a/asl/block/model/commit/validation.asl +++ b/asl/block/model/commit/validation.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} func CompleteBundleAtWithAcceptedApplicabilityRules( rules: NumericApplicabilityRuleSet, continuation: Word) => boolean begin diff --git a/asl/block/model/dispatch/gm-obligation-dispatch.asl b/asl/block/model/dispatch/gm-obligation-dispatch.asl new file mode 100644 index 000000000..95de6f8ed --- /dev/null +++ b/asl/block/model/dispatch/gm-obligation-dispatch.asl @@ -0,0 +1,289 @@ +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","surface":"block","classification":["model","dispatch","gm-obligation-dispatch"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-ARCH-STATE-PROGRAM-COUNTER","PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS"]} +func BundleTileOperationHasGMEffect() => boolean +begin + if !_BundleOperation.valid || + _BundleOperation.operation_class != BundleOperation_TileMemory || + SelectedBundleTileMaskIsZero() then return FALSE; end; + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then return FALSE; end; + case TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) of + when TileOperation_TLOAD, TileOperation_TSTORE, + TileOperation_TPREFETCH, + TileOperation_MGATHER, TileOperation_MSCATTER, + TileOperation_MGATHER_MASK, TileOperation_MSCATTER_MASK, + TileOperation_MGATHER_CAS, TileOperation_MGATHER_EXCH, + TileOperation_MGATHER_MAX, TileOperation_MGATHER_MIN, + TileOperation_MGATHER_ADD, TileOperation_MGATHER_INC, + TileOperation_MGATHER_DEC, TileOperation_MGATHER_AND, + TileOperation_MGATHER_OR, TileOperation_MGATHER_XOR, + TileOperation_MSCATTER_MAX, TileOperation_MSCATTER_MIN, + TileOperation_MSCATTER_ADD, TileOperation_MSCATTER_INC, + TileOperation_MSCATTER_DEC, TileOperation_MSCATTER_AND, + TileOperation_MSCATTER_OR, TileOperation_MSCATTER_XOR, + TileOperation_MSCATTER_POPC => return TRUE; + otherwise => return FALSE; + end; +end; + +func BundleTileGMRequestClass() => GMRequestClass +begin + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded != PTO_TILE_OPERATION_COUNT && + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_TPREFETCH then return GMRequest_Prefetch; end; + if decoded != PTO_TILE_OPERATION_COUNT && + (TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_CAS || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_EXCH || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MAX || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MIN || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_ADD || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_INC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_DEC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_AND || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_OR || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_XOR) then return GMRequest_Atomic; end; + return GMRequest_Tile; +end; + +func BundleFirstGMSourceTile() => TileIndex +begin + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].source0_valid then + return _BundleTileBindings[[binding]].source0; + end; + end; + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].destination_valid then + return _BundleTileBindings[[binding]].destination; + end; + end; + return 0 as TileIndex; +end; + +func ValidateSharedGenerationEarlyRetirementStructure() => boolean +begin + if !BundleAssembleOutputStructureLegal() then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedDestinationAssemblyPolicyLegal() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let family = BundleTileDecodeFamily(_BundleOperation.operation_class); + let decoded = DecodeTileOperation(family, + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then + SetFault(Fault_IllegalInstruction, ReadTPC()); + return FALSE; + end; + let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if !BundleProducerEffectEligible(operation) then return FALSE; end; + if !BundleOperationScalarBindingSchemaLegal(operation) then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedTLSUSelected() || + BundleSharedBindingPhysicalCount() != 1 || + !_BundleSharedBindings[[0]].destination_assemble.valid || + !_BundleSharedBindings[[0]].destination_assemble.init then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let function = UInt(_BundleOperation.selector[4:0]); + if function == 2 then + // Retain TLSU operand-role and source descriptor legality, but do not + // require payload definedness or inspect its elements for a PE that + // is not a participant. + if TileOperationOfIndex(operation) != TileOperation_TMOV || + BundleTileBindingCount() != 1 || + !_BundleTileBindings[[0]].valid || + !_BundleTileBindings[[0]].source0_valid || + _BundleTileBindings[[0]].source1_valid || + _BundleTileBindings[[0]].destination_valid || + _BundleTileBindings[[0]].destination_size != 0 || + _BundleTileBindings[[0]].pe_mask != + _BundleSharedBindings[[0]].pe_mask then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + elsif function == 0 then + if TileOperationOfIndex(operation) != TileOperation_TLOAD || + BundleTileBindingCount() != 0 || + !BundleSharedBindingIsDestination(0) then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let valid_columns = UInt(_BundleDimensions[[0]]); + let valid_rows = UInt(_BundleDimensions[[1]]); + let columns = UInt(_BundleDimensions[[2]]); + if valid_columns < 1 || valid_columns > 65535 || + valid_rows < 1 || valid_rows > 65535 || + columns < 1 || columns > 65535 || valid_columns > columns then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + else + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + if !BundleCurrentPEIsNonparticipantSharedAssembly() then + // A completed participant request is checked separately; this + // structural preflight never blesses an unrelated active request. + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + end; + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; +end; + +func RetireFailedEarlySharedGenerationRequest() +begin + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; +end; + +func FinalizeSharedGenerationEarlyRetirement() +begin + CommitBundleLocalGeneration(); + RetireBundleConsumerDependencies(); + DiscardBundleSubviewMaterializations(); + FinalizeBundleTileAttempt(TileExecution_Executed); +end; + +func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + rules: NumericApplicabilityRuleSet) => boolean +begin + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + ConsumeBundleSharedBindings(1); + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + if !ConsumeBundleSharedGenerationCompletionForCurrentPE() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + let tracks_gm = BundleTileOperationHasGMEffect() && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_gm then + let source = BundleFirstGMSourceTile(); + let generation_slot = BundleLocalGenerationSlotForSource(source); + let source_generation = if generation_slot < 64 && + _LocalGenerations[[generation_slot]].generation_identity_valid + then _LocalGenerations[[generation_slot]].generation_instance + else Zeros{PTO_XLEN}; + let base_address = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 0 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + let row_stride = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 1 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source1) + else Zeros{PTO_XLEN}; + obligation_slot = RegisterKernelGMObligation( + BundleTileGMRequestClass(), _BundleStartEncodedInstruction, + ReadBPC(), _BundleOperation, _BundleArgument, + _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + source_generation, _Tiles[[source]], _BundleExecutionMask, + base_address, row_stride, CurrentBundleMemoryOrder(), + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; + var completed = FALSE; + if _BundleControlAttributes.far then + completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( + rules); + else + completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( + rules); + end; + if tracks_gm then + if _LastFault != Fault_None then + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + elsif completed && + !_GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].captured_tstore_progress then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + end; + end; + if !completed then + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; + end; + return completed; +end; + +func ExecuteBundleTileOperation() => boolean +begin + return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + NumericApplicabilityRules_None); +end; diff --git a/asl/block/model/dispatch/shared-tlsu.asl b/asl/block/model/dispatch/shared-tlsu.asl index 6de9435b4..f1a89091f 100644 --- a/asl/block/model/dispatch/shared-tlsu.asl +++ b/asl/block/model/dispatch/shared-tlsu.asl @@ -58,6 +58,15 @@ begin return FALSE; end; var candidate = _Tiles[[binding.source0]]; + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid then + // B.ASSEMBLE replaces a complete Shared parent only after matching + // per-PE fragments have formed its candidate. The old published + // descriptor describes that parent, not an individual writer's + // private fragment, so candidate compatibility is checked against + // the open Core-owned generation by its submission owner. + return TRUE; + end; return SharedTileUpdateCompatible( BundleSharedBindingId(0), candidate, shared_mask); end; @@ -116,6 +125,14 @@ begin BundleSharedGenerationCapacity(0) else BundleSharedBindingSize(0); let shared_mask = BundleSharedBindingMask(0); + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed then + _BundleSharedBindings[[0]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; if shared_mask == Zeros{4} then return TRUE; end; let decoded = DecodeTileOperation(TileDecode_TLSU, BundleOperationDecodeCode(_BundleOperation)); @@ -138,6 +155,13 @@ begin if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; + if _CurrentPEContextValid && + shared_mask[PTOPEMaskBitOfPEIdentity( + _CurrentMemoryAgent as integer {0..3})] != '1' then + ConsumeBundleSharedBindings(1); + FinalizeBundleTileAttempt(TileExecution_Executed); + return TRUE; + end; if function == 0 then if (!BundleSharedBindingIsDestination(0) && !BundleSharedBindingIsReusedDestination(0)) || @@ -159,13 +183,15 @@ begin var load_row_stride_bytes: CorePEWords; for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do let agent = pe as MemoryAgentId; + let actual_source = !_CurrentPEContextValid || + agent == _CurrentMemoryAgent; load_base_addresses[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source0) else Zeros{PTO_XLEN}; load_row_stride_bytes[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source1) else TileDenseRowStrideBytes( @@ -191,7 +217,14 @@ begin // or published. Successful candidates still commit atomically. if _LastFault == Fault_None then RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if !CommitBundleSharedGenerationCandidate(0, candidate) then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; SetFault(Fault_TileLegality, ReadTPC()); end; end; @@ -275,16 +308,26 @@ begin var prior_shared = SharedTileRecord(shared_tile_id); if assembling then prior_shared = BeginBundleSharedGenerationProbe(shared_tile_id); - end; - TMOVLocalToShared(shared_tile_id, binding.source0, - shared_size as integer {1..12}, shared_mask, !assembling); - if assembling then + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, FALSE); let candidate = SharedTileRecord(shared_tile_id); RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if _LastFault == Fault_None && - !CommitBundleSharedGenerationCandidate(0, candidate) then - SetFault(Fault_TileLegality, ReadTPC()); + if _LastFault == Fault_None then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, + candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; + SetFault(Fault_TileLegality, ReadTPC()); + end; end; + else + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, TRUE); end; else // The same parent-level readiness gate applies before any Local diff --git a/asl/block/model/dispatch/start.asl b/asl/block/model/dispatch/start.asl index 27ef69494..c5f5032dc 100644 --- a/asl/block/model/dispatch/start.asl +++ b/asl/block/model/dispatch/start.asl @@ -87,6 +87,7 @@ begin return_target, taken); if _LastFault == Fault_None then InstallBundleOperationDescriptor(descriptor); + _BundleStartEncodedInstruction = instruction; end; end; diff --git a/asl/block/model/dispatch/tile-execution.asl b/asl/block/model/dispatch/tile-execution.asl index e0d967548..d400bc808 100644 --- a/asl/block/model/dispatch/tile-execution.asl +++ b/asl/block/model/dispatch/tile-execution.asl @@ -6,7 +6,7 @@ // numeric padding checks belong to the TGPR2T complete schema before handler // execution and atomic result publication. // NDF-END: PTO-BLOCK-MODEL-DISPATCH-TGPR2T-BOUNDARY-001 -// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} +// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} readonly func BundleTileTypesMatch( operation: integer {0..PTO_TILE_OPERATION_COUNT-1}, operands: TileInstructionOperands, @@ -421,27 +421,3 @@ begin return ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( rules); end; - -func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - rules: NumericApplicabilityRuleSet) => boolean -begin - var completed = FALSE; - if _BundleControlAttributes.far then - completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( - rules); - else - completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( - rules); - end; - if !completed then - AbortBundleLocalGenerationsForBundle(); - AbortBundleSharedGenerationsForBundle(); - end; - return completed; -end; - -func ExecuteBundleTileOperation() => boolean -begin - return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - NumericApplicabilityRules_None); -end; diff --git a/asl/block/model/dispatch/timg2col-execution.asl b/asl/block/model/dispatch/timg2col-execution.asl index f973c3f07..7c51a03c2 100644 --- a/asl/block/model/dispatch/timg2col-execution.asl +++ b/asl/block/model/dispatch/timg2col-execution.asl @@ -401,7 +401,9 @@ begin if !coverage_legal then return FALSE; end; _BundleSharedBindings[[0]].destination_assemble.offset = Zeros{PTO_XLEN} + derived_offset; - if !CommitBundleSharedGenerationCandidateRange( + let payload_elements = ((writer_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements( 0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -410,7 +412,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - writer_cells, BundleTIMG2COLPEBit(), TRUE, gm_base, + writer_cells, payload_elements, TRUE, FALSE, + BundleTIMG2COLPEBit(), TRUE, gm_base, param0, param1, param2, generation_metadata) then AbortBundleSharedGeneration( BundleSharedBindingId(0)); diff --git a/asl/block/model/dispatch/tlsu-gmov.asl b/asl/block/model/dispatch/tlsu-gmov.asl index 38ad8a609..832d06ed5 100644 --- a/asl/block/model/dispatch/tlsu-gmov.asl +++ b/asl/block/model/dispatch/tlsu-gmov.asl @@ -8,13 +8,71 @@ begin UInt(_BundleOperation.selector[4:0]) == 13; end; +readonly func BundleGMOVPESourceTile(source: TileIndex, + pe: MemoryAgentId) => TileInfo +begin + if _CurrentPEContextValid && pe == _CurrentMemoryAgent then + return _Tiles[[source]]; + end; + return _PEExecutionContexts[[_CurrentModelCore]][[pe]].tiles[[source]]; +end; + +readonly func BundleGMOVPESourceTileReady(tile: TileInfo) => boolean +begin + if TileLayoutIsCube(tile.layout) then + return TileCubeDescriptorLegal(tile) && tile.contents_defined; + end; + return TileInfoDescriptorLegal(tile); +end; + +readonly func BundleGMOVSourceDescriptorsMatch(left: TileInfo, + right: TileInfo) => boolean +begin + return left.capacity_bytes == right.capacity_bytes && + left.rows == right.rows && left.columns == right.columns && + left.valid_rows == right.valid_rows && + left.valid_columns == right.valid_columns && + left.data_type == right.data_type && + left.layout == right.layout && + left.storage_kind == right.storage_kind && + left.cube_k_repeat == right.cube_k_repeat && + left.cube_n_repeat == right.cube_n_repeat && + left.cube_cell_count == right.cube_cell_count && + left.cube_storage_bytes == right.cube_storage_bytes; +end; + readonly func BundleGMOVCore4SourceReady(source: TileIndex) => boolean begin - // The one-level PTO model represents the four peer-resolved Local source - // fragments as one Core4 snapshot. Full allocation and complete payload - // definedness are therefore the formal rendezvous/readiness witness. - return TileElementwiseSourceContentsDefined(source) && - _TileAllocationMasks[[source]] == '1111'; + // Standalone aggregate callers retain the established Core4 batch view. + // Encoded PE streams instead resolve each destination's private peer_tid + // against that peer's actual Local bank before any destination effect. + if !_CurrentPEContextValid then + return TileElementwiseSourceContentsDefined(source) && + _TileAllocationMasks[[source]] == '1111'; + end; + if !_BundleScalarBindings[[0]].valid then return FALSE; end; + var reference_valid = FALSE; + var reference: TileInfo; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let destination_pe = pe as MemoryAgentId; + let peer_word = ReadPEAbsoluteGPROperand(destination_pe, + _BundleScalarBindings[[0]].source0); + if UInt(peer_word) >= PTO_MODEL_MEMORY_AGENTS then return FALSE; end; + let source_pe = UInt(peer_word) as MemoryAgentId; + if source_pe != _CurrentMemoryAgent && + _PEContextBankValid[[_CurrentModelCore]][source_pe] != '1' then + return FALSE; + end; + let source_tile = BundleGMOVPESourceTile(source, source_pe); + if !BundleGMOVPESourceTileReady(source_tile) then return FALSE; end; + if !reference_valid then + reference = source_tile; + reference_valid = TRUE; + elsif !BundleGMOVSourceDescriptorsMatch(reference, source_tile) then + return FALSE; + end; + end; + return reference_valid; end; func ExecuteBundleGMOVOperation() => boolean @@ -36,19 +94,32 @@ begin end; if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; let binding = _BundleTileBindings[[0]]; + let current_peer_word = if _CurrentPEContextValid && + _BundleScalarBindings[[0]].valid then + ReadPEAbsoluteGPROperand(_CurrentMemoryAgent, + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + if UInt(current_peer_word) >= PTO_MODEL_MEMORY_AGENTS then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let current_source_tile = if _CurrentPEContextValid then + BundleGMOVPESourceTile(binding.source0, + UInt(current_peer_word) as MemoryAgentId) + else _Tiles[[binding.source0]]; if !binding.destination_valid || !binding.source0_valid || binding.source1_valid || !binding.last || !BundleGMOVCore4SourceReady(binding.source0) || BundleTileDestinationSizeBytes(0) != - _Tiles[[binding.source0]].capacity_bytes || + current_source_tile.capacity_bytes || !TileCarrierOrPackedBaselineDataTypeSupported( TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding)) || - _Tiles[[binding.source0]].data_type != TileDataTypeFromEncoding( + current_source_tile.data_type != TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding) || - _Tiles[[binding.source0]].layout != CurrentBundleTileLayout() then + current_source_tile.layout != CurrentBundleTileLayout() then SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; @@ -76,21 +147,37 @@ begin // carries the resolved peer source shape while B.DATR.Layout selects its // physical representation. if !ResolveBundleTileDestinationsWithShapeAndType( - TRUE, _Tiles[[binding.source0]].valid_rows, - _Tiles[[binding.source0]].valid_columns, - _Tiles[[binding.source0]].columns, TRUE, - _Tiles[[binding.source0]].data_type) then return FALSE; end; + TRUE, current_source_tile.valid_rows, + current_source_tile.valid_columns, + current_source_tile.columns, TRUE, + current_source_tile.data_type) then return FALSE; end; if !ValidateBundleLocalGenerationWriters() then RollBackBundleTileDestinations(); return FALSE; end; let destination = _BundleTileBindings[[0]].destination; let source = binding.source0; - if !TileOperandsLegal_GMOV(destination, source, Zeros{PTO_XLEN}) then + let selected_source = if _CurrentPEContextValid then + current_source_tile else _Tiles[[source]]; + if !BundleGMOVPESourceTileReady(selected_source) || + !TileElementwiseDescriptorLegal(destination) || + _Tiles[[destination]].rows != selected_source.rows || + _Tiles[[destination]].columns != selected_source.columns || + _Tiles[[destination]].valid_rows != selected_source.valid_rows || + _Tiles[[destination]].valid_columns != selected_source.valid_columns || + _Tiles[[destination]].data_type != selected_source.data_type || + _Tiles[[destination]].layout != selected_source.layout || + !TileElementwiseLayoutSupported(selected_source.layout) || + !TileCarrierOrPackedBaselineDataTypeSupported( + selected_source.data_type) then RollBackBundleTileDestinations(); SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; - GMOV(destination, source, Zeros{PTO_XLEN}); + if _CurrentPEContextValid then + GMOVFromSourceTile(destination, selected_source); + else + GMOV(destination, source, Zeros{PTO_XLEN}); + end; FinalizeBundleTileAttempt(TileExecution_Executed); return TRUE; end; diff --git a/asl/block/model/dispatch/weight-to-shared-execution.asl b/asl/block/model/dispatch/weight-to-shared-execution.asl index 03de6a063..ea3a68d66 100644 --- a/asl/block/model/dispatch/weight-to-shared-execution.asl +++ b/asl/block/model/dispatch/weight-to-shared-execution.asl @@ -277,7 +277,9 @@ begin _BundleDimensions[[0]][15:0], _BundleDimensions[[1]][15:0], _BundleDimensions[[2]][15:0], Zeros{4} + (parent_size_code as integer {1..12})); - if !CommitBundleSharedGenerationCandidateRange(0, + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements(0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -286,7 +288,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - payload_cells, BundleWeightTLOADPEBit(), TRUE, + payload_cells, payload_elements, TRUE, FALSE, + BundleWeightTLOADPEBit(), TRUE, gm_base, shape_word, start_word, generation_metadata, Zeros{PTO_XLEN}) then AbortBundleSharedGeneration(BundleSharedBindingId(0)); diff --git a/asl/block/model/lifecycle/reset.asl b/asl/block/model/lifecycle/reset.asl index d4d7282ea..633c3be13 100644 --- a/asl/block/model/lifecycle/reset.asl +++ b/asl/block/model/lifecycle/reset.asl @@ -84,6 +84,11 @@ begin _BundleTileBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleTileBindings[[index]].destination_assemble.init = FALSE; _BundleTileBindings[[index]].destination_assemble.last = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -112,6 +117,11 @@ begin _BundleSharedBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleSharedBindings[[index]].destination_assemble.init = FALSE; _BundleSharedBindings[[index]].destination_assemble.last = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; @@ -244,8 +254,6 @@ begin _TrapContexts[[ring]].bundle_hint = _BundleHint; _TrapContexts[[ring]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[ring]].local_generations = _LocalGenerations; - _TrapContexts[[ring]].shared_generations = _SharedGenerations; _TrapContexts[[ring]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[ring]].memory_copy_template = _MemoryCopyTemplate; diff --git a/asl/block/model/operands/local-generation-squash.asl b/asl/block/model/operands/local-generation-squash.asl new file mode 100644 index 000000000..4aa67b271 --- /dev/null +++ b/asl/block/model/operands/local-generation-squash.asl @@ -0,0 +1,97 @@ +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH","surface":"block","classification":["model","operands","local-generation-squash"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES"]} +func SquashBundleExecutionDomain(domain: integer) +begin + for slot = 0 to 63 do + var covered: bits(2048) = Zeros{2048}; + var ready: bits(2048) = Zeros{2048}; + var writers_left: integer {0..16} = 0; + var compacted_writers: LocalGenerationWriterSnapshot = + _LocalGenerations[[slot]].writers; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].identity + .execution_domain_token == domain then + _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; + _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; + end; + end; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid then + compacted_writers[[writers_left]] = + _LocalGenerations[[slot]].writers[[writer]]; + writers_left = (writers_left + 1) as integer {0..16}; + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]] + .cell_count then + let index = _LocalGenerations[[slot]].writers[[writer]] + .offset_cells + cell; + if index < 2048 then + covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + ready[index] = '1'; + end; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].covered_cells = covered; + _LocalGenerations[[slot]].ready_cells = ready; + for writer = writers_left to 15 do + compacted_writers[[writer]].valid = FALSE; + compacted_writers[[writer]].ready = FALSE; + end; + _LocalGenerations[[slot]].writers = compacted_writers; + _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; + for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].consumers[[index]].valid && + _LocalGenerations[[slot]].consumers[[index]] + .execution_domain_token == domain then + _LocalGenerations[[slot]].consumers[[index]].state = + BundleConsumerDependency_Cancelled; + _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; + end; + end; + for pe = 0 to 3 do + var pe_covered = Zeros{2048}; + var pe_ready = Zeros{2048}; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].pe_mask[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' then + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && + _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then + let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; + pe_covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + pe_ready[index] = '1'; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; + _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; + end; + if writers_left == 0 && _LocalGenerations[[slot]].open then + AbortBundleLocalGeneration(slot); + end; + end; + SquashPEOwnedSharedGenerationRequest(_CurrentModelCore, + _CurrentKernelInvocation, domain); +end; + +// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 +// Architecture event entry point for an execution-domain squash. The event +// is not instruction-encoded; a control-flow, fault, or interrupt mechanism +// invokes this procedure after the decoded writer path has registered its +// portable identity. +func EnterBundleExecutionDomainSquashEvent(domain: integer) +begin + SquashBundleExecutionDomain(domain); +end; diff --git a/asl/block/model/operands/portable-carriers.asl b/asl/block/model/operands/portable-carriers.asl index aa967e16b..6b47e3aef 100644 --- a/asl/block/model/operands/portable-carriers.asl +++ b/asl/block/model/operands/portable-carriers.asl @@ -9,9 +9,13 @@ // NDF-BEGIN: PTO-B-ASSEMBLE-SPECULATION-001 // ndf: kind=contract level=L1 layer=block status=accepted -// Dynamic writers carry an opaque instruction-instance plus execution-domain -// identity. A squash cancels every unretired contribution in that domain and -// preserves the older committed mapping. +// Dynamic Local writers and actual-PE Shared-generation requests carry an +// instruction-instance plus execution-domain identity. A squash cancels only +// unretired contributions in that domain and preserves older committed Local +// mappings and published Shared parents. For an incomplete actual-PE Shared +// candidate, the matching Core/invocation/request-token contribution and its +// retained live, banked, or trap request copies are invalidated; unrelated +// identities and completed publication/release state remain intact. // NDF-END: PTO-B-ASSEMBLE-SPECULATION-001 // NDF-BEGIN: PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001 @@ -335,92 +339,6 @@ begin return TRUE; end; -func SquashBundleExecutionDomain(domain: integer) -begin - for slot = 0 to 63 do - var covered: bits(2048) = Zeros{2048}; - var ready: bits(2048) = Zeros{2048}; - var writers_left: integer {0..16} = 0; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].identity - .execution_domain_token == domain then - _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; - _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; - end; - end; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid then - writers_left = (writers_left + 1) as integer {0..16}; - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]] - .cell_count then - let index = _LocalGenerations[[slot]].writers[[writer]] - .offset_cells + cell; - if index < 2048 then - covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - ready[index] = '1'; - end; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].covered_cells = covered; - _LocalGenerations[[slot]].ready_cells = ready; - _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; - for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].consumers[[index]].valid && - _LocalGenerations[[slot]].consumers[[index]] - .execution_domain_token == domain then - _LocalGenerations[[slot]].consumers[[index]].state = - BundleConsumerDependency_Cancelled; - _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; - end; - end; - for pe = 0 to 3 do - var pe_covered = Zeros{2048}; - var pe_ready = Zeros{2048}; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].pe_mask[ - PTOPEMaskBitOfPEIdentity(pe)] == '1' then - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && - _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then - let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; - pe_covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - pe_ready[index] = '1'; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; - _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; - end; - if writers_left == 0 && _LocalGenerations[[slot]].open then - AbortBundleLocalGeneration(slot); - end; - end; -end; - -// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 -// Architecture event entry point for an execution-domain squash. The event -// is not instruction-encoded; a control-flow, fault, or interrupt mechanism -// invokes this procedure after the decoded writer path has registered its -// portable identity. -func EnterBundleExecutionDomainSquashEvent(domain: integer) -begin - SquashBundleExecutionDomain(domain); -end; - func BundleHasAssembleModifier() => boolean begin for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do diff --git a/asl/block/model/operands/range-modifiers.asl b/asl/block/model/operands/range-modifiers.asl index 842dd5393..b3c2db82d 100644 --- a/asl/block/model/operands/range-modifiers.asl +++ b/asl/block/model/operands/range-modifiers.asl @@ -237,6 +237,14 @@ begin .destination_assemble.init = init; _BundleTileBindings[[_BundleRangeGroup.tile_binding]] .destination_assemble.last = last; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; else _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.valid = TRUE; @@ -252,6 +260,14 @@ begin .destination_assemble.init = init; _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.last = last; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; end; MarkBundleRangeRole(2); end; diff --git a/asl/block/model/operands/shared-generation-pe-requests.asl b/asl/block/model/operands/shared-generation-pe-requests.asl new file mode 100644 index 000000000..f8a6fd6d6 --- /dev/null +++ b/asl/block/model/operands/shared-generation-pe-requests.asl @@ -0,0 +1,499 @@ +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","surface":"block","classification":["model","operands","shared-generation-pe-requests"],"depends_on":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"]} +readonly func BundleSharedGenerationRequestWaiting( + binding: BundleSharedBindingIndex) => boolean +begin + return _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting; +end; + +readonly func BundleCurrentPEIsNonparticipantSharedAssembly() => boolean +begin + if !_CurrentPEContextValid then return FALSE; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble.init then + let mask = _BundleSharedBindings[[binding]].pe_mask; + let pe = _CurrentMemoryAgent as integer {0..3}; + if mask != Zeros{4} && + mask[PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func BundleSharedGenerationCompletionAvailableForCurrentPE() + => boolean +begin + if !_CurrentPEContextValid || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 || + _CurrentMemoryOrigin != MemoryEventOrigin_Kernel || + !BundleSharedTLSUSelected() then return FALSE; end; + let pe = _CurrentMemoryAgent as integer {0..3}; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let request = _BundleSharedBindings[[binding]].destination_assemble; + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if request.shared_request_identity_valid && + !request.shared_request_squashed && + !_BundleSharedBindings[[binding]].consumed && + request.shared_request_execution_domain == + _BundleExecutionDomainToken && + request.shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal && + _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +func ConsumeBundleSharedGenerationCompletionForCurrentPE() => boolean +begin + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + return FALSE; + end; + let pe = _CurrentMemoryAgent as integer {0..3}; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + ConsumeBundleSharedBindings(1); + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func SharedGenerationCoreIdentityMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex) => boolean +begin + return _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].parent_size_code == + BundleSharedGenerationCapacity(binding); +end; + +readonly func ValidateCurrentPESharedGenerationSubmission( + binding: BundleSharedBindingIndex) => boolean +begin + if !_CurrentPEContextValid || + !_BundleSharedBindings[[binding]].destination_assemble.init then + return FALSE; + end; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let pe_index = _CurrentMemoryAgent as integer {0..3}; + if participant_mask == Zeros{4} || + _BundleSharedBindings[[binding]].size_code == 0 then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let parent_cells = (BundleLocalGenerationCellCount( + BundleSharedGenerationCapacity(binding) as integer {1..12}) * 4) + as integer {4..8192}; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if offset_cells + writer_cells > parent_cells then return FALSE; end; + let selected = participant_mask[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1'; + // A structurally legal stream from a nonparticipant has no producer + // state to validate or mutate. It cannot abort a candidate belonging to + // actual participants. + if !selected then return TRUE; end; + if _SharedGenerations[[index]].open && + !SharedGenerationCoreIdentityMatches(index, binding) then + return FALSE; + end; + // A published actual-PE candidate may still have parked requests that + // have not consumed completion. Let the request reach the production + // owner, which parks it until release; it cannot join the old ordinal. + let waiting_for_release = _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask; + if _SharedGenerations[[index]].published && + _SharedGenerations[[index]].actual_pe_owned && + !waiting_for_release && + !SharedGenerationCoreIdentityMatches(index, binding) then + // A different invocation/site is a new INIT and will allocate the + // next operation ordinal after the old requests have released. + return TRUE; + end; + return TRUE; +end; + +readonly func SharedGenerationCoreRequestMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex, + candidate: SharedTileInfo) => boolean +begin + return SharedGenerationCoreIdentityMatches(index, binding) && + _SharedGenerations[[index]].working_tile.columns == + candidate.tile.columns && + _SharedGenerations[[index]].working_tile.data_type == + candidate.tile.data_type && + _SharedGenerations[[index]].working_tile.layout == + candidate.tile.layout; +end; + +readonly func ValidateBundleSharedGeneration() => boolean +begin + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let shared_tile_id = + _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = + _BundleSharedBindings[[binding]].destination_assemble; + let writer_size = assemble.size_code; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + if writer_size < 1 || writer_size > 12 then return FALSE; end; + if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; + if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; + if assemble.init && _CurrentPEContextValid then + if !ValidateCurrentPESharedGenerationSubmission(binding) then + return FALSE; + end; + else + if assemble.init && _SharedGenerations[[index]].open then + return FALSE; + end; + if !assemble.init && + (!_SharedGenerations[[index]].open || + _SharedGenerations[[index]].closed) then + return FALSE; + end; + if !assemble.init && + _SharedGenerations[[index]].participant_mask != + participant_mask then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + writer_size as integer {1..12}) * 4) as integer {4..8192}; + if !ValidateBundleSharedGenerationRange(binding, offset_cells, + writer_cells, participant_mask, FALSE, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then + return FALSE; + end; + end; + end; + end; + return TRUE; +end; + +func CommitBundleSharedGenerationCandidateForCurrentPE( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo) => boolean +begin + assert _CurrentPEContextValid && + _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + let pe_index = _CurrentMemoryAgent as integer {0..3}; + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let request_token = _BundleExecutionDomainToken; + if assemble.shared_request_squashed then + // The replay owner must install a fresh BSTART/domain before this + // request can execute again. Retain the stale completion as parked; + // it must never rejoin a new candidate or turn squash into a fault. + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + let parent_size = BundleSharedGenerationCapacity(binding); + let parent_cells = (BundleLocalGenerationCellCount( + parent_size as integer {1..12}) * 4) as integer {4..8192}; + let offset_cells = (UInt(assemble.offset) * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if participant_mask == Zeros{4} || + participant_mask[PTOPEMaskBitOfPEIdentity(pe_index)] != '1' || + candidate.allocation_mask != participant_mask || + !candidate.descriptor_valid || writer_cells > parent_cells || + offset_cells + writer_cells > parent_cells then + return FALSE; + end; + if !_BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain = request_token; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = 0; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + elsif _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain != request_token then + return FALSE; + end; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + + // An accepted request that retries after the matching collective LAST + // consumes its original completion token without replaying its payload. + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] == + request_token && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal then + if _SharedGenerations[[index]].published then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + elsif _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + return TRUE; + else + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + end; + + if _SharedGenerations[[index]].published then + if !_SharedGenerations[[index]].actual_pe_owned then + if !assemble.init then return FALSE; end; + ClearBundleSharedGenerationState(shared_tile_id); + elsif _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + else + if !assemble.init then return FALSE; end; + // Retire only lifecycle metadata. The already-published Shared + // parent remains visible until a complete replacement commits. + ClearBundleSharedGenerationState(shared_tile_id); + end; + elsif _SharedGenerations[[index]].open then + if !_SharedGenerations[[index]].actual_pe_owned then + return FALSE; + end; + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if !SharedGenerationCoreRequestMatches(index, binding, candidate) then + return FALSE; + end; + else + if !assemble.init then return FALSE; end; + end; + + let starts_generation = !_SharedGenerations[[index]].open; + if starts_generation then + let next_ordinal = + _SharedGenerations[[index]].next_operation_ordinal + 1; + _SharedGenerations[[index]].next_operation_ordinal = next_ordinal; + _SharedGenerations[[index]].operation_ordinal = next_ordinal; + _SharedGenerations[[index]].core_identity = _CurrentModelCore; + _SharedGenerations[[index]].invocation_identity = + _CurrentKernelInvocation; + _SharedGenerations[[index]].origin = _CurrentMemoryOrigin; + _SharedGenerations[[index]].source_acr = _CurrentACR; + _SharedGenerations[[index]].producer_site = ReadBPC(); + _SharedGenerations[[index]].start_instruction = + _BundleStartEncodedInstruction; + _SharedGenerations[[index]].operation_form = + _BundleOperation.form_identity; + _SharedGenerations[[index]].operation_selector = + _BundleOperation.selector; + _SharedGenerations[[index]].actual_pe_owned = TRUE; + end; + + // Reuse the existing Shared-generation range validator and writer. INIT + // joins are normalized to an internal continuation after common identity + // matching; LAST is staged until all actual arrivals and ranges exist. + _BundleSharedBindings[[binding]].destination_assemble.init = + starts_generation; + _BundleSharedBindings[[binding]].destination_assemble.last = FALSE; + let original_shared_size = _BundleSharedBindings[[binding]].size_code; + if !starts_generation then + _BundleSharedBindings[[binding]].size_code = 0; + end; + let prior_initialized = + _SharedGenerations[[index]].working_initialized_mask; + let element_bits = TileElementBits(candidate.tile.data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + let whole_parent_tload = _BundleOperation.valid && + _BundleOperation.operation_class == BundleOperation_TileMemory && + _BundleOperation.selector_valid && _BundleOperation.selector[4:0] == Zeros{5}; + // Physical writer padding is covered; only defined valid coordinates copy. + let preserve_source_geometry = BundleTMOVSelected(); + let committed = + CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, writer_cells, + writer_cells, writer_payload_elements, + !whole_parent_tload, preserve_source_geometry, participant, + FALSE, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); + _BundleSharedBindings[[binding]].destination_assemble.init = assemble.init; + _BundleSharedBindings[[binding]].destination_assemble.last = assemble.last; + _BundleSharedBindings[[binding]].size_code = original_shared_size; + if !committed then return FALSE; end; + + _SharedGenerations[[index]].actual_pe_owned = TRUE; + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] = + request_token; + _SharedGenerations[[index]].arrival_program_orders[[pe_index]] = + _CurrentProgramOrder; + _SharedGenerations[[index]].working_initialized_mask = + prior_initialized OR participant; + _SharedGenerations[[index]].last_seen = + _SharedGenerations[[index]].last_seen || assemble.last; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = + _SharedGenerations[[index]].operation_ordinal; + + var all_coverage_present = TRUE; + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count then + if _SharedGenerations[[index]].covered_cells[cell] == '0' then + all_coverage_present = FALSE; + end; + if _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + end; + let all_participants_arrived = + _SharedGenerations[[index]].arrived_participants == participant_mask; + if _SharedGenerations[[index]].last_seen && + all_participants_arrived && all_coverage_present && all_data_ready then + _SharedGenerations[[index]].last_seen = TRUE; + _SharedGenerations[[index]].closed = TRUE; + _SharedGenerations[[index]].open = FALSE; + _SharedGenerations[[index]].published = TRUE; + _SharedGenerations[[index]].working_tile.contents_defined = TRUE; + _SharedGenerations[[index]].working_tile.defined_valid_elements = + (_SharedGenerations[[index]].working_tile.valid_rows * + _SharedGenerations[[index]].working_tile.valid_columns) + as integer {0..524288}; + _SharedTiles[[index]].descriptor_valid = TRUE; + _SharedTiles[[index]].allocation_mask = participant_mask; + _SharedTiles[[index]].initialized_mask = participant_mask; + _SharedTiles[[index]].whole_parent_ready = TRUE; + _SharedTiles[[index]].published = TRUE; + _SharedTiles[[index]].tile = _SharedGenerations[[index]].working_tile; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + end; + if assemble.last && !all_participants_arrived then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if assemble.last && all_participants_arrived && + !all_coverage_present then + return FALSE; + end; + if assemble.last && all_participants_arrived && + all_coverage_present && !all_data_ready then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; +end; + +func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) + => SharedTileInfo +begin + let index = SharedTileArrayIndex(shared_tile_id); + let prior = _SharedTiles[[index]]; + _SharedTiles[[index]].descriptor_valid = FALSE; + _SharedTiles[[index]].allocation_mask = Zeros{4}; + _SharedTiles[[index]].initialized_mask = Zeros{4}; + _SharedTiles[[index]].whole_parent_ready = FALSE; + _SharedTiles[[index]].published = FALSE; + return prior; +end; +func RestoreBundleSharedGenerationProbe( + shared_tile_id: SharedTileID, prior: SharedTileInfo) +begin + _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; +end; diff --git a/asl/block/model/operands/shared-generation.asl b/asl/block/model/operands/shared-generation.asl index 886273cd2..2c716de53 100644 --- a/asl/block/model/operands/shared-generation.asl +++ b/asl/block/model/operands/shared-generation.asl @@ -7,7 +7,19 @@ // the same generation ordinal with matching metadata, and no participant has // faulted or been squashed. Publication MUST replace the complete Shared // descriptor and payload atomically; every rejection MUST preserve the prior -// published generation. +// published generation. Encoded per-PE submissions MUST capture only the +// executing participant's real source and arrival. A matching participant +// may join one open Core-owned candidate once; an incomplete collective LAST +// remains parked without a fault or PC advance until every declared range and +// participant is present. A later request from an already-arrived PE MUST NOT +// be merged into that earlier candidate. Completed candidates remain retained +// until every parked request has consumed its completion, and a new INIT MUST +// use a new operation ordinal rather than reusing the old candidate. Squashing +// an execution domain whose actual arrival token belongs to an incomplete +// PE-owned candidate MUST abort that candidate and invalidate the retained +// request identity across saved PE and trap contexts. A published candidate +// is irrevocable: squash MUST preserve its payload and outstanding release +// state. // NDF-END: PTO-B-ASSEMBLE-SHARED-GENERATION-001 // NDF-BEGIN: PTO-B-SUBVIEW-SHARED-PER-PE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -27,16 +39,21 @@ begin for binding = 0 to 3 do if _BundleSharedBindings[[binding]].valid && _BundleSharedBindings[[binding]].destination_assemble.valid then - AbortBundleSharedGeneration( + let index = SharedTileArrayIndex( _BundleSharedBindings[[binding]].shared_tile_id); + // Publication is irrevocable. A later unrelated or malformed + // request cannot erase a published parent's outstanding releases; + // explicit invocation retirement owns their metadata cleanup. + if !_SharedGenerations[[index]].actual_pe_owned || + !_SharedGenerations[[index]].published then + AbortBundleSharedGeneration( + _BundleSharedBindings[[binding]].shared_tile_id); + end; end; end; end; -// Shared generation coverage is tracked internally in 32-byte units. Ordinary -// B.ASSEMBLE offsets and SizeCodes remain 128-byte Tile CELL quantities and -// the compatibility wrappers below expand each such CELL to four units. The -// finer internal granularity lets specialized complete-row producers express -// the frozen TIMG2COL row ranges without inventing partial generic CELL rules. +// Coverage uses 32-byte units; wrappers expand existing 128-byte CELL +// quantities to four units for specialized complete-row producers. readonly func BundleSharedGenerationCoverageWithCurrent( shared_tile_id: SharedTileID, offset_cells: integer {0..8192}, @@ -53,10 +70,8 @@ begin end; return covered; end; -// A specialized collective may contribute fewer physical cells than the -// size-coded carrier and may contribute no cells at all. Participant arrival -// remains independent of CELL coverage so a zero-row PE can complete the -// collective without writing payload or definedness. +// Specialized collectives may contribute fewer cells (including zero); +// arrival remains independent of coverage and payload definedness. readonly func ValidateBundleSharedGenerationRange( binding: BundleSharedBindingIndex, offset_cells: integer {0..8192}, @@ -137,54 +152,14 @@ begin end; return TRUE; end; -readonly func ValidateBundleSharedGeneration() => boolean -begin - for binding = 0 to 3 do - if _BundleSharedBindings[[binding]].valid && - _BundleSharedBindings[[binding]].destination_assemble.valid then - let shared_tile_id = - _BundleSharedBindings[[binding]].shared_tile_id; - let index = SharedTileArrayIndex(shared_tile_id); - let assemble = - _BundleSharedBindings[[binding]].destination_assemble; - let writer_size = assemble.size_code; - let participant_mask = _BundleSharedBindings[[binding]].pe_mask; - if writer_size < 1 || writer_size > 12 then return FALSE; end; - if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; - if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; - if assemble.init && _SharedGenerations[[index]].open then - return FALSE; - end; - if !assemble.init && - (!_SharedGenerations[[index]].open || - _SharedGenerations[[index]].closed) then - return FALSE; - end; - if !assemble.init && - _SharedGenerations[[index]].participant_mask != - participant_mask then - return FALSE; - end; - let raw_offset = UInt(assemble.offset); - if raw_offset > 2047 then return FALSE; end; - let offset_cells = (raw_offset * 4) as integer {0..8188}; - let writer_cells = (BundleLocalGenerationCellCount( - writer_size as integer {1..12}) * 4) as integer {4..8192}; - if !ValidateBundleSharedGenerationRange(binding, offset_cells, - writer_cells, participant_mask, FALSE, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then - return FALSE; - end; - end; - end; - return TRUE; -end; -func CommitBundleSharedGenerationCandidateRange( +func CommitBundleSharedGenerationCandidateRangeWithPayloadElements( binding: BundleSharedBindingIndex, candidate: SharedTileInfo, offset_cells: integer {0..8192}, coverage_cells: integer {0..8192}, payload_cells: integer {0..8192}, + payload_elements: integer {0..524288}, + placed_fragment: boolean, + preserve_source_geometry: boolean, participant_arrival: bits(4), specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, @@ -200,6 +175,8 @@ begin if !candidate.descriptor_valid || candidate.allocation_mask != participant_mask || payload_cells > coverage_cells || + payload_elements > ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) || !ValidateBundleSharedGenerationRange(binding, offset_cells, coverage_cells, participant_arrival, specialized_inputs_valid, specialized_input0, specialized_input1, @@ -209,17 +186,19 @@ begin if assemble.init then let parent_size = _BundleSharedBindings[[binding]].size_code as integer {1..12}; let parent_bytes = TileSizeCodeBytes(parent_size); - let parent_rows = DerivedTileRows( - parent_bytes, candidate.tile.columns, candidate.tile.data_type); + let parent_rows = DerivedTileRows(parent_bytes, candidate.tile.columns, candidate.tile.data_type); if parent_rows == 0 then return FALSE; end; + let complete_source_view = preserve_source_geometry && placed_fragment && + offset_cells == 0 && candidate.tile.capacity_bytes == parent_bytes && + coverage_cells == BundleLocalGenerationCellCount(parent_size) * 4 && + payload_cells == coverage_cells && payload_elements == TileLogicalElementCapacity(parent_bytes, candidate.tile.data_type); _SharedGenerations[[index]].open = TRUE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = participant_mask; _SharedGenerations[[index]].parent_size_code = parent_size; - _SharedGenerations[[index]].parent_cell_count = - BundleLocalGenerationCellCount(parent_size) * 4; + _SharedGenerations[[index]].parent_cell_count = BundleLocalGenerationCellCount(parent_size) * 4; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; @@ -234,7 +213,11 @@ begin _SharedGenerations[[index]].working_valid = TRUE; _SharedGenerations[[index]].working_tile = candidate.tile; _SharedGenerations[[index]].working_tile.capacity_bytes = parent_bytes; - _SharedGenerations[[index]].working_tile.rows = parent_rows; + _SharedGenerations[[index]].working_tile.rows = if complete_source_view then + candidate.tile.rows else parent_rows; + // Rebuild placed-fragment validity in the destination geometry. + if placed_fragment then _SharedGenerations[[index]].working_tile.valid_rows = 0; + _SharedGenerations[[index]].working_tile.valid_columns = 0; end; _SharedGenerations[[index]].working_tile.contents_defined = FALSE; _SharedGenerations[[index]].working_tile.defined_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; @@ -253,12 +236,11 @@ begin return FALSE; end; end; - if payload_cells != 0 then + var descriptor_expanded = FALSE; + if payload_elements != 0 then let element_bits = TileElementBits(candidate.tile.data_type); - let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) - as integer {0..524287}; - let source_elements = ((payload_cells * 32 * 8) DIVRM element_bits) - as integer {1..524288}; + let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) as integer {0..524287}; + let source_elements = payload_elements; let parent_elements = TileLogicalElementCapacity( _SharedGenerations[[index]].working_tile.capacity_bytes, candidate.tile.data_type); @@ -281,32 +263,42 @@ begin end; end; _SharedGenerations[[index]].working_tile = working; - let working_columns = working.columns as integer {1..65535}; - let last_valid_row = (candidate.tile.valid_rows - 1) - as integer {0..65534}; - let last_valid_column = (candidate.tile.valid_columns - 1) - as integer {0..65534}; - let candidate_valid_extent = - (TileLogicalLinearIndex(candidate.tile, last_valid_row, - last_valid_column) + 1) as integer {1..524288}; - let required_end = destination_offset + candidate_valid_extent; - if required_end > parent_elements then return FALSE; end; - let required_rows = ((required_end + - (working_columns - 1)) DIVRM working_columns) - as integer {1..65535}; - if _SharedGenerations[[index]].working_tile.valid_rows < required_rows then - _SharedGenerations[[index]].working_tile.valid_rows = required_rows; + // Actual PE fragments compose validity; TLOAD retains whole-parent shape. + let previous_valid_rows = _SharedGenerations[[index]].working_tile.valid_rows; + let previous_valid_columns = _SharedGenerations[[index]].working_tile.valid_columns; + let candidate_rows = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_rows, FALSE) + else candidate.tile.valid_rows; + let candidate_columns = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_columns, TRUE) + else candidate.tile.valid_columns; + descriptor_expanded = candidate_rows > previous_valid_rows || + candidate_columns > previous_valid_columns; + if _SharedGenerations[[index]].working_tile.valid_rows < + candidate_rows then + _SharedGenerations[[index]].working_tile.valid_rows = candidate_rows; end; if _SharedGenerations[[index]].working_tile.valid_columns < - candidate.tile.valid_columns then - _SharedGenerations[[index]].working_tile.valid_columns = - candidate.tile.valid_columns; + candidate_columns then + _SharedGenerations[[index]].working_tile.valid_columns = candidate_columns; end; end; let covered = BundleSharedGenerationCoverageWithCurrent( shared_tile_id, offset_cells, coverage_cells, assemble.init); _SharedGenerations[[index]].covered_cells = covered; - _SharedGenerations[[index]].ready_cells = covered; + let prior_ready = if assemble.init then Zeros{8192} + else _SharedGenerations[[index]].ready_cells; + let range_ready = BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, prior_ready, + offset_cells, coverage_cells); + _SharedGenerations[[index]].ready_cells = if payload_elements != 0 && + descriptor_expanded then + BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, range_ready, + 0, _SharedGenerations[[index]].parent_cell_count) + else range_ready; _SharedGenerations[[index]].arrived_participants = _SharedGenerations[[index]].arrived_participants OR participant_arrival; @@ -314,6 +306,14 @@ begin _SharedGenerations[[index]].working_initialized_mask OR candidate.initialized_mask; if assemble.last then + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count && + _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + if !all_data_ready then return FALSE; end; _SharedGenerations[[index]].last_seen = TRUE; _SharedGenerations[[index]].closed = TRUE; _SharedGenerations[[index]].open = FALSE; @@ -329,6 +329,24 @@ begin end; return TRUE; end; +func CommitBundleSharedGenerationCandidateRange( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo, + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}, + payload_cells: integer {0..8192}, + participant_arrival: bits(4), + specialized_inputs_valid: boolean, + specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, + specialized_input3: Word, specialized_metadata: Word) => boolean +begin + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) as integer {0..524288}; + return CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, coverage_cells, payload_cells, + payload_elements, FALSE, FALSE, participant_arrival, specialized_inputs_valid, + specialized_input0, specialized_input1, specialized_input2, + specialized_input3, specialized_metadata); +end; // Ordinary B.ASSEMBLE retains its size-coded range and represents arrival of // the complete decoded PE mask. Specialized collectives use the explicit // range entry point above. @@ -345,23 +363,6 @@ begin Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); end; -func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) - => SharedTileInfo -begin - let index = SharedTileArrayIndex(shared_tile_id); - let prior = _SharedTiles[[index]]; - _SharedTiles[[index]].descriptor_valid = FALSE; - _SharedTiles[[index]].allocation_mask = Zeros{4}; - _SharedTiles[[index]].initialized_mask = Zeros{4}; - _SharedTiles[[index]].whole_parent_ready = FALSE; - _SharedTiles[[index]].published = FALSE; - return prior; -end; -func RestoreBundleSharedGenerationProbe( - shared_tile_id: SharedTileID, prior: SharedTileInfo) -begin - _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; -end; readonly func BundleSharedSubviewOffsetRawForPE( binding: BundleSharedBindingIndex, pe_identity: MemoryAgentId) => Word begin diff --git a/asl/block/model/operands/subview-descriptor.asl b/asl/block/model/operands/subview-descriptor.asl index e22910f83..6147bb9a7 100644 --- a/asl/block/model/operands/subview-descriptor.asl +++ b/asl/block/model/operands/subview-descriptor.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} // NDF-BEGIN: PTO-B-SUBVIEW-DESCRIPTOR-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -149,7 +149,6 @@ end; func PrepareSelectedBundleStage2() => boolean begin if !_BundleOperation.valid then return TRUE; end; - if !ResolveBundleRelativeTileSources() then return FALSE; end; let family = BundleTileDecodeFamily(_BundleOperation.operation_class); let code = BundleOperationDecodeCode(_BundleOperation); let decoded = DecodeTileOperation(family, code); @@ -158,6 +157,24 @@ begin return FALSE; end; let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + // Keep assembly wire/range checks for malformed requests, but avoid + // resolving private source tiles or consulting producer readiness on + // a PE that is not a logical participant. + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + // This is the same admitted request resuming at its original stop. + // Dispatch performs the structural guard and consumes the retained + // completion; stage2 must not reread source readiness or rebuild the + // contribution before that check. + return TRUE; + end; + if !ResolveBundleRelativeTileSources() then return FALSE; end; if !PrepareBundleSubviewDescriptors(operation) then return FALSE; end; if !ValidateBundleLocalGenerationStructure() then return FALSE; end; if !ValidateBundleSharedGeneration() then diff --git a/asl/block/model/state/control-state.asl b/asl/block/model/state/control-state.asl index 7fc2086ba..3323c9588 100644 --- a/asl/block/model/state/control-state.asl +++ b/asl/block/model/state/control-state.asl @@ -1,5 +1,9 @@ // PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","surface":"block","classification":["model","state","control-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_LocalGenerations","_SharedGenerations","_BundleExecutionDomainToken","_NextBundleExecutionDomainToken","_TileDataLayoutCapabilities","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"pe","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleStartEncodedInstruction","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_BundleExecutionDomainToken","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-LOCAL-GENERATIONS","classification":["block","local-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_LocalGenerations"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-SHARED-GENERATIONS","classification":["block","shared-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_SharedGenerations"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CORE-TILE-CAPABILITIES","classification":["block","tile-capabilities"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_TileDataLayoutCapabilities"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-EXECUTION-DOMAIN-ALLOCATOR","classification":["block","execution-domain-allocator"],"scope":"system","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_NextBundleExecutionDomainToken"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-BUNDLE-STATE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -8,6 +12,7 @@ // NDF-END: PTO-REQ-BUNDLE-STATE-001 var _BARG : BundleArgumentRegister; +var _BundleStartEncodedInstruction : bits(64); // C.SETC.TGT owns one successful value snapshot per active block. This marker // is separate from BARG.BPCN because BSTART initializes BPCN before any setter. var _BundleCommitTargetSet : boolean; diff --git a/asl/block/model/state/descriptor-state.asl b/asl/block/model/state/descriptor-state.asl index b8e8614da..091439f91 100644 --- a/asl/block/model/state/descriptor-state.asl +++ b/asl/block/model/state/descriptor-state.asl @@ -9,6 +9,7 @@ end; func ClearBundleHeaderState() begin + _BundleStartEncodedInstruction = Zeros{64}; _BundleCommitTargetSet = FALSE; _BundleConditionSet = FALSE; _SystemBlockTerminalPending = FALSE; @@ -56,6 +57,11 @@ begin _BundleTileBindings[[index]].source1_subview.materialized = FALSE; _BundleTileBindings[[index]].source1_subview.materialized_index = 0; _BundleTileBindings[[index]].destination_assemble.valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -72,6 +78,11 @@ begin _BundleSharedBindings[[index]].source0_subview.materialized = FALSE; _BundleSharedBindings[[index]].source0_subview.materialized_index = 0; _BundleSharedBindings[[index]].destination_assemble.valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; diff --git a/asl/block/model/state/shared-generation-state.asl b/asl/block/model/state/shared-generation-state.asl index ac4df3beb..86a83643a 100644 --- a/asl/block/model/state/shared-generation-state.asl +++ b/asl/block/model/state/shared-generation-state.asl @@ -1,17 +1,215 @@ -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-DESCRIPTORS","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY"]} +readonly func BundleSharedGenerationStorageRow( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element DIVRM row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element MOD tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_row = (block DIVRM block_columns) + as integer {0..8191}; + let inner_row = (within_block MOD 16) + as integer {0..15}; + return (block_row * 16 + inner_row) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_row = (block MOD block_rows) as integer {0..8191}; + let inner_row = (within_block DIVRM inner_elements) + as integer {0..255}; + return (block_row * 16 + inner_row) as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageColumn( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element MOD row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element DIVRM tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_column = (block MOD block_columns) + as integer {0..16383}; + let inner_column = (within_block DIVRM 16) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_column = (block DIVRM block_rows) + as integer {0..8191}; + let inner_column = (within_block MOD inner_elements) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageCoordinateIsLogical( + tile: TileInfo, element: integer {0..524287}) => boolean +begin + return BundleSharedGenerationStorageRow(tile, element) < tile.rows && + BundleSharedGenerationStorageColumn(tile, element) < tile.columns; +end; + +readonly func BundleSharedGenerationPlacedExtent( + source: TileInfo, destination: TileInfo, + copied_elements: integer {0..524288}, + destination_offset: integer {0..524287}, + previous_extent: integer {0..65535}, + by_column: boolean) => integer {0..65535} +begin + var extent = previous_extent; + for row = 0 to source.valid_rows - 1 looplimit 65536 do + for column = 0 to source.valid_columns - 1 looplimit 65536 do + let source_element = TileLogicalLinearIndex(source, + row as integer {0..65535}, + column as integer {0..65535}) + as integer {0..524287}; + if source_element < copied_elements then + let destination_element = (destination_offset + source_element) + as integer {0..524287}; + if BundleSharedGenerationStorageCoordinateIsLogical( + destination, destination_element) then + let coordinate = if by_column then + BundleSharedGenerationStorageColumn( + destination, destination_element) + else BundleSharedGenerationStorageRow( + destination, destination_element); + if coordinate + 1 > extent then + extent = (coordinate + 1) as integer {0..65535}; + end; + end; + end; + end; + end; + return extent; +end; + +readonly func SharedGenerationPEBit(pe: MemoryAgentId) => bits(4) +begin + var participant = Zeros{4}; + participant[PTOPEMaskBitOfPEIdentity( + pe as integer {0..PTO_MODEL_MEMORY_AGENTS-1})] = '1'; + return participant; +end; + +readonly func BundleSharedGenerationReadyCellsWithRange( + tile: TileInfo, prior_ready: bits(8192), + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}) => bits(8192) +begin + let element_bits = TileElementBits(tile.data_type) + as integer {1..64}; + let elements_per_cell = ((32 * 8) DIVRM element_bits) + as integer {1..256}; + let capacity_elements = TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type); + var ready = prior_ready; + for cell = 0 to 8191 do + if cell < coverage_cells then + let target_cell = (offset_cells + cell) as integer {0..8191}; + let first_element = (target_cell * elements_per_cell) + as integer {0..524287}; + var cell_ready = TRUE; + for lane = 0 to 255 do + if lane < elements_per_cell then + let element = (first_element + lane) + as integer {0..524287}; + if element < capacity_elements then + let row = BundleSharedGenerationStorageRow( + tile, element); + let column = BundleSharedGenerationStorageColumn( + tile, element); + if row < tile.valid_rows && + column < tile.valid_columns && + !TileLogicalElementDefined(tile, + element as PackedTileElementIndex) then + cell_ready = FALSE; + end; + end; + end; + end; + ready[target_cell] = if cell_ready then '1' else '0'; + end; + end; + return ready; +end; + func ClearBundleSharedGenerationState(shared_tile_id: SharedTileID) begin let index = SharedTileArrayIndex(shared_tile_id); + let next_operation_ordinal = + _SharedGenerations[[index]].next_operation_ordinal; _SharedGenerations[[index]].open = FALSE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = Zeros{4}; + _SharedGenerations[[index]].core_identity = 0 as PTOModelCoreIdentity; + _SharedGenerations[[index]].invocation_identity = 0; + _SharedGenerations[[index]].origin = MemoryEventOrigin_NonKernel; + _SharedGenerations[[index]].source_acr = 0 as AccessControlRing; + _SharedGenerations[[index]].producer_site = Zeros{PTO_XLEN}; + _SharedGenerations[[index]].start_instruction = Zeros{64}; + _SharedGenerations[[index]].operation_form = Zeros{7}; + _SharedGenerations[[index]].operation_selector = Zeros{10}; + _SharedGenerations[[index]].operation_ordinal = 0; + _SharedGenerations[[index]].next_operation_ordinal = + next_operation_ordinal; + _SharedGenerations[[index]].actual_pe_owned = FALSE; _SharedGenerations[[index]].parent_size_code = 0; _SharedGenerations[[index]].parent_cell_count = 0; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; + _SharedGenerations[[index]].released_participants = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _SharedGenerations[[index]].arrival_request_tokens[[pe]] = 0; + _SharedGenerations[[index]].arrival_program_orders[[pe]] = 0; + end; _SharedGenerations[[index]].specialized_inputs_valid = FALSE; _SharedGenerations[[index]].specialized_input0 = Zeros{PTO_XLEN}; _SharedGenerations[[index]].specialized_input1 = Zeros{PTO_XLEN}; @@ -28,8 +226,10 @@ end; func ResetBundleSharedGenerationState() begin for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do - ClearBundleSharedGenerationState( - (Zeros{6} + raw_id) as SharedTileID); + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + ClearBundleSharedGenerationState(shared_tile_id); + _SharedGenerations[[SharedTileArrayIndex(shared_tile_id)]] + .next_operation_ordinal = 0; end; end; @@ -43,3 +243,194 @@ func AbortBundleSharedGeneration(shared_tile_id: SharedTileID) begin ClearBundleSharedGenerationState(shared_tile_id); end; + +// Invocation lifecycle retirement discards only the active-PE Shared +// operation metadata owned by the retiring Core and invocation. Clearing the +// candidate leaves its published Shared parent and monotonically increasing +// operation ordinal intact. Legacy aggregate records have no invocation +// identity and remain under their existing operation-specific owner. +func RetirePEOwnedSharedGenerationsForInvocation( + core: PTOModelCoreIdentity, invocation: integer) +begin + if invocation == 0 then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + if core != original_core then + // Shared-generation storage is in the Core context bank. Select the + // target bank explicitly; selection saves the caller's live PE/Core + // context and the restore below leaves it unchanged. + SelectExecutionContext(core, original_pe); + end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + ClearBundleSharedGenerationState(shared_tile_id); + end; + end; + SaveSelectedCoreExecutionContext(); + if core != original_core then + SelectExecutionContext(original_core, original_pe); + end; +end; + +// A squashed Shared request may also be present in a saved PE image or in a +// nested ACR trap image. Mark every retained copy by its globally unique +// execution-domain token so recovery cannot resurrect the canceled request. +func MarkBundleSharedRequestDomainSquashed(domain: integer) +begin + if domain == 0 then return; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain == domain then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_squashed = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _TrapContexts[[acr]].bundle_shared_bindings[[binding]].valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _PEContextBankValid[[core]][pe] == '1' then + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]].trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + end; + end; + end; + for binding = 0 to 3 do + if _DefaultPEExecutionContext.bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].destination_assemble.valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; +end; + +// Squash invalidates a request identity everywhere it is retained before it +// aborts the matching incomplete candidate. Published generations remain +// irrevocable, including their outstanding per-PE completion tokens. +func SquashPEOwnedSharedGenerationRequest( + core: PTOModelCoreIdentity, invocation: integer, domain: integer) +begin + if domain == 0 || invocation == 0 then return; end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + var matching_arrival = FALSE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + domain then + matching_arrival = TRUE; + end; + end; + if matching_arrival then + MarkBundleSharedRequestDomainSquashed(domain); + AbortBundleSharedGeneration(shared_tile_id); + end; + end; + end; +end; diff --git a/asl/block/model/state/types.asl b/asl/block/model/state/types.asl index dad2b12f9..20b60dd41 100644 --- a/asl/block/model/state/types.asl +++ b/asl/block/model/state/types.asl @@ -242,11 +242,25 @@ type SharedGenerationState of record { published: boolean, shared_tile_id: SharedTileID, participant_mask: bits(4), + core_identity: PTOModelCoreIdentity, + invocation_identity: integer, + origin: MemoryEventOrigin, + source_acr: AccessControlRing, + producer_site: Word, + start_instruction: bits(64), + operation_form: bits(7), + operation_selector: bits(10), + operation_ordinal: integer, + next_operation_ordinal: integer, + actual_pe_owned: boolean, parent_size_code: integer {0..12}, parent_cell_count: integer {0..8192}, covered_cells: bits(8192), ready_cells: bits(8192), arrived_participants: bits(4), + released_participants: bits(4), + arrival_request_tokens: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, + arrival_program_orders: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, @@ -274,6 +288,11 @@ type BundleRangeModifier of record { offset: Word, init: boolean, last: boolean, + shared_request_identity_valid: boolean, + shared_request_waiting: boolean, + shared_request_squashed: boolean, + shared_request_execution_domain: integer, + shared_request_operation_ordinal: integer, derived: BundleSubviewDescriptor, materialized: boolean, materialized_index: TileIndex diff --git a/asl/scalar/model/agu/memory.asl b/asl/scalar/model/agu/memory.asl index 6f317266f..12caa9738 100644 --- a/asl/scalar/model/agu/memory.asl +++ b/asl/scalar/model/agu/memory.asl @@ -12,6 +12,43 @@ begin right_start < left_start + left_size; end; +pure func ReservationGranuleAddressFor(address: Word) => Word +begin + return address - NaturalToWord( + (UInt(address) MOD PTO_RESERVATION_GRANULE_BYTES) as + integer {0..262144}); +end; + +func InvalidateReservationsForGMWrite(address: Word, + size_bytes: integer {0..262144}) +begin + if size_bytes == 0 then return; end; + if _ReservationValid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(_ReservationAddress), + PTO_RESERVATION_GRANULE_BYTES) then + _ReservationValid = FALSE; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let saved = _PEExecutionContexts[[core]][[pe]]; + if saved.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(saved.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + end; + end; + end; + let default_context = _DefaultPEExecutionContext; + if default_context.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(default_context.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; +end; + readonly func ReservationGranuleAddress() => Word begin return _ReservationAddress - NaturalToWord( @@ -159,12 +196,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[[byte_index]]); end; - if _ReservationValid && - RangesOverlap(original_address, 64, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, 64); end; func StoreTranslatedBytesBounded(original_address: Word, @@ -179,12 +211,7 @@ begin WriteMemoryByte(byte_address, value[[byte_index]]); end; end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslatedFillModelBounded( @@ -199,12 +226,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value); end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslated(original_address: Word, translated_address: Word, @@ -215,12 +237,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[(byte_index * 8) +: 8]); end; - if _ReservationValid && - RangesOverlap(original_address, size_bytes, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, size_bytes); end; func LoadWithOrder(address: Word, size_bytes: integer {1,2,4,8}, diff --git a/asl/scalar/model/dispatch/decode.asl b/asl/scalar/model/dispatch/decode.asl index 449546c9c..542772a82 100644 --- a/asl/scalar/model/dispatch/decode.asl +++ b/asl/scalar/model/dispatch/decode.asl @@ -14,7 +14,8 @@ type ScalarExecutionStatus of enumeration { ScalarExecution_Executed, - ScalarExecution_Rejected + ScalarExecution_Rejected, + ScalarExecution_Blocked }; pure func ScalarHandlerWritesTPC(handler: ScalarSemanticHandler) => boolean diff --git a/asl/scalar/model/dispatch/sys.asl b/asl/scalar/model/dispatch/sys.asl index 2d4050488..813c23f1e 100644 --- a/asl/scalar/model/dispatch/sys.asl +++ b/asl/scalar/model/dispatch/sys.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-SYNC-CORE","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} func ExecuteDecodedSYSForm(instruction: bits(48), form: integer {0..PTO_SCALAR_FORM_COUNT-1}) begin @@ -83,6 +83,7 @@ begin ScalarDecodedBits4(instruction, form, ScalarField_PRED_IMM), ScalarDecodedBits4(instruction, form, ScalarField_SUCC_IMM)); when ScalarOperation_FENCE_I => FenceInstruction(); + when ScalarOperation_SYNC_CORE => ExecuteSyncCore(); when ScalarOperation_C_SSRGET => ExecuteCompressedSystemRegisterGet( diff --git a/asl/scalar/model/dispatch/top-level.asl b/asl/scalar/model/dispatch/top-level.asl index 8f9941484..f64ac6b56 100644 --- a/asl/scalar/model/dispatch/top-level.asl +++ b/asl/scalar/model/dispatch/top-level.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-FSU"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-FSU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-SYNC-CORE"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} // NDF-BEGIN: PTO-REQ-SCALAR-BODY-ENTRY-001 // ndf: kind=contract level=L1 layer=scalar status=accepted @@ -21,6 +21,10 @@ begin end; let form = decoded as integer {0..PTO_SCALAR_FORM_COUNT-1}; let operation = ScalarOperationOfForm(form); + if operation == ScalarOperation_SYNC_CORE && + !PreflightSyncCoreEnvelope(instruction, form, length_bits) then + return ScalarExecution_Rejected; + end; if BundleIsActive() && !BundleBodyIsActive() then EnterBundleBody(); end; @@ -40,6 +44,60 @@ begin SetFault(Fault_IllegalInstruction, ReadPC()); return ScalarExecution_Rejected; end; + var tracks_gm = FALSE; + var request_class = GMRequest_Scalar; + var gm_address = Zeros{PTO_XLEN}; + var gm_order = MemoryOrder_Relaxed; + if ScalarFamilyOfForm(form) == ScalarSemantic_AGU then + tracks_gm = TRUE; + let action = ScalarAGUActionOfForm(form); + let address_kind = ScalarAGUAddressKindOfForm(form); + let update_mode = ScalarAGUUpdateModeOfForm(form); + let base = ScalarDecodedAGUBase(instruction, form, action, + address_kind); + let offset = ScalarDecodedAGUOffset(instruction, form, + address_kind); + gm_address = if update_mode == AddressUpdate_PostIndex then base + else base + offset; + if action == ScalarAGU_Prefetch then + request_class = GMRequest_Prefetch; + end; + elsif ScalarFamilyOfForm(form) == ScalarSemantic_AMO then + tracks_gm = TRUE; + request_class = GMRequest_Atomic; + gm_order = ScalarDecodedMemoryOrder(instruction, form); + if operation == ScalarOperation_DMA then + gm_address = ReadDecodedScalarRegister(instruction, form, + ScalarField_SrcL); + else + gm_address = ScalarDecodedAtomicAddress(instruction, form, + ScalarField_SrcL); + end; + end; + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + let tracks_kernel_gm = tracks_gm && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_kernel_gm then + obligation_slot = RegisterKernelGMObligation(request_class, + _CurrentEncodedInstruction, ReadPC(), _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, + 0 as TileIndex, Zeros{PTO_XLEN}, _Tiles[[0]], + _BundleExecutionMask, gm_address, Zeros{PTO_XLEN}, gm_order, + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; case ScalarFamilyOfForm(form) of when ScalarSemantic_AGU => ExecuteDecodedAGUForm(instruction, form); when ScalarSemantic_ALU => ExecuteDecodedALUForm(instruction, form); @@ -49,9 +107,22 @@ begin when ScalarSemantic_SYS => ExecuteDecodedSYSForm(instruction, form); otherwise => unreachable; end; + if tracks_kernel_gm then + if _LastFault == Fault_None then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + else + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + end; + end; if _LastFault != Fault_None then return ScalarExecution_Rejected; end; + if _ScalarExecutionBlocked then + return ScalarExecution_Blocked; + end; if !ScalarHandlerWritesTPC(ScalarHandlerOfForm(form)) then WriteTPC(ReadTPC() + NaturalToWord(length_bits DIV 8)); end; diff --git a/asl/scalar/model/sys/semantics.asl b/asl/scalar/model/sys/semantics.asl index 6b4d9cd2d..619e38c55 100644 --- a/asl/scalar/model/sys/semantics.asl +++ b/asl/scalar/model/sys/semantics.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-SCALAR-MODEL-AMO-SEMANTICS","PTO-BLOCK-MODEL-STATE-BARG"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-STATE-BARG","PTO-SCALAR-MODEL-AMO-SEMANTICS"]} // PTO-REQ-SCALAR-SYS-001, PTO-REQ-MEMORY-RC-001: PTO base SSR access, // architectural time, and data/instruction fences. @@ -19,6 +19,10 @@ func BeginArchitecturalInstructionAttempt() begin _LastFault = Fault_None; _FaultAddress = Zeros{PTO_XLEN}; + _ScalarExecutionBlocked = FALSE; + _CurrentProgramOrder = _CurrentProgramOrder + 1; + _PEProgramOrder[[_CurrentModelCore]][[_CurrentMemoryAgent]] = + _CurrentProgramOrder; AdvanceArchitecturalTime(); end; @@ -239,6 +243,7 @@ begin ScalarOperation_DC_IVA, ScalarOperation_DC_ZVA, ScalarOperation_EBREAK, ScalarOperation_FENCE_D, ScalarOperation_FENCE_I, + ScalarOperation_SYNC_CORE, ScalarOperation_HL_SSRGET, ScalarOperation_HL_SSRSET, ScalarOperation_IC_IALL, ScalarOperation_IC_IVA, ScalarOperation_SSRGET, ScalarOperation_SSRSET, diff --git a/asl/scalar/sys/SYNC.CORE.asl b/asl/scalar/sys/SYNC.CORE.asl new file mode 100644 index 000000000..382acb14f --- /dev/null +++ b/asl/scalar/sys/SYNC.CORE.asl @@ -0,0 +1,141 @@ +// PTO-INSTRUCTION: {"assembly":["sync.core"],"block":[],"catalog_indices":[466],"catalog_records":[{"asm":"sync.core","constraints":[],"encoding":[{"index":0,"mask":"0xffffffff","match":"0x0330a02b","width_bits":32}],"encoding_kind":"L32","fields":[],"length_bits":32,"mnemonic":"SYNC.CORE","semantic_family":"SYS","semantic_group":"SYS","semantic_handler":"SyncCore","semantic_summary":"Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations.","status":"accepted","form_id":"sync_core_32_0330a02b7c32"}],"classification":["sys"],"contract":{"block_composition":["The only canonical body is BSTART.SYS FALL, sync.core, BSTOP."],"canonical_assembly":["sync.core"],"defaults":["SYNC.CORE has no operands and includes PE0, PE1, PE2, and PE3."],"encoding_class":"standalone-encoded","examples":["sync.core"],"exceptions":["The complete SYS envelope is validated before collective arrival. Wrong block composition raises Fault_BundleControl; a nonmatching instruction encoding raises Fault_IllegalInstruction."],"field_contracts":{},"field_zero_meanings":{},"legality":["Only the exact 32-bit word 0x0330a02b decodes as SYNC.CORE. The active bundle must be a Fallthrough SYS block with exactly one SYNC.CORE body operation and a required BSTOP."],"memory_effects":["Completion orders earlier qualifying GM operations before later qualifying GM operations for every participant pair, after those earlier operations reach their existing completion and visibility point."],"operands":[],"ordering":["A PE parks at SYNC.CORE until all four PEs have irrevocably arrived at the same static instruction in the same dynamic order and invocation and every earlier GM obligation has completed. Arrival cannot be irrevocable while older work may still fault or require recovery."],"standalone_opcode":true,"state_effects":["A blocked PE does not advance its PC. On completion, the barrier generation is retained until each parked PE consumes its release once, and each participant's current local reservation is invalidated."]},"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-MEMORY-MODEL-INSTRUCTION-FETCH","PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-TILE-MODEL-MEMORY-LOAD-STORE"],"id":"PTO-SCALAR-SYNC-CORE","mnemonic":"SYNC.CORE","summary":"Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations.","surface":"scalar"} +// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]} +// NDF-BEGIN: PTO-SYNC-CORE-DECISION-BINDING-001 +// ndf: kind=contract level=L1 layer=scalar status=accepted +// SYNC.CORE MUST implement the exact operand-free L32 encoding, legal SYS +// envelope, four-participant Core-local phase rendezvous, irrevocable arrival, +// prior GM obligation completion, cross-agent memory ordering, retained +// once-only release, reservation invalidation, and fault/recovery boundaries +// defined by this owner and its referenced state and memory contracts. +// NDF-END: PTO-SYNC-CORE-DECISION-BINDING-001 +// DOC-BEGIN: decode +readonly func InstructionContractOperation_SYNC_CORE() => ScalarOperation +begin + return ScalarOperation_SYNC_CORE; +end; +// DOC-END: decode +// DOC-BEGIN: operation +readonly func InstructionContractHandler_SYNC_CORE() => ScalarSemanticHandler +begin + return ScalarHandler_SyncCore; +end; + +pure func InstructionContractRequiresSystemBlock_SYNC_CORE() => boolean +begin + return TRUE; +end; + +func ExecuteSyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !VerificationGMProgressIsDeferred() then + ProgressKernelGMObligationsForCore(_CurrentModelCore, + _CurrentKernelInvocation); + end; + if _LastFault != Fault_None then return; end; + SyncCore(); +end; + +pure func InstructionContractParticipantCount_SYNC_CORE() => integer {4} +begin + return 4; +end; + +pure func InstructionContractExactMatch_SYNC_CORE() => bits(32) +begin + return '00000011001100001010000000101011'; +end; + +pure func InstructionContractExactMask_SYNC_CORE() => bits(32) +begin + return Ones{32}; +end; +// DOC-END: operation + +func PreflightSyncCoreEnvelope(instruction: bits(48), + form: integer {0..PTO_SCALAR_FORM_COUNT-1}, + length_bits: integer {16,32,48}) + => boolean +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 || length_bits != 32 || + !_BundleActive || _BARG.block_type != BundleKind_System || + _BARG.transfer_type != BundleTransfer_Fallthrough || + _BARG.taken || _BARG.bpcn != Zeros{PTO_XLEN} || + ReadTPC() != ReadBPC() + NaturalToWord(4) || + _BundleSequentialPC != ReadTPC() then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if instruction[31:0] != InstructionContractExactMatch_SYNC_CORE() then + SetFault(Fault_IllegalInstruction, ReadTPC()); + return FALSE; + end; + + let start_pc = ReadBPC(); + let start_probe = ProbeInstructionAccess(start_pc, 4); + if !start_probe.permitted then + SetFault(Fault_InstructionPage, start_pc); + return FALSE; + end; + let start_instruction = FetchPTOInstruction(start_probe, 32); + let start_form = DecodeCommandForm(start_instruction, 32); + if start_form == PTO_COMMAND_FORM_COUNT || + CommandHandlerOfForm(start_form as + integer {0..PTO_COMMAND_FORM_COUNT-1}) != + CommandHandler_ExecuteBundleStart || + CommandBundleKindOfForm(start_form as + integer {0..PTO_COMMAND_FORM_COUNT-1}) != BundleKind_System || + CommandBundleTransferOfForm(start_form as + integer {0..PTO_COMMAND_FORM_COUNT-1}) != + BundleTransfer_Fallthrough || + !CommandFormOperandsLegal(start_instruction, + start_form as integer {0..PTO_COMMAND_FORM_COUNT-1}) then + SetFault(Fault_BundleControl, start_pc); + return FALSE; + end; + + let stop_pc = ReadTPC() + NaturalToWord(4); + let stop_probe = ProbeInstructionAccess(stop_pc, 4); + if !stop_probe.permitted then + SetFault(Fault_InstructionPage, stop_pc); + return FALSE; + end; + let stop_instruction = FetchPTOInstruction(stop_probe, 32); + let stop_form = DecodeCommandForm(stop_instruction, 32); + if stop_form == PTO_COMMAND_FORM_COUNT || + CommandHandlerOfForm(stop_form as + integer {0..PTO_COMMAND_FORM_COUNT-1}) != + CommandHandler_ExecuteBundleStop || + stop_instruction[31:0] != '00000000000000000000000000000001' || + !CommandFormOperandsLegal(stop_instruction, + stop_form as integer {0..PTO_COMMAND_FORM_COUNT-1}) then + SetFault(Fault_BundleControl, stop_pc); + return FALSE; + end; + + let continuation = stop_pc + NaturalToWord(4); + if continuation[0] == '1' || + BARGCommitPC(continuation)[0] == '1' then + SetFault(Fault_InstructionPC, continuation); + return FALSE; + end; + let continuation_probe = ProbeInstructionAccess(continuation, 2); + if !continuation_probe.permitted then + SetFault(Fault_InstructionPage, continuation); + return FALSE; + end; + return TRUE; +end; diff --git a/asl/tile/memory-and-data-movement/regular/TLOAD.asl b/asl/tile/memory-and-data-movement/regular/TLOAD.asl index a975abebb..e059eb46c 100644 --- a/asl/tile/memory-and-data-movement/regular/TLOAD.asl +++ b/asl/tile/memory-and-data-movement/regular/TLOAD.asl @@ -6,9 +6,13 @@ // byte row stride, MUST distinguish omission from encoded zero, and MUST stop // at the first memory fault. Reads completed before that fault MAY remain in a // partially defined Local destination or Shared generation; only a successful -// complete request may publish whole-tile readiness. One Shared issuer loads -// the whole parent; a multi-PE producer uses B.ASSEMBLE and explicit writer -// ranges rather than implicit PE_MASK quarters. +// complete request may publish whole-tile readiness. One Shared issuer reads +// the whole valid GM parent, including when B.ASSEMBLE is present. In a +// multi-PE Shared B.ASSEMBLE, each encoded participant reads the per-PE source +// range assigned by the existing GM mapping, while PE_MASK retains the full +// collective mask. B.ASSEMBLE offset and size select only the destination +// writer range; they MUST NOT narrow or remap the TLOAD GM source range. +// Effects MUST NOT be manufactured for another PE from its private GPR inputs. // NDF-END: PTO-TLOAD-MEMORY-001 // NDF-BEGIN: PTO-TLOAD-CUBE-001 // ndf: kind=contract level=L1 layer=tile status=accepted diff --git a/asl/tile/model/memory/load-store.asl b/asl/tile/model/memory/load-store.asl index 5fc692f96..c29ad3abf 100644 --- a/asl/tile/model/memory/load-store.asl +++ b/asl/tile/model/memory/load-store.asl @@ -1,4 +1,4 @@ -// 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","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA"]} +// PTO-UNIT: {"id":"PTO-TILE-MODEL-MEMORY-LOAD-STORE","surface":"tile","classification":["model","memory","load-store"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA","PTO-TILE-MODEL-MEMORY-STRIDE"]} pure func DecodeTileMemoryElementRaw(raw: Word, data_type: TileDataType, high_nibble: boolean) => Word @@ -146,6 +146,139 @@ begin CompleteMemoryReplay(); end; +readonly func TileStoreSourceGeneration(source: TileIndex) => Word +begin + let slot = BundleLocalGenerationSlotForSource(source); + if slot < 64 && _LocalGenerations[[slot]].generation_identity_valid then + return _LocalGenerations[[slot]].generation_instance; + end; + return Zeros{PTO_XLEN}; +end; + +readonly func TileStoreHasActiveElements(tile: TileInfo, + execution_mask: + BundleExecutionMaskBinding) + => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then return TRUE; end; + end; + end; + return FALSE; +end; + +func TileStoreFootprintIsValidated(tile: TileInfo, + base_address: Word, row_stride_bytes: Word, + execution_mask: BundleExecutionMaskBinding) => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + 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 probe.fault != Fault_None then return FALSE; end; + end; + end; + end; + return TRUE; +end; + +type TileStoreProgressResult of enumeration { + TileStoreProgress_Faulted, + TileStoreProgress_Pending, + TileStoreProgress_Completed +}; + +func ExecuteTileStoreSnapshotProgress(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + start_element: integer {0..32768}, + beat_budget: integer {0..32768}, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => TileStoreProgressResult +begin + BeginMemoryReplay(request_pc); + var committed_beats : integer {0..32768} = 0; + var next_element = start_element; + var progress_budget_reached = FALSE; + var logical_element : integer {0..32768} = 0; + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if logical_element >= start_element && + !progress_budget_reached && + BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + if beat_budget != 0 && committed_beats >= beat_budget then + progress_budget_reached = TRUE; + else + 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 + FlushMemoryReplay(); + return TileStoreProgress_Faulted; + end; + let translated = probe.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, + memory_order); + CommitMemoryReplayEffect(); + next_element = (logical_element + 1) + as integer {0..32768}; + committed_beats = (committed_beats + 1) + as integer {0..32768}; + if tracked then + _GMObligations[[core]][[pe]][[obligation_slot]] + .progress_element = next_element; + MarkGMObligationIrrevocable(core, pe, + obligation_slot); + end; + if beat_budget != 0 && + committed_beats >= beat_budget then + progress_budget_reached = TRUE; + end; + end; + end; + logical_element = (logical_element + 1) + as integer {0..32768}; + end; + end; + CompleteMemoryReplay(); + return if progress_budget_reached && next_element < logical_element then + TileStoreProgress_Pending else TileStoreProgress_Completed; +end; + +func ExecuteTileStoreSnapshot(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => boolean +begin + let result = ExecuteTileStoreSnapshotProgress(tile, base_address, + row_stride_bytes, request_pc, memory_order, 0, 0, tracked, core, pe, + obligation_slot); + return result == TileStoreProgress_Completed; +end; + func TSTORE(base_address: Word, row_stride_bytes: Word, source: TileIndex) begin let tile = _Tiles[[source]]; @@ -158,34 +291,141 @@ begin if TileLayoutIsCube(tile.layout) then assert TileCubeDescriptorLegal(tile); end; - BeginMemoryReplay(ReadBPC()); - for row = 0 to tile.valid_rows - 1 looplimit 65536 do - for column = 0 to tile.valid_columns - 1 looplimit 65536 do - if BundleExecutionMaskActiveAt( - tile.layout, row as integer {0..65535}, - column as integer {0..65535}) then - 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 - FlushMemoryReplay(); - return; - end; - let translated = probe.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()); - CommitMemoryReplayEffect(); + let request_pc = ReadBPC(); + let order = CurrentBundleMemoryOrder(); + let tracked = _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0 && + TileStoreHasActiveElements(tile, _BundleExecutionMask); + if !tracked then + let completed = ExecuteTileStoreSnapshot(tile, + base_address, row_stride_bytes, + request_pc, order, FALSE, _CurrentModelCore, + _CurrentMemoryAgent, 0 as GMObligationIndex); + return; + end; + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let slot = RegisterKernelGMObligation(GMRequest_Tile, + _BundleStartEncodedInstruction, request_pc, _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + TileStoreSourceGeneration(source), tile, _BundleExecutionMask, + base_address, row_stride_bytes, order, TRUE, FALSE, FALSE, + FALSE, TRUE); + if VerificationGMProgressIsDeferred() && + TileStoreFootprintIsValidated(tile, base_address, row_stride_bytes, + _BundleExecutionMask) then + ResolveGMObligationFaultRisk(core, pe, slot); + MarkGMObligationCapturedTStoreProgress(core, pe, slot); + return; + end; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + IssueGMObligation(core, pe, slot); + if ExecuteTileStoreSnapshot(tile, base_address, row_stride_bytes, + request_pc, order, TRUE, core, pe, slot) then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + else + FaultGMObligation(core, pe, slot); + end; +end; + +func ProgressKernelGMObligationsForCore(core: PTOModelCoreIdentity, + invocation: integer) +begin + if VerificationGMProgressIsDeferred() then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + let original_invocation = _CurrentKernelInvocation; + let original_history_override_valid = + _MemoryEventCollectiveHistoryOverrideValid; + let original_history_override = _MemoryEventCollectiveHistoryOverride; + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + for slot_number = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let slot = slot_number as GMObligationIndex; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.captured_tstore_progress && + obligation.request_class == GMRequest_Tile && + (obligation.state == GMObligation_Validated || + obligation.state == GMObligation_Issued) then + SelectExecutionContext(core, pe); + SaveSelectedPEExecutionContext(); + var request_context = + _PEExecutionContexts[[core]][[pe]]; + _CurrentKernelInvocation = obligation.invocation; + _CurrentProgramOrder = obligation.submission_order; + _CurrentCollectiveEpoch = obligation.collective_epoch; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _MemoryEventCollectiveHistoryOverrideValid = TRUE; + _MemoryEventCollectiveHistoryOverride = + obligation.collective_history_sequence; + _CurrentEncodedInstruction = obligation.encoded_request; + _BundleStartEncodedInstruction = obligation.encoded_request; + _BundleArgument = obligation.bundle_argument; + _BundleOperation = obligation.descriptor; + _BundleTileBindings = obligation.bundle_tile_bindings; + _BundleScalarBindings = obligation.bundle_scalar_bindings; + _BundleSharedBindings = obligation.bundle_shared_bindings; + _BundleDimensions = obligation.bundle_dimensions; + _BundleExecutionMask = obligation.execution_mask; + _BPC = obligation.instruction_pc; + SetCurrentACR(obligation.submission_acr); + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + if obligation.state == GMObligation_Validated then + IssueGMObligation(core, pe, slot); + end; + let result = ExecuteTileStoreSnapshotProgress( + obligation.source_snapshot, + obligation.base_address, + obligation.row_stride_bytes, + obligation.instruction_pc, + obligation.memory_order, + obligation.progress_element, + _VerificationGMProgressBeatBudget, + TRUE, core, pe, slot); + if result == TileStoreProgress_Completed then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + elsif result == TileStoreProgress_Faulted then + FaultGMObligation(core, pe, slot); + end; + if _LastFault == Fault_None then + // The scheduler temporarily installed the captured + // request. Restore the owner's live kernel/parked/handler + // context, while carrying forward reservation invalidation + // caused by its real GM writes. + request_context.reservation_valid = _ReservationValid; + LoadPEExecutionContext(request_context); + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + end; + _CurrentKernelInvocation = original_invocation; + else + // A real service fault belongs to the captured request + // owner. Persist its trap/restart state before restoring + // the caller's selected context. + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + _CurrentKernelInvocation = original_invocation; + end; + end; + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = + original_history_override; end; end; end; - CompleteMemoryReplay(); + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = original_history_override; + _CurrentKernelInvocation = original_invocation; end; diff --git a/asl/tile/model/memory/shared-movement.asl b/asl/tile/model/memory/shared-movement.asl index e57dcec13..d37a57c62 100644 --- a/asl/tile/model/memory/shared-movement.asl +++ b/asl/tile/model/memory/shared-movement.asl @@ -121,6 +121,40 @@ begin return; end; let single_issuer = PEMaskPopulation(pe_mask) == 1; + let actual_pe_assembly = _CurrentPEContextValid && + _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble.init; + var range_payload_elements: integer {0..524288} = 0; + var actual_pe_source_offset_elements: integer {0..524287} = 0; + if actual_pe_assembly then + let assemble = _BundleSharedBindings[[0]].destination_assemble; + let writer_size = assemble.size_code as integer {1..12}; + let writer_cells = ((TileSizeCodeBytes(writer_size) DIVRM + PTO_TILE_CELL_BYTES) * 4) as integer {4..8192}; + let element_bits = TileElementBits(data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + range_payload_elements = if single_issuer then + TileLogicalElementCapacity(tile.capacity_bytes, tile.data_type) + else writer_payload_elements; + // The PE's logical source stripe follows the retained PE_MASK shape. + // B.ASSEMBLE.offset is a destination range and is applied later by the + // Shared candidate owner; it does not change which GM elements this PE + // reads or the local index of that source fragment. + let elements_per_pe_region = (TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type) DIVRM 4) + as integer {0..131072}; + // A singleton issuer retains PTO-TLOAD-MEMORY-001's whole-parent + // source range even when it uses B.ASSEMBLE for the destination. + // Only a multi-PE assembly maps each executing PE to its own logical + // source stripe; the explicit B.ASSEMBLE offset remains destination + // range metadata in either case. + actual_pe_source_offset_elements = if single_issuer then 0 else + ((_CurrentMemoryAgent as integer {0..3}) * + elements_per_pe_region) as integer {0..524287}; + end; var single_agent: MemoryAgentId = 0; if single_issuer then for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do @@ -134,6 +168,7 @@ begin // record. Check every participating issuer through the ordinary // translated probe before publishing the complete carrier state. var packed_zero_fast = PackedTileDataTypeIsFourBit(tile.data_type) && + !actual_pe_assembly && !_MemoryEventCaptureEnabled && !SharedTileRecord(shared_tile_id).descriptor_valid && tile.valid_rows == tile.rows && @@ -183,11 +218,24 @@ begin 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 element_index = element as integer {0..524287}; let region = SharedTileElementRegion(tile, element); - let selected = single_issuer || - pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; + let actual_pe = _CurrentMemoryAgent as integer {0..3}; + let in_actual_pe_source_range = !actual_pe_assembly || + (element_index >= actual_pe_source_offset_elements && + element_index < actual_pe_source_offset_elements + + range_payload_elements); + let selected = if _CurrentPEContextValid then + (single_issuer || + (region == actual_pe && + pe_mask[PTOPEMaskBitOfPEIdentity(actual_pe)] == '1')) && + in_actual_pe_source_range + else single_issuer || + pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; if selected then - let agent = if single_issuer then single_agent + let agent = if _CurrentPEContextValid then + _CurrentMemoryAgent + else if single_issuer then single_agent else region as MemoryAgentId; let high_nibble = TileMemoryStridedByteHighNibble( column as integer {0..65535}, tile.data_type); @@ -209,7 +257,11 @@ begin RecordLoadEventForAgent(agent, translated, TileMemoryElementBytes(tile.data_type), raw, CurrentBundleMemoryOrder()); - tile = TileInfoWithLogicalElement(tile, element, + let destination_element = if actual_pe_assembly then + (element_index - actual_pe_source_offset_elements) + as PackedTileElementIndex + else element; + tile = TileInfoWithLogicalElement(tile, destination_element, LoadTileMemoryElement(translated, tile.data_type, high_nibble)); tile.defined_valid_elements = @@ -218,7 +270,7 @@ begin end; end; end; - if single_issuer || pe_mask == '1111' then + if !actual_pe_assembly && (single_issuer || pe_mask == '1111') then tile.defined_valid_elements = (tile.valid_rows * tile.valid_columns) as integer {0..524288}; tile.contents_defined = TRUE; @@ -237,7 +289,13 @@ begin assert tile.allocated; // PE_MASK selects consumer PEs. The first fault stops the request and // stores completed before it remain visible. - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then for row = 0 to tile.valid_rows - 1 looplimit 65536 do @@ -273,7 +331,16 @@ func TMOVSharedToLocalPerPE(destination: TileIndex, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + // A real PE request may materialize all peers' eligible descriptors for + // preflight, but it writes only its own private Local bank. The contextless + // aggregate helper retains its established all-selected batch behavior. + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let source_tile = per_pe_tiles[[agent]]; @@ -306,7 +373,13 @@ func TSTORESharedPerPE(base_addresses: CorePEWords, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let tile = per_pe_tiles[[agent]]; @@ -381,12 +454,9 @@ end; // resolved from the four PE-private peer_tid values. The bundle dispatcher // performs collective readiness and peer-range preflight before this read-old, // write-new local copy. No Shared register or global-memory event is involved. -func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +func GMOVFromSourceTile(destination: TileIndex, source_tile: TileInfo) begin - assert UInt(peer_tid) < 4; - let source_tile = _Tiles[[source]]; - let source_payload = source_tile.payload; - _Tiles[[destination]].payload = source_payload; + _Tiles[[destination]].payload = source_tile.payload; _Tiles[[destination]].defined_elements = source_tile.defined_elements; _Tiles[[destination]].packed_defined_elements = source_tile.packed_defined_elements; @@ -394,3 +464,9 @@ begin source_tile.defined_valid_elements; _Tiles[[destination]].contents_defined = source_tile.contents_defined; end; + +func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +begin + assert UInt(peer_tid) < 4; + GMOVFromSourceTile(destination, _Tiles[[source]]); +end; diff --git a/asl/tile/model/state/feature-map-descriptors.asl b/asl/tile/model/state/feature-map-descriptors.asl index 9843528a9..e8338e900 100644 --- a/asl/tile/model/state/feature-map-descriptors.asl +++ b/asl/tile/model/state/feature-map-descriptors.asl @@ -1,5 +1,5 @@ // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","surface":"tile","classification":["model","state","feature-map-descriptors"],"depends_on":["PTO-TILE-MODEL-STATE-LOCAL-REGISTERS"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} type TileFeatureMapLayout of enumeration { TileFeatureMapLayout_NC1HWC0, @@ -30,8 +30,10 @@ type TileFeatureMapDescriptor of record { transposed: boolean }; -var _TileFeatureMapDescriptors : - array [[PTO_TILE_REGISTER_COUNT]] of TileFeatureMapDescriptor; +type TileFeatureMapDescriptorSnapshot of array [[PTO_TILE_REGISTER_COUNT]] + of TileFeatureMapDescriptor; + +var _TileFeatureMapDescriptors : TileFeatureMapDescriptorSnapshot; readonly func ReadTileFeatureMapDescriptor( index: TileIndex) => TileFeatureMapDescriptor diff --git a/asl/tile/model/state/local-registers.asl b/asl/tile/model/state/local-registers.asl index ca567e297..4b003248b 100644 --- a/asl/tile/model/state/local-registers.asl +++ b/asl/tile/model/state/local-registers.asl @@ -1,10 +1,11 @@ // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","surface":"tile","classification":["model","state","local-registers"],"depends_on":["PTO-TILE-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-TILE-SHARED","classification":["tile","shared"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_SharedTiles"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-TILE-001 // ndf: kind=contract level=L1 layer=tile status=accepted -// Local Tile registers and their allocation masks MUST be the state defined by +// Each Core has four independent PE-owned Local Tile register banks. Local +// Tile registers and their allocation masks MUST be the state defined by // [[PTO-STATE-TILE-LOCAL]]. Each T/U/M/N hand MUST resolve #1 as its newest // published generation and shift older live generations toward #16 whenever // a new destination for that hand publishes. Source generations MUST persist. diff --git a/asl/tile/model/state/shared-registers.asl b/asl/tile/model/state/shared-registers.asl index bbfe14215..f9ded93e3 100644 --- a/asl/tile/model/state/shared-registers.asl +++ b/asl/tile/model/state/shared-registers.asl @@ -6,7 +6,12 @@ // published visibility MUST remain distinct. Every Shared source consumer MUST // wait/no-op before payload access until whole_parent_ready and published are // both true; producer and consumer masks are independent. +// Independently executed direct producers MUST capture actual PE-owned +// fragments under an operation identity and MUST publish only through the +// existing atomic update. A completed Shared initialized_mask MUST NOT be +// reused as contribution state for a later dynamic operation. // NDF-END: PTO-B-SHARED-WHOLE-PARENT-READY-001 + pure func SharedTileArrayIndex(shared_tile_id: SharedTileID) => SharedTileIndex begin return UInt(shared_tile_id) as SharedTileIndex; diff --git a/docs/arch/data-types/memory-model.md b/docs/arch/data-types/memory-model.md index 05c48a9be..37c6bf59b 100644 --- a/docs/arch/data-types/memory-model.md +++ b/docs/arch/data-types/memory-model.md @@ -101,6 +101,11 @@ type MemoryFenceStrength of enumeration { }; type MemoryAgentId of integer {0..PTO_MODEL_MEMORY_AGENTS-1}; +type MemoryEventOrigin of enumeration { + MemoryEventOrigin_NonKernel, + MemoryEventOrigin_Kernel, + MemoryEventOrigin_Handler +}; type MemoryEventIndex of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; type MemoryCoherenceRank of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; @@ -113,8 +118,17 @@ type MemoryEventKind of enumeration { }; type MemoryEvent of record { + active: boolean, + committed: boolean, + replay_epoch: integer, kind: MemoryEventKind, + core_identity: PTOModelCoreIdentity, agent: MemoryAgentId, + origin: MemoryEventOrigin, + invocation: integer, + program_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, address: Word, size_bytes: integer {1,2,4,8}, read_value: Word, @@ -134,7 +148,12 @@ type MemoryReplayState of record { active: boolean, request: Word, committed_event_count: integer {0..PTO_MODEL_MEMORY_EVENTS}, - epoch: integer + epoch: integer, + owner_core: PTOModelCoreIdentity, + owner_agent: MemoryAgentId, + owner_origin: MemoryEventOrigin, + owner_invocation: integer, + owner_program_order: integer }; ``` diff --git a/docs/arch/data-types/trap-context.md b/docs/arch/data-types/trap-context.md index 161d0cc48..8de502313 100644 --- a/docs/arch/data-types/trap-context.md +++ b/docs/arch/data-types/trap-context.md @@ -77,6 +77,7 @@ type TrapContext of record { source_acr: AccessControlRing, tpc: Word, bpc: Word, + bundle_start_encoded_instruction: bits(64), core_state: Word, bundle_argument: Word, commit_argument: Word, @@ -103,12 +104,11 @@ type TrapContext of record { bundle_data_attributes_present: boolean, bundle_hint: BundleHintAttributes, bundle_fixed_point_attributes: BundleFixedPointAttributes, - local_generations: LocalGenerationSnapshot, - shared_generations: SharedGenerationSnapshot, bundle_execution_domain_token: integer, memory_copy_template: MemoryCopyTemplateState, frame_template: FrameTemplateState, memory_replay_state: MemoryReplayState, + memory_origin: MemoryEventOrigin, t_queue: TemporaryQueueSnapshot, t_queue_valid: TemporaryQueueValiditySnapshot, u_queue: TemporaryQueueSnapshot, diff --git a/docs/arch/dispatch/top-level.md b/docs/arch/dispatch/top-level.md index 1b8644bc1..656da2e06 100644 --- a/docs/arch/dispatch/top-level.md +++ b/docs/arch/dispatch/top-level.md @@ -95,13 +95,15 @@ For a `16`-bit length the carrier is assembled into a `Zeros{64}` value, so bits type PTOInstructionExecutionStatus of enumeration { PTOInstruction_Executed, - PTOInstruction_Rejected + PTOInstruction_Rejected, + PTOInstruction_Blocked }; func ExecutePTOInstruction(instruction: bits(64), length_bits: integer {16,32,48,64}) => PTOInstructionExecutionStatus begin + _CurrentEncodedInstruction = instruction; if DecodeCommandForm(instruction, length_bits) != PTO_COMMAND_FORM_COUNT then let command_status = ExecuteCommandInstruction(instruction, length_bits); if command_status == CommandExecution_Executed then @@ -114,6 +116,8 @@ begin instruction[47:0], length_bits as integer {16,32,48}); if scalar_status == ScalarExecution_Executed then return PTOInstruction_Executed; + elsif scalar_status == ScalarExecution_Blocked then + return PTOInstruction_Blocked; else return PTOInstruction_Rejected; end; diff --git a/docs/arch/memory-model/fault-precision.md b/docs/arch/memory-model/fault-precision.md index 3fa27f0df..98cf3110e 100644 --- a/docs/arch/memory-model/fault-precision.md +++ b/docs/arch/memory-model/fault-precision.md @@ -92,6 +92,14 @@ Use this example block only as a reading aid: apply the rules above, then confir // elements, or a memory event already admitted before the fault. Recovery // retries from the saved instruction/request template. // NDF-END: PTO-ARCH-MEMORY-MODEL-FLUSH-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// Trap return restores only the interrupted PE's precise instruction and +// Block restart carriers. It MUST NOT rewind shared GM/event history, Core +// synchronization, shared Tile generations, or another PE's cooperative local +// generation progress. An instruction owner performs any required scoped +// abort or squash before saving its restart point. +// NDF-END: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 func BeginMemoryReplay(request: Word) begin @@ -99,11 +107,34 @@ begin _MemoryReplayState.request = request; _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.epoch = _MemoryReplayState.epoch + 1; + _MemoryReplayState.owner_core = _CurrentModelCore; + _MemoryReplayState.owner_agent = _CurrentMemoryAgent; + _MemoryReplayState.owner_origin = _CurrentMemoryOrigin; + _MemoryReplayState.owner_invocation = _CurrentKernelInvocation; + _MemoryReplayState.owner_program_order = _CurrentProgramOrder; end; func CommitMemoryReplayEffect() begin if _MemoryReplayState.active then + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].committed = TRUE; + end; + end; _MemoryReplayState.committed_event_count = _MemoryEventCount; end; end; @@ -111,9 +142,29 @@ end; func FlushMemoryReplay() begin if _MemoryReplayState.active then - // Event records after the last committed effect are speculative and - // are removed. Architectural memory and Tile state are not undone. - _MemoryEventCount = _MemoryReplayState.committed_event_count; + // Event slots are stable because surviving events and saved contexts + // can refer to them through read_from. Deactivate only this owner's + // uncommitted records from this replay epoch; never rewind the shared + // event log or disturb another PE/Core's event references. + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + !_MemoryEvents[[event_index]].committed && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].active = FALSE; + end; + end; _MemoryReplayState.active = FALSE; end; end; @@ -121,6 +172,7 @@ end; func CompleteMemoryReplay() begin if _MemoryReplayState.active then + CommitMemoryReplayEffect(); _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.active = FALSE; end; @@ -139,6 +191,9 @@ begin else TrapTargetForFault(source_ring); if code != Fault_None then SaveTrapContext(ring, source_ring); + // Subsequent event capture belongs to the handler until recovery + // restores the interrupted PE's saved provenance. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; end; _LastFault = code; _FaultAddress = address; @@ -202,6 +257,10 @@ begin _ACRTrapCause[[target_ring]] = ZeroExtend{24}(request_type); _ACRTrapNumber[[target_ring]] = Zeros{6} + 6; _ACRTrapArgument0[[target_ring]] = source_tpc; + // SaveTrapContext records the origin to restore. Once entry succeeds, + // subsequent memory events are handler work and cannot participate in a + // kernel collective. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(target_ring); WriteTPC(TrapVectorEntry(target_ring, source_tpc)); return TRUE; @@ -234,6 +293,9 @@ begin _ACRTrapNumber[[ring]] = Zeros{6} + 44; _ACRTrapArgument0[[ring]] = NaturalToWord(interrupt_id as integer {0..262144}); + // SaveTrapContext preserves the interrupted origin. Establish handler + // provenance only after the enabled interrupt has actually entered. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(ring); WriteTPC(TrapVectorEntry(ring, ReadTPC())); end; diff --git a/docs/arch/memory-model/gm-obligations.md b/docs/arch/memory-model/gm-obligations.md new file mode 100644 index 000000000..520f4b268 --- /dev/null +++ b/docs/arch/memory-model/gm-obligations.md @@ -0,0 +1,417 @@ + +# Gm Obligations + +**Normative ASL source:** `asl/arch/memory-model/gm-obligations.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","surface":"arch","classification":["memory-model","gm-obligations"],"depends_on":["PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-STATE-TYPES"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-OBLIGATIONS","classification":["architecture","memory","gm-obligations"],"scope":"pe","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_GMObligations","_NextGMObligationIdentity"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-PROGRESS-SCHEDULER","classification":["architecture","memory","gm-progress-scheduler"],"scope":"system","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_VerificationGMProgressDeferred","_VerificationGMProgressBeatBudget"],"depends_on":[]} +// NDF-BEGIN: PTO-ARCH-GM-OBLIGATIONS-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A kernel participant's irrevocable collective arrival MUST be withheld while +// an earlier request can still fault or require recovery. Validated but +// incomplete work may remain outstanding after arrival, but it MUST prevent +// collective completion until its actual producer, issue, and completion path +// resolves it. Obligation identity includes Core, PE, invocation, dynamic +// instruction occurrence, and program-order provenance. Wrapper/producer +// registration and retry of one occurrence retain its identity, while a new +// occurrence at the same PC receives a distinct identity. The first +// executable capture binds the ACR and operands of its successful admission +// and remains immutable. +// NDF-END: PTO-ARCH-GM-OBLIGATIONS-001 + +type GMRequestClass of enumeration { + GMRequest_Scalar, + GMRequest_Tile, + GMRequest_TLSU, + GMRequest_Atomic, + GMRequest_Prefetch +}; + +type GMObligationState of enumeration { + GMObligation_Empty, + GMObligation_Submitted, + GMObligation_Validated, + GMObligation_Issued, + GMObligation_Completed, + GMObligation_Faulted, + GMObligation_Cancelled +}; + +type GMObligationIndex of integer {0..PTO_MODEL_GM_OBLIGATIONS-1}; +type GMObligationSlot of record { + active: boolean, + identity: integer, + core_identity: PTOModelCoreIdentity, + agent: MemoryAgentId, + invocation: integer, + instruction_pc: Word, + execution_domain_token: integer, + submission_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, + request_class: GMRequestClass, + encoded_request: bits(64), + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + // Only a validated Local TSTORE snapshot may use the captured progress + // executor. Other fault-capable GM requests remain with their instruction + // owner until the real producer/retry path resolves them. + captured_tstore_progress: boolean, + executable_capture_valid: boolean, + submission_acr: AccessControlRing, + progress_element: integer {0..32768}, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + state: GMObligationState, + irrevocable: boolean, + reversible: boolean +}; +type GMObligationSlots of array [[PTO_MODEL_GM_OBLIGATIONS]] + of GMObligationSlot; +type GMObligationCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of GMObligationSlots; +type GMObligationIdentityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _GMObligations : GMObligationCoreBank; +var _NextGMObligationIdentity : GMObligationIdentityBank; +// Verification scheduling controls only when the ordinary producer/issue +// path runs. Its reset value is immediate progress and it is not an ISA gate. +var _VerificationGMProgressDeferred : boolean; +// Zero means that one progress call may run the complete captured request. +// Positive values bound the number of real tile-memory beats per call. +var _VerificationGMProgressBeatBudget : integer {0..32768}; + +func ResetKernelGMObligations() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _NextGMObligationIdentity[[core]][[pe]] = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + _GMObligations[[core]][[pe]][[slot]].active = FALSE; + _GMObligations[[core]][[pe]][[slot]].identity = 0; + _GMObligations[[core]][[pe]][[slot]].execution_domain_token = 0; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Empty; + end; + end; + end; + _VerificationGMProgressDeferred = FALSE; + _VerificationGMProgressBeatBudget = 0; +end; + +func SetVerificationGMProgressDeferred(deferred: boolean) +begin + _VerificationGMProgressDeferred = deferred; +end; + +func SetVerificationGMProgressBeatBudget(budget: + integer {0..32768}) +begin + _VerificationGMProgressBeatBudget = budget; +end; + +readonly func VerificationGMProgressIsDeferred() => boolean +begin + return _VerificationGMProgressDeferred; +end; + +func RegisterKernelGMObligation( + request_class: GMRequestClass, + encoded_request: bits(64), + instruction_pc: Word, + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + validated: boolean, + issued: boolean, + irrevocable: boolean, + reversible: boolean) => GMObligationIndex +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + var found = FALSE; + var reuse_incomplete = FALSE; + var selected: GMObligationIndex = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let previous = _GMObligations[[core]][[pe]][[slot]]; + if previous.active && previous.invocation == _CurrentKernelInvocation && + previous.instruction_pc == instruction_pc && + previous.execution_domain_token == _BundleExecutionDomainToken && + previous.request_class == request_class && + previous.encoded_request == encoded_request && + previous.state != GMObligation_Completed && + previous.state != GMObligation_Cancelled then + selected = slot as GMObligationIndex; + reuse_incomplete = TRUE; + found = TRUE; + elsif !found && (!previous.active || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Completed || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Cancelled) then + selected = slot as GMObligationIndex; + found = TRUE; + end; + end; + assert found; + let old = _GMObligations[[core]][[pe]][[selected]]; + let identity = if reuse_incomplete then old.identity + else _NextGMObligationIdentity[[core]][[pe]]; + let preserve_capture = reuse_incomplete && + old.executable_capture_valid; + if !reuse_incomplete then + _NextGMObligationIdentity[[core]][[pe]] = identity + 1; + end; + _GMObligations[[core]][[pe]][[selected]] = GMObligationSlot { + active = TRUE, + identity = identity, + core_identity = core, + agent = pe, + invocation = _CurrentKernelInvocation, + instruction_pc = instruction_pc, + execution_domain_token = _BundleExecutionDomainToken, + submission_order = if reuse_incomplete then old.submission_order + else _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = if reuse_incomplete then + old.collective_history_sequence + else _CoreCollectiveHistorySequence[[core]], + request_class = if preserve_capture then old.request_class + else request_class, + encoded_request = if preserve_capture then old.encoded_request + else encoded_request, + descriptor = if preserve_capture then old.descriptor else descriptor, + bundle_argument = if preserve_capture then old.bundle_argument + else bundle_argument, + bundle_tile_bindings = if preserve_capture then old.bundle_tile_bindings + else bundle_tile_bindings, + bundle_scalar_bindings = if preserve_capture then old.bundle_scalar_bindings + else bundle_scalar_bindings, + bundle_shared_bindings = if preserve_capture then old.bundle_shared_bindings + else bundle_shared_bindings, + bundle_dimensions = if preserve_capture then old.bundle_dimensions + else bundle_dimensions, + source_tile = if preserve_capture then old.source_tile else source_tile, + source_generation = if preserve_capture then old.source_generation + else source_generation, + source_snapshot = if preserve_capture then old.source_snapshot + else source_snapshot, + captured_tstore_progress = if reuse_incomplete then + old.captured_tstore_progress else FALSE, + executable_capture_valid = if reuse_incomplete then + old.executable_capture_valid else FALSE, + submission_acr = if preserve_capture then old.submission_acr + else CurrentACR(), + progress_element = if reuse_incomplete then old.progress_element else 0, + execution_mask = if preserve_capture then old.execution_mask + else execution_mask, + base_address = if preserve_capture then old.base_address + else base_address, + row_stride_bytes = if preserve_capture then old.row_stride_bytes + else row_stride_bytes, + memory_order = if preserve_capture then old.memory_order + else memory_order, + may_fault = may_fault, + state = if issued then GMObligation_Issued + else if validated then GMObligation_Validated + else GMObligation_Submitted, + irrevocable = if reuse_incomplete then old.irrevocable else irrevocable, + reversible = if reuse_incomplete then old.reversible else reversible + }; + return selected; +end; + +func MarkGMObligationCapturedTStoreProgress(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].captured_tstore_progress = TRUE; + end; +end; + +func UpdateGMObligationState(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + state: GMObligationState) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].state = state; + end; +end; + +func ValidateGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Validated); +end; + +func IssueGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Issued); +end; + +func MarkGMObligationIrrevocable(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].irrevocable = TRUE; + _GMObligations[[core]][[pe]][[slot]].reversible = FALSE; + end; +end; + +func CompleteGMObligationForIdentity(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + invocation: integer, + identity: integer) +begin + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.identity == identity then + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + UpdateGMObligationState(core, pe, slot, GMObligation_Completed); + end; +end; + +func FaultGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Faulted); +end; + +func RetryGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Submitted); +end; + +func ResolveGMObligationFaultRisk(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + if !_GMObligations[[core]][[pe]][[slot]].executable_capture_valid then + // This real producer check follows complete request-footprint + // validation. Failed attempts keep their occurrence identity but + // may retry under a recovered CurrentACR. + _GMObligations[[core]][[pe]][[slot]].submission_acr = _CurrentACR; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = TRUE; + end; + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = GMObligation_Validated; + end; +end; + +readonly func CoreGMObligationsPermitArrival(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut then + if obligation.state == GMObligation_Faulted || + (obligation.may_fault && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled) then + return FALSE; + end; + end; + end; + return TRUE; +end; + +readonly func CoreGMObligationsComplete(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) + => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut && + obligation.state != GMObligation_Completed then + return FALSE; + end; + end; + return TRUE; +end; + +readonly func KernelGMObligationsQuiescent(core: PTOModelCoreIdentity, + invocation: integer) => boolean +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled then + return FALSE; + end; + end; + end; + return TRUE; +end; + +func AbortKernelGMObligations(core: PTOModelCoreIdentity, + invocation: integer) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.reversible && !obligation.irrevocable && + obligation.state != GMObligation_Completed then + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Cancelled; + end; + end; + end; +end; +``` + diff --git a/docs/arch/memory-model/memory-events.md b/docs/arch/memory-model/memory-events.md index 92f780928..b83191186 100644 --- a/docs/arch/memory-model/memory-events.md +++ b/docs/arch/memory-model/memory-events.md @@ -77,7 +77,7 @@ Use this example block only as a reading aid: apply the rules above, then confir ```asl -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE","PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT"]} // PTO-REQ-MEMORY-RC-001: bounded executable candidate-execution checker for // PTO relaxed consistency with preserved Store->Store order. The event bound // is verification infrastructure, not an architectural limit on agents or @@ -114,14 +114,15 @@ Use this example block only as a reading aid: apply the rules above, then confir pure func MemoryEventIsRead(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic; + return event.active && + (event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic); end; pure func MemoryEventIsWrite(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_InitialWrite || + return event.active && (event.kind == MemoryEvent_InitialWrite || event.kind == MemoryEvent_Store || - (event.kind == MemoryEvent_Atomic && event.write_performed); + (event.kind == MemoryEvent_Atomic && event.write_performed)); end; pure func MemoryEventIsAccess(event: MemoryEvent) => boolean @@ -129,6 +130,13 @@ begin return MemoryEventIsRead(event) || MemoryEventIsWrite(event); end; +pure func MemoryEventsSameAgent(left: MemoryEvent, + right: MemoryEvent) => boolean +begin + return left.core_identity == right.core_identity && + left.agent == right.agent; +end; + pure func MemoryEventRangesOverlap(left: MemoryEvent, right: MemoryEvent) => boolean begin @@ -186,7 +194,9 @@ end; // Production event extraction is an explicit verification mode because the // bounded event array is model-checking infrastructure, not an architectural // execution limit. Manual candidate construction remains available while -// capture is disabled. +// capture is disabled. Captured events retain the Core's completed collective +// sequence at request submission; this immutable stamp carries established +// relation history beyond reusable active generation records. func StartMemoryEventCapture(agent: MemoryAgentId) begin ResetMemoryExecution(); @@ -208,7 +218,32 @@ func AddMemoryEvent(event: MemoryEvent) => MemoryEventIndex begin assert _MemoryEventCount < PTO_MODEL_MEMORY_EVENTS; let index = _MemoryEventCount as MemoryEventIndex; - _MemoryEvents[[index]] = event; + var captured = event; + if event.kind != MemoryEvent_InitialWrite then + captured.core_identity = _CurrentModelCore; + captured.origin = _CurrentMemoryOrigin; + captured.invocation = _CurrentKernelInvocation; + captured.program_order = _CurrentProgramOrder; + captured.collective_epoch = _CurrentCollectiveEpoch; + captured.collective_history_sequence = + if _MemoryEventCollectiveHistoryOverrideValid then + _MemoryEventCollectiveHistoryOverride + else _CoreCollectiveHistorySequence[[captured.core_identity]]; + end; + captured.active = TRUE; + captured.committed = TRUE; + captured.replay_epoch = 0; + if event.kind != MemoryEvent_InitialWrite && + _MemoryReplayState.active && + _MemoryReplayState.owner_core == captured.core_identity && + _MemoryReplayState.owner_agent == captured.agent && + _MemoryReplayState.owner_origin == captured.origin && + _MemoryReplayState.owner_invocation == captured.invocation && + _MemoryReplayState.owner_program_order == captured.program_order then + captured.committed = FALSE; + captured.replay_epoch = _MemoryReplayState.epoch; + end; + _MemoryEvents[[index]] = captured; _MemoryEventCount = (_MemoryEventCount + 1) as integer {0..PTO_MODEL_MEMORY_EVENTS}; return index; @@ -218,8 +253,17 @@ func AddInitialWriteEvent(address: Word, size_bytes: integer {1,2,4,8}, value: Word) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_InitialWrite, + core_identity = 0, agent = 0, + origin = MemoryEventOrigin_NonKernel, + invocation = 0, + program_order = 0, + collective_epoch = 0, + collective_history_sequence = 0, address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -238,8 +282,18 @@ func AddLoadEvent(agent: MemoryAgentId, address: Word, order: MemoryOrder) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Load, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(value, size_bytes), @@ -259,8 +313,18 @@ func AddStoreEvent(agent: MemoryAgentId, address: Word, => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Store, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -290,8 +354,18 @@ func AddAtomicOutcomeEvent(agent: MemoryAgentId, address: Word, write_performed: boolean) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Atomic, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(read_value, size_bytes), @@ -309,8 +383,18 @@ func AddDataFenceEvent(agent: MemoryAgentId, predecessor: bits(4), successor: bits(4)) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Fence, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = Zeros{PTO_XLEN}, size_bytes = 1, read_value = Zeros{PTO_XLEN}, diff --git a/docs/arch/memory-model/ordering.md b/docs/arch/memory-model/ordering.md index 42e247c05..c206912a3 100644 --- a/docs/arch/memory-model/ordering.md +++ b/docs/arch/memory-model/ordering.md @@ -72,7 +72,7 @@ Use this example block only as a reading aid: apply the rules above, then confir ```asl -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY","PTO-ARCH-STATE-CORE-SYNCHRONIZATION"]} // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-SCOPE-001 // ndf: kind=contract level=L1 layer=memory status=accepted // PTO defines one architecture-visible GM domain for scalar, Tile, @@ -80,6 +80,15 @@ Use this example block only as a reading aid: apply the rules above, then confir // caches, coalescers, replay buffers, splitting, and merging are not // architectural state and MUST preserve the result required by PTO-RC. // NDF-END: PTO-ARCH-MEMORY-MODEL-SCOPE-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A completed Core collective orders each participating kernel PE's earlier +// GM events before participating kernel PE events recorded after that +// collective in the same invocation. Handler events, events from another Core, +// and events from another invocation do not acquire this relation. A retained +// event's established collective relation MUST survive active generation +// record reuse and later context or invocation selection. +// NDF-END: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001 // ndf: kind=contract level=L1 layer=memory status=accepted // Every request belongs to Scalar, Tile, IndexedGenerated, or Prefetch. @@ -152,7 +161,8 @@ readonly func MemoryCoherenceBefore(left_index: MemoryEventIndex, begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && + return left.active && right.active && + MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && MemoryEventsShareLocation(left, right) && left.coherence_rank < right.coherence_rank; end; @@ -162,7 +172,8 @@ readonly func MemoryReadsFromBefore(write_index: MemoryEventIndex, begin let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return MemoryEventIsWrite(write) && MemoryEventIsRead(read) && + return write.active && read.active && + MemoryEventIsWrite(write) && MemoryEventIsRead(read) && read.read_from == write_index; end; @@ -173,7 +184,9 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return write.kind == MemoryEvent_InitialWrite || write.agent != read.agent; + return write.active && read.active && + (write.kind == MemoryEvent_InitialWrite || + !MemoryEventsSameAgent(write, read)); end; readonly func MemorySynchronizesWith(write_index: MemoryEventIndex, @@ -182,7 +195,8 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - if write.agent == read.agent then return FALSE; end; + if !write.active || !read.active || + MemoryEventsSameAgent(write, read) then return FALSE; end; let write_release = write.order == MemoryOrder_Release || write.order == MemoryOrder_AcquireRelease; let read_acquire = read.order == MemoryOrder_Acquire || @@ -196,7 +210,8 @@ begin let read = _MemoryEvents[[read_index]]; // An atomic event contains its read and write sides. Its own write is not a // later event in from-read; only a distinct coherence successor is. - if read_index == write_index || !MemoryEventIsRead(read) then return FALSE; end; + if !read.active || read_index == write_index || + !MemoryEventIsRead(read) then return FALSE; end; return MemoryCoherenceBefore(read.read_from, write_index); end; @@ -205,7 +220,8 @@ readonly func MemoryProgramOrderLocationBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return left_index < right_index && left.agent == right.agent && + return left.active && right.active && left_index < right_index && + MemoryEventsSameAgent(left, right) && left.kind != MemoryEvent_InitialWrite && right.kind != MemoryEvent_InitialWrite && MemoryEventIsAccess(left) && MemoryEventIsAccess(right) && @@ -218,11 +234,13 @@ begin if left_index + 1 >= right_index then return FALSE; end; let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active then return FALSE; end; for fence_number = left_index + 1 to right_index - 1 do let fence_index = fence_number as MemoryEventIndex; let fence = _MemoryEvents[[fence_index]]; - if fence.kind == MemoryEvent_Fence && fence.agent == left.agent && - fence.agent == right.agent && + if fence.active && fence.kind == MemoryEvent_Fence && + MemoryEventsSameAgent(fence, left) && + MemoryEventsSameAgent(fence, right) && (MemoryEventClass(left) AND fence.fence_predecessor) != Zeros{4} && (MemoryEventClass(right) AND fence.fence_successor) != Zeros{4} then return TRUE; @@ -236,7 +254,8 @@ readonly func MemoryPreservedProgramOrderBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - if left_index >= right_index || left.agent != right.agent || + if !left.active || !right.active || left_index >= right_index || + !MemoryEventsSameAgent(left, right) || left.kind == MemoryEvent_InitialWrite || right.kind == MemoryEvent_InitialWrite || !MemoryEventIsAccess(left) || !MemoryEventIsAccess(right) then @@ -264,17 +283,18 @@ begin for event_number = 0 to _MemoryEventCount - 1 do let event_index = event_number as MemoryEventIndex; let event = _MemoryEvents[[event_index]]; - if MemoryEventIsAccess(event) then + if event.active && MemoryEventIsAccess(event) then var initial_count: integer = 0; for candidate_number = 0 to _MemoryEventCount - 1 do let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; - if candidate.kind == MemoryEvent_InitialWrite && + if candidate.active && + candidate.kind == MemoryEvent_InitialWrite && MemoryEventsShareLocation(event, candidate) then initial_count = initial_count + 1; end; if candidate_index != event_index && - MemoryEventIsAccess(candidate) && + candidate.active && MemoryEventIsAccess(candidate) && MemoryEventPartialOverlap(event, candidate) then // Mixed-size or partially overlapping candidates require // a byte-level coherence extension and fail closed here. @@ -283,10 +303,11 @@ begin end; if initial_count != 1 then return FALSE; end; end; - if event.kind == MemoryEvent_InitialWrite && event.coherence_rank != 0 then + if event.active && event.kind == MemoryEvent_InitialWrite && + event.coherence_rank != 0 then return FALSE; end; - if MemoryEventIsWrite(event) && + if event.active && MemoryEventIsWrite(event) && event.kind != MemoryEvent_InitialWrite then if event.coherence_rank == 0 then return FALSE; end; var predecessor_found = FALSE; @@ -294,7 +315,7 @@ begin let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; if candidate_index != event_index && - MemoryEventIsWrite(candidate) && + candidate.active && MemoryEventIsWrite(candidate) && MemoryEventsShareLocation(event, candidate) then if candidate.coherence_rank == event.coherence_rank then return FALSE; @@ -306,10 +327,10 @@ begin end; if !predecessor_found then return FALSE; end; end; - if MemoryEventIsRead(event) then + if event.active && MemoryEventIsRead(event) then if event.read_from >= _MemoryEventCount then return FALSE; end; let source = _MemoryEvents[[event.read_from]]; - if !MemoryEventIsWrite(source) || + if !source.active || !MemoryEventIsWrite(source) || !MemoryEventsShareLocation(event, source) || event.read_value != source.write_value then return FALSE; @@ -337,7 +358,8 @@ begin let right = right_number as MemoryEventIndex; var edge = MemoryCoherenceBefore(left, right) || MemoryFromReadBefore(left, right) || - MemorySynchronizesWith(left, right); + MemorySynchronizesWith(left, right) || + MemoryCollectiveSyncBefore(left, right); if uniproc then edge = edge || MemoryProgramOrderLocationBefore(left, right) || MemoryReadsFromBefore(left, right); diff --git a/docs/arch/programming-model/core-pe-topology.md b/docs/arch/programming-model/core-pe-topology.md index afc9f4d1d..bc660e38b 100644 --- a/docs/arch/programming-model/core-pe-topology.md +++ b/docs/arch/programming-model/core-pe-topology.md @@ -87,6 +87,12 @@ constant PTO_TILE_REGISTER_COUNT = 64; constant PTO_SHARED_TILE_COUNT = 64; constant PTO_MODEL_MEMORY_AGENTS = 4; constant PTO_MODEL_MEMORY_EVENTS = 16; +// Finite model inventory for isolation witnesses only. It does not describe +// implementation capacity and does not change the four PE identities. +constant PTO_MODEL_CORE_INSTANCES = 2; +constant PTO_MODEL_SYNC_GENERATIONS = 8; +constant PTO_MODEL_GM_OBLIGATIONS = 16; +type PTOModelCoreIdentity of integer {0..PTO_MODEL_CORE_INSTANCES-1}; // Fixed semantic PE identities are numbered PE0..PE3. The architectural // four-bit mask keeps PE0 in its high bit, so consumers that index a mask by diff --git a/docs/arch/programming-model/execution-context.md b/docs/arch/programming-model/execution-context.md index 0a201533d..692f019dd 100644 --- a/docs/arch/programming-model/execution-context.md +++ b/docs/arch/programming-model/execution-context.md @@ -72,14 +72,18 @@ Pushing `0x33` to U then changes only U index `0`. The T values from the previou ```asl // PTO-UNIT: {"id":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","surface":"arch","classification":["programming-model","execution-context"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-KERNEL-LIFECYCLE","classification":["architecture","kernel-lifecycle"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_KernelInvocationByCore","_NextKernelInvocationIdByCore","_RetiredKernelInvocationByCore","_KernelInvocationActiveByCore","_CurrentKernelInvocation"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-GPR","classification":["architecture","scalar","gpr"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PEGPRs"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"bundle","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_ReservationValid","_ReservationAddress","_ReservationSize","_LastFencePredecessor","_LastFenceSuccessor","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent","_MemoryReplayState"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-MAINTENANCE","classification":["architecture","maintenance"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_DataCacheEpoch","_InstructionCacheEpoch","_BundleCacheEpoch","_TLBEpoch","_LastMaintenanceOperation","_LastMaintenanceOperand","_BundleHintEpoch","_ArchitectureRequestEpoch","_LastControlRequest","_ControlRequestOperand"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-CONTEXT-SELECTION","classification":["architecture","core-context-selection"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentModelCore"],"depends_on":["PTO-STATE-ARCH-CORE-LOCAL-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-PROGRESS","classification":["architecture","pe-execution-progress"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentCollectiveEpoch","_CurrentEncodedInstruction","_CurrentMemoryOrigin","_CurrentProgramOrder","_LastFencePredecessor","_LastFenceSuccessor","_MemoryReplayState","_ReservationAddress","_ReservationSize","_ReservationValid","_ScalarExecutionBlocked"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY-EVENT-OVERRIDE","classification":["architecture","memory-event-override"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_MemoryEventCollectiveHistoryOverrideValid","_MemoryEventCollectiveHistoryOverride"],"depends_on":["PTO-STATE-ARCH-MEMORY"]} // NDF-BEGIN: PTO-REQ-STATE-001 // ndf: kind=contract level=L1 layer=state status=accepted @@ -89,7 +93,8 @@ Pushing `0x33` to U then changes only U index `0`. The T values from the previou // [[PTO-STATE-ARCH-MEMORY]], [[PTO-STATE-ARCH-MAINTENANCE]], // [[PTO-STATE-ARCH-SYSTEM-REGISTERS]], // [[PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS]], and -// [[PTO-STATE-ARCH-TRAP-CONTEXT]]. +// [[PTO-STATE-ARCH-TRAP-CONTEXT]], and +// [[PTO-STATE-ARCH-PE-EXECUTION-CONTEXT]]. // NDF-END: PTO-REQ-STATE-001 // Requirement references: PTO-REQ-RESET-001, PTO-REQ-MEMORY-RC-001. @@ -97,7 +102,8 @@ Pushing `0x33` to U then changes only U index `0`. The T values from the previou // A core owns four private scalar register files. An encoded absolute GPR // selector is shared by the instruction, but each PE resolves that selector // in its own file. -var _PEGPRs : array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; +var _PEGPRs : array [[PTO_MODEL_CORE_INSTANCES]] of + array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; var _TQueue : TemporaryQueueSnapshot; var _TQueueValid : TemporaryQueueValiditySnapshot; var _UQueue : TemporaryQueueSnapshot; @@ -122,6 +128,21 @@ var _MemoryEventCount : integer {0..PTO_MODEL_MEMORY_EVENTS}; var _MemoryEventCaptureEnabled : boolean; var _CurrentMemoryAgent : MemoryAgentId; var _MemoryReplayState : MemoryReplayState; +var _CurrentModelCore : PTOModelCoreIdentity; +var _CurrentMemoryOrigin : MemoryEventOrigin; +var _CurrentKernelInvocation : integer; +var _CurrentProgramOrder : integer; +var _CurrentCollectiveEpoch : integer; +var _MemoryEventCollectiveHistoryOverrideValid : boolean; +var _MemoryEventCollectiveHistoryOverride : integer; +var _ScalarExecutionBlocked : boolean; +var _CurrentEncodedInstruction : bits(64); +var _KernelInvocationByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _NextKernelInvocationIdByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _RetiredKernelInvocationByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _KernelInvocationActiveByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of boolean; var _DataCacheEpoch : integer; var _InstructionCacheEpoch : integer; var _BundleCacheEpoch : integer; diff --git a/docs/arch/programming-model/scalar-registers.md b/docs/arch/programming-model/scalar-registers.md index 73b602860..0d6d70d96 100644 --- a/docs/arch/programming-model/scalar-registers.md +++ b/docs/arch/programming-model/scalar-registers.md @@ -73,7 +73,7 @@ begin if index == 0 then return Zeros{PTO_XLEN}; else - return _PEGPRs[[pe]][[index]]; + return _PEGPRs[[_CurrentModelCore]][[pe]][[index]]; end; end; @@ -85,7 +85,7 @@ end; func WritePEGPR(pe: MemoryAgentId, index: GPRIndex, value: Word) begin if index != 0 then - _PEGPRs[[pe]][[index]] = value; + _PEGPRs[[_CurrentModelCore]][[pe]][[index]] = value; end; end; ``` diff --git a/docs/arch/state/core-synchronization.md b/docs/arch/state/core-synchronization.md new file mode 100644 index 000000000..118f3ffe9 --- /dev/null +++ b/docs/arch/state/core-synchronization.md @@ -0,0 +1,339 @@ + +# Core Synchronization + +**Normative ASL source:** `asl/arch/state/core-synchronization.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-CORE-SYNCHRONIZATION} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","surface":"arch","classification":["state","core-synchronization"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION","classification":["architecture","core-synchronization"],"scope":"core","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_CoreSyncRecords","_CoreCollectiveHistorySequence"],"depends_on":["PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION-PE","classification":["architecture","core-synchronization","pe-progress"],"scope":"pe","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_PEBarrierNextGeneration","_PEReleaseValid","_PEReleaseGeneration","_PEProgramOrder","_PECollectiveEpoch"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-CORE-SYNCHRONIZATION"]} +// NDF-BEGIN: PTO-ARCH-CORE-SYNCHRONIZATION-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST rendezvous exactly PE0 through PE3 at one static +// SYNC.CORE site and generation in one active invocation. A participant MUST +// remain parked without advancing its PC until all arrivals and earlier GM +// obligations are complete. Completion is irrevocable; each PE retains its +// own release token until consumed once, and a later generation cannot replace +// an unconsumed token. PE_MASK does not change membership. Memory-event +// provenance for a completed collective MUST survive release consumption, +// generation-record reuse, Core selection, and later invocation setup. +// NDF-END: PTO-ARCH-CORE-SYNCHRONIZATION-001 + +type CoreSyncArrivalOrders of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncGenerationRecord of record { + valid: boolean, + core_identity: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word, + arrived: bits(PTO_MODEL_MEMORY_AGENTS), + arrival_orders: CoreSyncArrivalOrders, + released: boolean, + consumed: bits(PTO_MODEL_MEMORY_AGENTS) +}; +type CoreSyncGenerationRing of array [[PTO_MODEL_SYNC_GENERATIONS]] + of CoreSyncGenerationRecord; +type CoreSyncCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreSyncGenerationRing; +type CoreSyncGenerationByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncReleaseMaskByCore of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); +type CoreSyncProgramOrderByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _CoreSyncRecords : CoreSyncCoreBank; +var _PEBarrierNextGeneration : CoreSyncGenerationByPE; +var _PEReleaseGeneration : CoreSyncGenerationByPE; +var _PEReleaseValid : CoreSyncReleaseMaskByCore; +var _PEProgramOrder : CoreSyncProgramOrderByPE; +var _PECollectiveEpoch : CoreSyncProgramOrderByPE; +// Retained collective provenance is Core-scoped architectural model state. +var _CoreCollectiveHistorySequence : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; + +readonly func CoreSyncAllParticipantsMask() => bits(4) +begin + return Ones{4}; +end; + +func ResetCoreSynchronizationState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _CoreCollectiveHistorySequence[[core]] = 0; + _PEReleaseValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + _CoreSyncRecords[[core]][[slot]].core_identity = core; + _CoreSyncRecords[[core]][[slot]].invocation = 0; + _CoreSyncRecords[[core]][[slot]].generation = 0; + _CoreSyncRecords[[core]][[slot]].site = Zeros{PTO_XLEN}; + _CoreSyncRecords[[core]][[slot]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[slot]].released = FALSE; + _CoreSyncRecords[[core]][[slot]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[slot]].arrival_orders[[pe]] = 0; + end; + end; + end; +end; + +readonly func FindCoreSyncGenerationRecord( + core: PTOModelCoreIdentity, + invocation: integer, + generation: integer) => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation && + _CoreSyncRecords[[core]][[slot]].generation == generation then + return slot as integer {0..PTO_MODEL_SYNC_GENERATIONS}; + end; + end; + return PTO_MODEL_SYNC_GENERATIONS; +end; + +func AllocateCoreSyncGenerationRecord(core: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word) + => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + var selected: integer {0..PTO_MODEL_SYNC_GENERATIONS} = + PTO_MODEL_SYNC_GENERATIONS; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let old = _CoreSyncRecords[[core]][[slot]]; + if !old.valid || + (old.released && old.consumed == CoreSyncAllParticipantsMask()) then + if selected == PTO_MODEL_SYNC_GENERATIONS then + selected = slot; + end; + end; + end; + if selected == PTO_MODEL_SYNC_GENERATIONS then return selected; end; + let index = selected as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + _CoreSyncRecords[[core]][[index]].valid = TRUE; + _CoreSyncRecords[[core]][[index]].core_identity = core; + _CoreSyncRecords[[core]][[index]].invocation = invocation; + _CoreSyncRecords[[core]][[index]].generation = generation; + _CoreSyncRecords[[core]][[index]].site = site; + _CoreSyncRecords[[core]][[index]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[index]].released = FALSE; + _CoreSyncRecords[[core]][[index]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = 0; + end; + return selected; +end; + +func InvalidateCorePEReservations(core: PTOModelCoreIdentity) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if core == _CurrentModelCore && + pe == (_CurrentMemoryAgent as integer {0..3}) then + _ReservationValid = FALSE; + end; + if _PEContextBankValid[[core]][pe] == '1' then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + elsif core == _CurrentModelCore && + !_CurrentPEContextValid && pe == 0 then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; + end; +end; + +func ReleaseCoreSyncGeneration(core: PTOModelCoreIdentity, + slot: integer {0..PTO_MODEL_SYNC_GENERATIONS-1}) +begin + _CoreSyncRecords[[core]][[slot]].released = TRUE; + _CoreCollectiveHistorySequence[[core]] = + _CoreCollectiveHistorySequence[[core]] + 1; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '1'; + _PEReleaseGeneration[[core]][[pe]] = + _CoreSyncRecords[[core]][[slot]].generation; + end; + InvalidateCorePEReservations(core); +end; + +func TryCompleteCoreSynchronization(core: PTOModelCoreIdentity) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let generation_record = _CoreSyncRecords[[core]][[slot]]; + if generation_record.valid && !generation_record.released && + generation_record.arrived == CoreSyncAllParticipantsMask() then + var obligations_complete = TRUE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if !CoreGMObligationsComplete(core, + pe as MemoryAgentId, generation_record.invocation, + generation_record.arrival_orders[[pe]]) then + obligations_complete = FALSE; + end; + end; + if obligations_complete then + ReleaseCoreSyncGeneration(core, + slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}); + end; + end; + end; +end; + +func ConsumeCoreSyncRelease(core: PTOModelCoreIdentity, + pe: MemoryAgentId) => boolean +begin + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if _PEReleaseValid[[core]][bit_index] != '1' || + _PEReleaseGeneration[[core]][[pe]] != + _PEBarrierNextGeneration[[core]][[pe]] then + return FALSE; + end; + let invocation = _KernelInvocationByCore[[core]]; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot < PTO_MODEL_SYNC_GENERATIONS then + _CoreSyncRecords[[core]][[slot]].consumed[bit_index] = '1'; + end; + _PEReleaseValid[[core]][bit_index] = '0'; + _PEBarrierNextGeneration[[core]][[pe]] = generation + 1; + _PECollectiveEpoch[[core]][[pe]] = generation + 1; + if core == _CurrentModelCore && pe == _CurrentMemoryAgent then + _CurrentCollectiveEpoch = generation + 1; + end; + return TRUE; +end; + +func SyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + _ScalarExecutionBlocked = TRUE; + return; + end; + if ConsumeCoreSyncRelease(_CurrentModelCore, _CurrentMemoryAgent) then + return; + end; + + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let invocation = _CurrentKernelInvocation; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let site = ReadTPC(); + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if !CoreGMObligationsPermitArrival(core, pe, invocation, + _CurrentProgramOrder) then + _ScalarExecutionBlocked = TRUE; + return; + end; + var slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot == PTO_MODEL_SYNC_GENERATIONS then + slot = AllocateCoreSyncGenerationRecord( + core, invocation, generation, site); + end; + if slot == PTO_MODEL_SYNC_GENERATIONS then + _ScalarExecutionBlocked = TRUE; + return; + end; + let index = slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + if _CoreSyncRecords[[core]][[index]].site != site then + _ScalarExecutionBlocked = TRUE; + return; + end; + if _CoreSyncRecords[[core]][[index]].arrived[bit_index] == '0' then + _CoreSyncRecords[[core]][[index]].arrived[bit_index] = '1'; + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = + _CurrentProgramOrder; + end; + TryCompleteCoreSynchronization(core); + if !ConsumeCoreSyncRelease(core, pe) then + _ScalarExecutionBlocked = TRUE; + end; +end; + +func ProgressCoreSynchronization(core: PTOModelCoreIdentity) +begin + TryCompleteCoreSynchronization(core); +end; + +func RetireCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation then + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + end; + end; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +func AbortCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Active collective records and release tokens belong to the closing + // invocation. Completed memory ordering remains in retained event + // provenance and is deliberately not rewound here. + RetireCoreSynchronizationInvocation(core, invocation); +end; + +func BeginCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Launch is admitted only after the retired invocation is quiescent. + // Retain consumed release records for memory-history checking; the new + // invocation is isolated by its unique invocation identity. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseValid[[core]][PTOPEMaskBitOfPEIdentity( + pe as integer {0..3})] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +readonly func MemoryCollectiveSyncBefore(left_index: MemoryEventIndex, + right_index: MemoryEventIndex) + => boolean +begin + let left = _MemoryEvents[[left_index]]; + let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active || + left.origin != MemoryEventOrigin_Kernel || + right.origin != MemoryEventOrigin_Kernel || + left.core_identity != right.core_identity || + left.invocation != right.invocation || + left_index == right_index then return FALSE; end; + return left.collective_history_sequence < + right.collective_history_sequence; +end; +``` + diff --git a/docs/arch/state/kernel-lifecycle.md b/docs/arch/state/kernel-lifecycle.md new file mode 100644 index 000000000..550058a2c --- /dev/null +++ b/docs/arch/state/kernel-lifecycle.md @@ -0,0 +1,164 @@ + +# Kernel Lifecycle + +**Normative ASL source:** `asl/arch/state/kernel-lifecycle.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-KERNEL-LIFECYCLE} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-KERNEL-LIFECYCLE","surface":"arch","classification":["state","kernel-lifecycle"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"]} +// NDF-BEGIN: PTO-ARCH-KERNEL-LIFECYCLE-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// A Core has at most one active kernel invocation. Launch establishes one +// common entry PC and new invocation identity for PE0..PE3, invalidating all +// target-Core prelaunch recovery frames. Successful End and +// Abort retire invocation-owned active-PE Shared candidate/release metadata +// while preserving any published Shared parent and committed effects. Abort +// discards incomplete collective state and cancels reversible work, but +// preserves committed effects and waits for irrevocable older work to quiesce +// before a later launch. Completion from an earlier invocation MUST NOT +// update the current invocation's synchronization state. Lifecycle retirement +// MUST clear active-PE Shared generation and release metadata matching the +// retiring Core/invocation while preserving published Shared payloads and +// operation ordinals; aggregate records and another identity remain untouched. +// NDF-END: PTO-ARCH-KERNEL-LIFECYCLE-001 + +type KernelLifecycleResult of enumeration { + KernelLifecycle_Started, + KernelLifecycle_Waiting, + KernelLifecycle_Rejected +}; + +func ResetKernelLifecycleState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; +end; + +readonly func KernelInvocationIsActive(core: PTOModelCoreIdentity) + => boolean +begin + return _KernelInvocationActiveByCore[[core]]; +end; + +func InitializePEForKernelEntry(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + entry: Word) +begin + SelectExecutionContext(core, pe); + InvalidatePETrapRecoveryFramesForFreshKernelEntry(); + _PC = entry; + _BPC = Zeros{PTO_XLEN}; + _BundleActive = FALSE; + _BundleBodyActive = FALSE; + _BARG.block_type = BundleKind_Standard; + _BARG.transfer_type = BundleTransfer_Fallthrough; + _BARG.taken = FALSE; + _BARG.bpcn = Zeros{PTO_XLEN}; + ClearBundleHeaderState(); + _BundleSequentialPC = Zeros{PTO_XLEN}; + _FrameStackReturnTarget = Zeros{PTO_XLEN}; + _ReturnAddress = Zeros{PTO_XLEN}; + _CommitArgument = Zeros{PTO_XLEN}; + for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do + _TQueue[[index]] = Zeros{PTO_XLEN}; + _TQueueValid[[index]] = FALSE; + _UQueue[[index]] = Zeros{PTO_XLEN}; + _UQueueValid[[index]] = FALSE; + end; + for predicate = 0 to PTO_PREDICATE_REGISTER_COUNT - 1 do + _PredicateRegisters[[predicate]] = Zeros{PTO_PREDICATE_WIDTH}; + end; + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _ScalarExecutionBlocked = FALSE; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + SaveSelectedPEExecutionContext(); +end; + +func LaunchKernelInvocation(core: PTOModelCoreIdentity, entry: Word) + => KernelLifecycleResult +begin + if _KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Waiting; + end; + let retired = _RetiredKernelInvocationByCore[[core]]; + if retired != 0 && !KernelGMObligationsQuiescent(core, retired) then + return KernelLifecycle_Waiting; + end; + if entry[0] == '1' then return KernelLifecycle_Rejected; end; + + let previous_core = _CurrentModelCore; + let previous_pe = _CurrentMemoryAgent; + let invocation = _NextKernelInvocationIdByCore[[core]]; + _NextKernelInvocationIdByCore[[core]] = invocation + 1; + _KernelInvocationByCore[[core]] = invocation; + _KernelInvocationActiveByCore[[core]] = TRUE; + _RetiredKernelInvocationByCore[[core]] = 0; + _VerificationGMProgressDeferred = FALSE; + BeginCoreSynchronizationInvocation(core, invocation); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + InitializePEForKernelEntry(core, pe as MemoryAgentId, entry); + end; + SelectExecutionContext(previous_core, previous_pe); + return KernelLifecycle_Started; +end; + +func EndKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + if !KernelGMObligationsQuiescent(core, invocation) then + return KernelLifecycle_Waiting; + end; + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + RetireCoreSynchronizationInvocation(core, invocation); + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return KernelLifecycle_Started; +end; + +func AbortKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + AbortKernelGMObligations(core, invocation); + AbortCoreSynchronizationInvocation(core, invocation); + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return if KernelGMObligationsQuiescent(core, invocation) then + KernelLifecycle_Started else KernelLifecycle_Waiting; +end; +``` + diff --git a/docs/arch/state/pe-execution-context.md b/docs/arch/state/pe-execution-context.md new file mode 100644 index 000000000..09ff60476 --- /dev/null +++ b/docs/arch/state/pe-execution-context.md @@ -0,0 +1,523 @@ + +# PE Execution Context + +**Normative ASL source:** `asl/arch/state/pe-execution-context.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-PE-EXECUTION-CONTEXT} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","surface":"arch","classification":["state","pe-execution-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING","PTO-ARCH-STATE-TRAP-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","classification":["architecture","pe-execution-context"],"scope":"pe","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_PEExecutionContexts","_CurrentPEContextValid","_PEContextBankValid","_DefaultPEExecutionContext"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-LOCAL-CONTEXT","classification":["architecture","core-local-context"],"scope":"core","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_CoreExecutionContexts","_CurrentCoreContextValid","_CoreContextBankValid","_DefaultCoreExecutionContext"],"depends_on":[]} + +// NDF-BEGIN: PTO-ARCH-PE-EXECUTION-CONTEXT-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST keep independent PE0..PE3 contexts. PE selection +// MUST save/restore private instruction, Block, queue, fault/trap, reservation, +// and Local Tile state; Core selection MUST keep Core-local state distinct. +// PE snapshots MUST NOT restore shared GM, event history, synchronization, or +// Shared Tile state, and MUST NOT rewind peer progress or committed effects. +// NDF-END: PTO-ARCH-PE-EXECUTION-CONTEXT-001 + +// The active globals remain the compatibility working set used by existing +// ASL helpers. Every explicit PE selection first saves that complete PE-local +// set and restores the selected PE's saved set. System GM and event history do +// not appear in this snapshot. +type PEExecutionContext of record { + pc: Word, + bpc: Word, + current_encoded_instruction: bits(64), + bundle_start_encoded_instruction: bits(64), + tiles: array [[PTO_TILE_REGISTER_COUNT]] of TileInfo, + tile_allocation_masks: array [[PTO_TILE_REGISTER_COUNT]] of bits(4), + tile_relative_order: RelativeTileSnapshot, + tile_relative_valid: RelativeTileValiditySnapshot, + tile_feature_map_descriptors: TileFeatureMapDescriptorSnapshot, + thread_ptr: Word, + global_ptr: Word, + core_state: Word, + thread_id: Word, + t_queue: TemporaryQueueSnapshot, + t_queue_valid: TemporaryQueueValiditySnapshot, + u_queue: TemporaryQueueSnapshot, + u_queue_valid: TemporaryQueueValiditySnapshot, + bundle_active: boolean, + bundle_body_active: boolean, + barg: BundleArgumentRegister, + bundle_commit_target_set: boolean, + bundle_condition_set: boolean, + system_block_terminal_pending: boolean, + bundle_sequential_pc: Word, + frame_stack_return_target: Word, + bundle_argument: Word, + bundle_argument_kind: bits(3), + bundle_operation: BundleOperationDescriptor, + bundle_dimensions: BundleDimensionSnapshot, + bundle_dimension_present: BundleDimensionPresenceSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_range_group: BundleRangeGroupState, + bundle_zero_participation_seen: boolean, + bundle_control_attributes: BundleControlAttributes, + bundle_data_attributes: BundleDataAttributes, + bundle_data_attributes_present: boolean, + bundle_execution_mask: BundleExecutionMaskBinding, + bundle_hint: BundleHintAttributes, + bundle_fixed_point_attributes: BundleFixedPointAttributes, + memory_copy_template: MemoryCopyTemplateState, + frame_template: FrameTemplateState, + bundle_execution_domain_token: integer, + frame_depth: integer {0..PTO_MODEL_MEMORY_EVENTS}, + last_frame_begin: Reg5Selector, + last_frame_end: Reg5Selector, + last_frame_size: Word, + last_queue_left: Word, + last_queue_right: Word, + last_queue_flags: bits(4), + last_memory_command_address: Word, + last_memory_command_size: Word, + last_cross_block_acr: bits(10), + last_cross_block_id: bits(7), + last_bundle_hint_payload: Word, + return_address: Word, + commit_argument: Word, + predicates: PredicateSnapshot, + last_fault: FaultCode, + fault_address: Word, + reservation_valid: boolean, + reservation_address: Word, + reservation_size: integer {1,2,4,8}, + last_fence_predecessor: bits(4), + last_fence_successor: bits(4), + memory_replay_state: MemoryReplayState, + extended_system_registers: array [[65536]] of Word, + acr_trap_asynchronous: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_argument_valid: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_cause: array [[PTO_ACR_COUNT]] of bits(24), + acr_trap_number: array [[PTO_ACR_COUNT]] of TrapNumber, + acr_trap_argument0: array [[PTO_ACR_COUNT]] of Word, + trap_contexts: array [[PTO_ACR_COUNT]] of TrapContext, + current_acr: AccessControlRing, + memory_origin: MemoryEventOrigin, + program_order: integer, + scalar_execution_blocked: boolean +}; + +type CoreExecutionContext of record { + system_registers: BaseSystemRegisterState, + shared_tiles: SharedTileSnapshot, + local_generations: LocalGenerationSnapshot, + shared_generations: SharedGenerationSnapshot, + tile_data_layout_capabilities: bits(32), + data_cache_epoch: integer, + instruction_cache_epoch: integer, + bundle_cache_epoch: integer, + tlb_epoch: integer, + last_maintenance_operation: MaintenanceOperation, + last_maintenance_operand: Word, + bundle_hint_epoch: integer, + architecture_request_epoch: integer, + last_control_request: ExecutionControlRequest, + control_request_operand: Word +}; + +type CoreExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreExecutionContext; +type PEExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of PEExecutionContext; +type PEContextValidityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); + +var _PEExecutionContexts : PEExecutionContextBank; +var _CoreExecutionContexts : CoreExecutionContextBank; +var _PEContextBankValid : PEContextValidityBank; +var _CoreContextBankValid : bits(PTO_MODEL_CORE_INSTANCES); +var _CurrentPEContextValid : boolean; +var _CurrentCoreContextValid : boolean; +var _DefaultPEExecutionContext : PEExecutionContext; +var _DefaultCoreExecutionContext : CoreExecutionContext; + +func SaveSelectedPEExecutionContext() +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + _PEExecutionContexts[[core]][[pe]] = PEExecutionContext { + pc = _PC, + bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, + t_queue_valid = _TQueueValid, + u_queue = _UQueue, + u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, + barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, + fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _PEContextBankValid[[core]][pe] = '1'; + _CurrentPEContextValid = TRUE; +end; + +func LoadPEExecutionContext(context: PEExecutionContext) +begin + _PC = context.pc; + _BPC = context.bpc; + _CurrentEncodedInstruction = context.current_encoded_instruction; + _BundleStartEncodedInstruction = + context.bundle_start_encoded_instruction; + _Tiles = context.tiles; + _TileAllocationMasks = context.tile_allocation_masks; + _TileRelativeOrder = context.tile_relative_order; + _TileRelativeValid = context.tile_relative_valid; + _TileFeatureMapDescriptors = context.tile_feature_map_descriptors; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _TQueue = context.t_queue; + _TQueueValid = context.t_queue_valid; + _UQueue = context.u_queue; + _UQueueValid = context.u_queue_valid; + _BundleActive = context.bundle_active; + _BundleBodyActive = context.bundle_body_active; + _BARG = context.barg; + _BundleCommitTargetSet = context.bundle_commit_target_set; + _BundleConditionSet = context.bundle_condition_set; + _SystemBlockTerminalPending = context.system_block_terminal_pending; + _BundleSequentialPC = context.bundle_sequential_pc; + _FrameStackReturnTarget = context.frame_stack_return_target; + _BundleArgument = context.bundle_argument; + _BundleArgumentKind = context.bundle_argument_kind; + _BundleOperation = context.bundle_operation; + _BundleDimensions = context.bundle_dimensions; + _BundleDimensionPresent = context.bundle_dimension_present; + _BundleScalarBindings = context.bundle_scalar_bindings; + _BundleTileBindings = context.bundle_tile_bindings; + _BundleSharedBindings = context.bundle_shared_bindings; + _BundleRangeGroup = context.bundle_range_group; + _BundleZeroParticipationSeen = context.bundle_zero_participation_seen; + _BundleControlAttributes = context.bundle_control_attributes; + _BundleDataAttributes = context.bundle_data_attributes; + _BundleDataAttributesPresent = context.bundle_data_attributes_present; + _BundleExecutionMask = context.bundle_execution_mask; + _BundleHint = context.bundle_hint; + _BundleFixedPointAttributes = context.bundle_fixed_point_attributes; + _MemoryCopyTemplate = context.memory_copy_template; + _FrameTemplate = context.frame_template; + _BundleExecutionDomainToken = context.bundle_execution_domain_token; + _FrameDepth = context.frame_depth; + _LastFrameBegin = context.last_frame_begin; + _LastFrameEnd = context.last_frame_end; + _LastFrameSize = context.last_frame_size; + _LastQueueLeft = context.last_queue_left; + _LastQueueRight = context.last_queue_right; + _LastQueueFlags = context.last_queue_flags; + _LastMemoryCommandAddress = context.last_memory_command_address; + _LastMemoryCommandSize = context.last_memory_command_size; + _LastCrossBlockACR = context.last_cross_block_acr; + _LastCrossBlockID = context.last_cross_block_id; + _LastBundleHintPayload = context.last_bundle_hint_payload; + _ReturnAddress = context.return_address; + _CommitArgument = context.commit_argument; + _PredicateRegisters = context.predicates; + _LastFault = context.last_fault; + _FaultAddress = context.fault_address; + _ReservationValid = context.reservation_valid; + _ReservationAddress = context.reservation_address; + _ReservationSize = context.reservation_size; + _LastFencePredecessor = context.last_fence_predecessor; + _LastFenceSuccessor = context.last_fence_successor; + _MemoryReplayState = context.memory_replay_state; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _ExtendedSystemRegisters = context.extended_system_registers; + _ACRTrapAsynchronous = context.acr_trap_asynchronous; + _ACRTrapArgumentValid = context.acr_trap_argument_valid; + _ACRTrapCause = context.acr_trap_cause; + _ACRTrapNumber = context.acr_trap_number; + _ACRTrapArgument0 = context.acr_trap_argument0; + _TrapContexts = context.trap_contexts; + _CurrentACR = context.current_acr; + _CurrentMemoryOrigin = context.memory_origin; + _CurrentProgramOrder = context.program_order; + _ScalarExecutionBlocked = context.scalar_execution_blocked; +end; + +func SaveSelectedCoreExecutionContext() +begin + let core = _CurrentModelCore; + _CoreExecutionContexts[[core]] = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CoreContextBankValid[core] = '1'; + _CurrentCoreContextValid = TRUE; +end; + +func LoadCoreExecutionContext(context: CoreExecutionContext) +begin + _SystemRegisters = context.system_registers; + _SharedTiles = context.shared_tiles; + _LocalGenerations = context.local_generations; + _SharedGenerations = context.shared_generations; + _TileDataLayoutCapabilities = context.tile_data_layout_capabilities; + _DataCacheEpoch = context.data_cache_epoch; + _InstructionCacheEpoch = context.instruction_cache_epoch; + _BundleCacheEpoch = context.bundle_cache_epoch; + _TLBEpoch = context.tlb_epoch; + _LastMaintenanceOperation = context.last_maintenance_operation; + _LastMaintenanceOperand = context.last_maintenance_operand; + _BundleHintEpoch = context.bundle_hint_epoch; + _ArchitectureRequestEpoch = context.architecture_request_epoch; + _LastControlRequest = context.last_control_request; + _ControlRequestOperand = context.control_request_operand; +end; + +func SelectExecutionContext(core: PTOModelCoreIdentity, pe: MemoryAgentId) +begin + if !_CurrentCoreContextValid then + _DefaultCoreExecutionContext = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CurrentCoreContextValid = TRUE; + end; + if !_CurrentPEContextValid then + _DefaultPEExecutionContext = PEExecutionContext { + pc = _PC, bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = + _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, t_queue_valid = _TQueueValid, + u_queue = _UQueue, u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _CurrentPEContextValid = TRUE; + end; + + if core == _CurrentModelCore && pe == _CurrentMemoryAgent && + _CurrentPEContextValid then + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + return; + end; + + if core != _CurrentModelCore then + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + _CurrentModelCore = core; + if _CoreContextBankValid[core] == '1' then + LoadCoreExecutionContext(_CoreExecutionContexts[[core]]); + else + LoadCoreExecutionContext(_DefaultCoreExecutionContext); + end; + _CurrentCoreContextValid = TRUE; + _CurrentPEContextValid = FALSE; + elsif pe != _CurrentMemoryAgent then + SaveSelectedPEExecutionContext(); + end; + + _CurrentMemoryAgent = pe; + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + if _PEContextBankValid[[core]][pe] == '1' then + LoadPEExecutionContext(_PEExecutionContexts[[core]][[pe]]); + else + LoadPEExecutionContext(_DefaultPEExecutionContext); + end; + _CurrentProgramOrder = _PEProgramOrder[[core]][[pe]]; + _CurrentCollectiveEpoch = _PECollectiveEpoch[[core]][[pe]]; + _CurrentPEContextValid = TRUE; +end; + +func ResetPEExecutionContextBank() +begin + _CurrentModelCore = 0; + _CurrentMemoryAgent = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _CurrentPEContextValid = FALSE; + _CurrentCoreContextValid = FALSE; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _PEContextBankValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + end; + _CoreContextBankValid = Zeros{PTO_MODEL_CORE_INSTANCES}; +end; +``` + diff --git a/docs/arch/state/trap-context.md b/docs/arch/state/trap-context.md index 536c6375e..5f7cc8db2 100644 --- a/docs/arch/state/trap-context.md +++ b/docs/arch/state/trap-context.md @@ -71,7 +71,7 @@ A fault uses the other save: `SetFaultWithCause` routes a fault taken while ring ```asl -// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ORDERING"]} +// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} func SavePortableTrapContext(target: AccessControlRing, source: AccessControlRing) begin @@ -79,6 +79,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -114,13 +116,12 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; _TrapContexts[[target]].memory_replay_state = _MemoryReplayState; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -135,6 +136,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -168,12 +171,11 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -208,6 +210,21 @@ begin WriteContextRegister(target, 0x0f4e, Zeros{PTO_XLEN}); end; +// A fresh kernel launch retires every recovery image owned by the previous +// contents of this PE. Keep the model validity bit and the architectural +// EBARG valid bit in step so neither recovery path can restore an old Block +// into a later invocation. +func InvalidatePETrapRecoveryFramesForFreshKernelEntry() +begin + for ring_number = 0 to PTO_ACR_COUNT - 1 do + let ring = ring_number as AccessControlRing; + _TrapContexts[[ring]].valid = FALSE; + var control = ReadContextRegister(ring, 0x0f40); + control[4] = '0'; + WriteContextRegister(ring, 0x0f40, control); + end; +end; + readonly func PortableTrapContextRecoverable(target: AccessControlRing) => boolean begin @@ -242,6 +259,8 @@ begin end; WriteTPC(_TrapContexts[[target]].tpc); WriteBPC(_TrapContexts[[target]].bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = _TrapContexts[[target]].core_state; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -277,8 +296,6 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; @@ -289,6 +306,7 @@ begin _UQueueValid = _TrapContexts[[target]].u_queue_valid; _PredicateRegisters = _TrapContexts[[target]].predicates; _CurrentACR = _TrapContexts[[target]].source_acr; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; _TrapContexts[[target]].valid = FALSE; return TRUE; end; @@ -304,6 +322,8 @@ begin let recovered_tpc = ReadContextRegister(target, 0x0f43); WriteTPC(recovered_tpc); WriteBPC(recovered_bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = ecstate; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -324,6 +344,8 @@ begin _ReturnAddress = ReadContextRegister(target, 0x0f44); _BundleArgumentKind = _TrapContexts[[target]].bundle_argument_kind; _BundleSequentialPC = _TrapContexts[[target]].bundle_sequential_pc; + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _BundleOperation = _TrapContexts[[target]].bundle_operation; _BundleDimensions = _TrapContexts[[target]].bundle_dimensions; _BundleDimensionPresent = @@ -342,13 +364,12 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; _FrameTemplate = _TrapContexts[[target]].frame_template; _MemoryReplayState = _TrapContexts[[target]].memory_replay_state; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = ReadContextRegister(target, 0x0f45 + index); _UQueue[[index]] = ReadContextRegister(target, 0x0f49 + index); diff --git a/docs/arch/system-registers/addressing.md b/docs/arch/system-registers/addressing.md index 7db871f5a..6c5bb1509 100644 --- a/docs/arch/system-registers/addressing.md +++ b/docs/arch/system-registers/addressing.md @@ -103,10 +103,12 @@ func ResetProfileState() begin let zero_tile_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; let zero_packed_tile_elements = ZeroPackedTileDefinedElements(); - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do for index = 0 to PTO_ABSOLUTE_GPR_COUNT - 1 do - _PEGPRs[[pe]][[index]] = Zeros{PTO_XLEN}; + _PEGPRs[[core]][[pe]][[index]] = Zeros{PTO_XLEN}; end; + end; end; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = Zeros{PTO_XLEN}; @@ -267,7 +269,30 @@ begin _SystemRegisters.blockid = Zeros{PTO_XLEN}; _SystemRegisters.cycle = Zeros{PTO_XLEN}; _CurrentACR = 0; + _CurrentModelCore = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _MemoryEventCollectiveHistoryOverrideValid = FALSE; + _MemoryEventCollectiveHistoryOverride = 0; + _ScalarExecutionBlocked = FALSE; + _MemoryReplayState.active = FALSE; + _MemoryReplayState.request = Zeros{PTO_XLEN}; + _MemoryReplayState.committed_event_count = 0; + _MemoryReplayState.epoch = 0; + _CurrentEncodedInstruction = Zeros{64}; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; ClearFault(); + ResetPEExecutionContextBank(); + ResetKernelGMObligations(); + ResetCoreSynchronizationState(); + ResetKernelLifecycleState(); end; ``` diff --git a/docs/block/model/commit/validation.md b/docs/block/model/commit/validation.md index 90b436aee..69a3cba90 100644 --- a/docs/block/model/commit/validation.md +++ b/docs/block/model/commit/validation.md @@ -72,7 +72,7 @@ A bundle `BSTART.VEC TADD, FP32` has a missing source binding. `BSTOP` calls `Co ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} func CompleteBundleAtWithAcceptedApplicabilityRules( rules: NumericApplicabilityRuleSet, continuation: Word) => boolean begin diff --git a/docs/block/model/dispatch/gm-obligation-dispatch.md b/docs/block/model/dispatch/gm-obligation-dispatch.md new file mode 100644 index 000000000..4429a4a08 --- /dev/null +++ b/docs/block/model/dispatch/gm-obligation-dispatch.md @@ -0,0 +1,312 @@ + +# Gm Obligation Dispatch + +**Normative ASL source:** `asl/block/model/dispatch/gm-obligation-dispatch.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","surface":"block","classification":["model","dispatch","gm-obligation-dispatch"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-ARCH-STATE-PROGRAM-COUNTER","PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS"]} +func BundleTileOperationHasGMEffect() => boolean +begin + if !_BundleOperation.valid || + _BundleOperation.operation_class != BundleOperation_TileMemory || + SelectedBundleTileMaskIsZero() then return FALSE; end; + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then return FALSE; end; + case TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) of + when TileOperation_TLOAD, TileOperation_TSTORE, + TileOperation_TPREFETCH, + TileOperation_MGATHER, TileOperation_MSCATTER, + TileOperation_MGATHER_MASK, TileOperation_MSCATTER_MASK, + TileOperation_MGATHER_CAS, TileOperation_MGATHER_EXCH, + TileOperation_MGATHER_MAX, TileOperation_MGATHER_MIN, + TileOperation_MGATHER_ADD, TileOperation_MGATHER_INC, + TileOperation_MGATHER_DEC, TileOperation_MGATHER_AND, + TileOperation_MGATHER_OR, TileOperation_MGATHER_XOR, + TileOperation_MSCATTER_MAX, TileOperation_MSCATTER_MIN, + TileOperation_MSCATTER_ADD, TileOperation_MSCATTER_INC, + TileOperation_MSCATTER_DEC, TileOperation_MSCATTER_AND, + TileOperation_MSCATTER_OR, TileOperation_MSCATTER_XOR, + TileOperation_MSCATTER_POPC => return TRUE; + otherwise => return FALSE; + end; +end; + +func BundleTileGMRequestClass() => GMRequestClass +begin + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded != PTO_TILE_OPERATION_COUNT && + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_TPREFETCH then return GMRequest_Prefetch; end; + if decoded != PTO_TILE_OPERATION_COUNT && + (TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_CAS || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_EXCH || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MAX || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MIN || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_ADD || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_INC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_DEC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_AND || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_OR || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_XOR) then return GMRequest_Atomic; end; + return GMRequest_Tile; +end; + +func BundleFirstGMSourceTile() => TileIndex +begin + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].source0_valid then + return _BundleTileBindings[[binding]].source0; + end; + end; + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].destination_valid then + return _BundleTileBindings[[binding]].destination; + end; + end; + return 0 as TileIndex; +end; + +func ValidateSharedGenerationEarlyRetirementStructure() => boolean +begin + if !BundleAssembleOutputStructureLegal() then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedDestinationAssemblyPolicyLegal() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let family = BundleTileDecodeFamily(_BundleOperation.operation_class); + let decoded = DecodeTileOperation(family, + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then + SetFault(Fault_IllegalInstruction, ReadTPC()); + return FALSE; + end; + let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if !BundleProducerEffectEligible(operation) then return FALSE; end; + if !BundleOperationScalarBindingSchemaLegal(operation) then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedTLSUSelected() || + BundleSharedBindingPhysicalCount() != 1 || + !_BundleSharedBindings[[0]].destination_assemble.valid || + !_BundleSharedBindings[[0]].destination_assemble.init then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let function = UInt(_BundleOperation.selector[4:0]); + if function == 2 then + // Retain TLSU operand-role and source descriptor legality, but do not + // require payload definedness or inspect its elements for a PE that + // is not a participant. + if TileOperationOfIndex(operation) != TileOperation_TMOV || + BundleTileBindingCount() != 1 || + !_BundleTileBindings[[0]].valid || + !_BundleTileBindings[[0]].source0_valid || + _BundleTileBindings[[0]].source1_valid || + _BundleTileBindings[[0]].destination_valid || + _BundleTileBindings[[0]].destination_size != 0 || + _BundleTileBindings[[0]].pe_mask != + _BundleSharedBindings[[0]].pe_mask then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + elsif function == 0 then + if TileOperationOfIndex(operation) != TileOperation_TLOAD || + BundleTileBindingCount() != 0 || + !BundleSharedBindingIsDestination(0) then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let valid_columns = UInt(_BundleDimensions[[0]]); + let valid_rows = UInt(_BundleDimensions[[1]]); + let columns = UInt(_BundleDimensions[[2]]); + if valid_columns < 1 || valid_columns > 65535 || + valid_rows < 1 || valid_rows > 65535 || + columns < 1 || columns > 65535 || valid_columns > columns then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + else + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + if !BundleCurrentPEIsNonparticipantSharedAssembly() then + // A completed participant request is checked separately; this + // structural preflight never blesses an unrelated active request. + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + end; + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; +end; + +func RetireFailedEarlySharedGenerationRequest() +begin + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; +end; + +func FinalizeSharedGenerationEarlyRetirement() +begin + CommitBundleLocalGeneration(); + RetireBundleConsumerDependencies(); + DiscardBundleSubviewMaterializations(); + FinalizeBundleTileAttempt(TileExecution_Executed); +end; + +func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + rules: NumericApplicabilityRuleSet) => boolean +begin + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + ConsumeBundleSharedBindings(1); + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + if !ConsumeBundleSharedGenerationCompletionForCurrentPE() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + let tracks_gm = BundleTileOperationHasGMEffect() && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_gm then + let source = BundleFirstGMSourceTile(); + let generation_slot = BundleLocalGenerationSlotForSource(source); + let source_generation = if generation_slot < 64 && + _LocalGenerations[[generation_slot]].generation_identity_valid + then _LocalGenerations[[generation_slot]].generation_instance + else Zeros{PTO_XLEN}; + let base_address = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 0 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + let row_stride = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 1 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source1) + else Zeros{PTO_XLEN}; + obligation_slot = RegisterKernelGMObligation( + BundleTileGMRequestClass(), _BundleStartEncodedInstruction, + ReadBPC(), _BundleOperation, _BundleArgument, + _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + source_generation, _Tiles[[source]], _BundleExecutionMask, + base_address, row_stride, CurrentBundleMemoryOrder(), + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; + var completed = FALSE; + if _BundleControlAttributes.far then + completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( + rules); + else + completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( + rules); + end; + if tracks_gm then + if _LastFault != Fault_None then + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + elsif completed && + !_GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].captured_tstore_progress then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + end; + end; + if !completed then + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; + end; + return completed; +end; + +func ExecuteBundleTileOperation() => boolean +begin + return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + NumericApplicabilityRules_None); +end; +``` + diff --git a/docs/block/model/dispatch/shared-tlsu.md b/docs/block/model/dispatch/shared-tlsu.md index 2577f615a..971f2d148 100644 --- a/docs/block/model/dispatch/shared-tlsu.md +++ b/docs/block/model/dispatch/shared-tlsu.md @@ -130,6 +130,15 @@ begin return FALSE; end; var candidate = _Tiles[[binding.source0]]; + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid then + // B.ASSEMBLE replaces a complete Shared parent only after matching + // per-PE fragments have formed its candidate. The old published + // descriptor describes that parent, not an individual writer's + // private fragment, so candidate compatibility is checked against + // the open Core-owned generation by its submission owner. + return TRUE; + end; return SharedTileUpdateCompatible( BundleSharedBindingId(0), candidate, shared_mask); end; @@ -188,6 +197,14 @@ begin BundleSharedGenerationCapacity(0) else BundleSharedBindingSize(0); let shared_mask = BundleSharedBindingMask(0); + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed then + _BundleSharedBindings[[0]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; if shared_mask == Zeros{4} then return TRUE; end; let decoded = DecodeTileOperation(TileDecode_TLSU, BundleOperationDecodeCode(_BundleOperation)); @@ -210,6 +227,13 @@ begin if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; + if _CurrentPEContextValid && + shared_mask[PTOPEMaskBitOfPEIdentity( + _CurrentMemoryAgent as integer {0..3})] != '1' then + ConsumeBundleSharedBindings(1); + FinalizeBundleTileAttempt(TileExecution_Executed); + return TRUE; + end; if function == 0 then if (!BundleSharedBindingIsDestination(0) && !BundleSharedBindingIsReusedDestination(0)) || @@ -231,13 +255,15 @@ begin var load_row_stride_bytes: CorePEWords; for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do let agent = pe as MemoryAgentId; + let actual_source = !_CurrentPEContextValid || + agent == _CurrentMemoryAgent; load_base_addresses[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source0) else Zeros{PTO_XLEN}; load_row_stride_bytes[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source1) else TileDenseRowStrideBytes( @@ -263,7 +289,14 @@ begin // or published. Successful candidates still commit atomically. if _LastFault == Fault_None then RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if !CommitBundleSharedGenerationCandidate(0, candidate) then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; SetFault(Fault_TileLegality, ReadTPC()); end; end; @@ -347,16 +380,26 @@ begin var prior_shared = SharedTileRecord(shared_tile_id); if assembling then prior_shared = BeginBundleSharedGenerationProbe(shared_tile_id); - end; - TMOVLocalToShared(shared_tile_id, binding.source0, - shared_size as integer {1..12}, shared_mask, !assembling); - if assembling then + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, FALSE); let candidate = SharedTileRecord(shared_tile_id); RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if _LastFault == Fault_None && - !CommitBundleSharedGenerationCandidate(0, candidate) then - SetFault(Fault_TileLegality, ReadTPC()); + if _LastFault == Fault_None then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, + candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; + SetFault(Fault_TileLegality, ReadTPC()); + end; end; + else + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, TRUE); end; else // The same parent-level readiness gate applies before any Local diff --git a/docs/block/model/dispatch/start.md b/docs/block/model/dispatch/start.md index b894e38ce..a6907584c 100644 --- a/docs/block/model/dispatch/start.md +++ b/docs/block/model/dispatch/start.md @@ -164,6 +164,7 @@ begin return_target, taken); if _LastFault == Fault_None then InstallBundleOperationDescriptor(descriptor); + _BundleStartEncodedInstruction = instruction; end; end; diff --git a/docs/block/model/dispatch/tile-execution.md b/docs/block/model/dispatch/tile-execution.md index b0b87276b..1a1105d33 100644 --- a/docs/block/model/dispatch/tile-execution.md +++ b/docs/block/model/dispatch/tile-execution.md @@ -88,7 +88,7 @@ A `TADD` bundle commits with one legal binding and mask `1111`. No specialized h // numeric padding checks belong to the TGPR2T complete schema before handler // execution and atomic result publication. // NDF-END: PTO-BLOCK-MODEL-DISPATCH-TGPR2T-BOUNDARY-001 -// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} +// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} readonly func BundleTileTypesMatch( operation: integer {0..PTO_TILE_OPERATION_COUNT-1}, operands: TileInstructionOperands, @@ -503,29 +503,5 @@ begin return ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( rules); end; - -func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - rules: NumericApplicabilityRuleSet) => boolean -begin - var completed = FALSE; - if _BundleControlAttributes.far then - completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( - rules); - else - completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( - rules); - end; - if !completed then - AbortBundleLocalGenerationsForBundle(); - AbortBundleSharedGenerationsForBundle(); - end; - return completed; -end; - -func ExecuteBundleTileOperation() => boolean -begin - return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - NumericApplicabilityRules_None); -end; ``` diff --git a/docs/block/model/dispatch/timg2col-execution.md b/docs/block/model/dispatch/timg2col-execution.md index 7ea479e44..7cda05603 100644 --- a/docs/block/model/dispatch/timg2col-execution.md +++ b/docs/block/model/dispatch/timg2col-execution.md @@ -477,7 +477,9 @@ begin if !coverage_legal then return FALSE; end; _BundleSharedBindings[[0]].destination_assemble.offset = Zeros{PTO_XLEN} + derived_offset; - if !CommitBundleSharedGenerationCandidateRange( + let payload_elements = ((writer_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements( 0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -486,7 +488,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - writer_cells, BundleTIMG2COLPEBit(), TRUE, gm_base, + writer_cells, payload_elements, TRUE, FALSE, + BundleTIMG2COLPEBit(), TRUE, gm_base, param0, param1, param2, generation_metadata) then AbortBundleSharedGeneration( BundleSharedBindingId(0)); diff --git a/docs/block/model/dispatch/tlsu-gmov.md b/docs/block/model/dispatch/tlsu-gmov.md index e6b3c090a..2a0543d02 100644 --- a/docs/block/model/dispatch/tlsu-gmov.md +++ b/docs/block/model/dispatch/tlsu-gmov.md @@ -84,13 +84,71 @@ begin UInt(_BundleOperation.selector[4:0]) == 13; end; +readonly func BundleGMOVPESourceTile(source: TileIndex, + pe: MemoryAgentId) => TileInfo +begin + if _CurrentPEContextValid && pe == _CurrentMemoryAgent then + return _Tiles[[source]]; + end; + return _PEExecutionContexts[[_CurrentModelCore]][[pe]].tiles[[source]]; +end; + +readonly func BundleGMOVPESourceTileReady(tile: TileInfo) => boolean +begin + if TileLayoutIsCube(tile.layout) then + return TileCubeDescriptorLegal(tile) && tile.contents_defined; + end; + return TileInfoDescriptorLegal(tile); +end; + +readonly func BundleGMOVSourceDescriptorsMatch(left: TileInfo, + right: TileInfo) => boolean +begin + return left.capacity_bytes == right.capacity_bytes && + left.rows == right.rows && left.columns == right.columns && + left.valid_rows == right.valid_rows && + left.valid_columns == right.valid_columns && + left.data_type == right.data_type && + left.layout == right.layout && + left.storage_kind == right.storage_kind && + left.cube_k_repeat == right.cube_k_repeat && + left.cube_n_repeat == right.cube_n_repeat && + left.cube_cell_count == right.cube_cell_count && + left.cube_storage_bytes == right.cube_storage_bytes; +end; + readonly func BundleGMOVCore4SourceReady(source: TileIndex) => boolean begin - // The one-level PTO model represents the four peer-resolved Local source - // fragments as one Core4 snapshot. Full allocation and complete payload - // definedness are therefore the formal rendezvous/readiness witness. - return TileElementwiseSourceContentsDefined(source) && - _TileAllocationMasks[[source]] == '1111'; + // Standalone aggregate callers retain the established Core4 batch view. + // Encoded PE streams instead resolve each destination's private peer_tid + // against that peer's actual Local bank before any destination effect. + if !_CurrentPEContextValid then + return TileElementwiseSourceContentsDefined(source) && + _TileAllocationMasks[[source]] == '1111'; + end; + if !_BundleScalarBindings[[0]].valid then return FALSE; end; + var reference_valid = FALSE; + var reference: TileInfo; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let destination_pe = pe as MemoryAgentId; + let peer_word = ReadPEAbsoluteGPROperand(destination_pe, + _BundleScalarBindings[[0]].source0); + if UInt(peer_word) >= PTO_MODEL_MEMORY_AGENTS then return FALSE; end; + let source_pe = UInt(peer_word) as MemoryAgentId; + if source_pe != _CurrentMemoryAgent && + _PEContextBankValid[[_CurrentModelCore]][source_pe] != '1' then + return FALSE; + end; + let source_tile = BundleGMOVPESourceTile(source, source_pe); + if !BundleGMOVPESourceTileReady(source_tile) then return FALSE; end; + if !reference_valid then + reference = source_tile; + reference_valid = TRUE; + elsif !BundleGMOVSourceDescriptorsMatch(reference, source_tile) then + return FALSE; + end; + end; + return reference_valid; end; func ExecuteBundleGMOVOperation() => boolean @@ -112,19 +170,32 @@ begin end; if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; let binding = _BundleTileBindings[[0]]; + let current_peer_word = if _CurrentPEContextValid && + _BundleScalarBindings[[0]].valid then + ReadPEAbsoluteGPROperand(_CurrentMemoryAgent, + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + if UInt(current_peer_word) >= PTO_MODEL_MEMORY_AGENTS then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let current_source_tile = if _CurrentPEContextValid then + BundleGMOVPESourceTile(binding.source0, + UInt(current_peer_word) as MemoryAgentId) + else _Tiles[[binding.source0]]; if !binding.destination_valid || !binding.source0_valid || binding.source1_valid || !binding.last || !BundleGMOVCore4SourceReady(binding.source0) || BundleTileDestinationSizeBytes(0) != - _Tiles[[binding.source0]].capacity_bytes || + current_source_tile.capacity_bytes || !TileCarrierOrPackedBaselineDataTypeSupported( TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding)) || - _Tiles[[binding.source0]].data_type != TileDataTypeFromEncoding( + current_source_tile.data_type != TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding) || - _Tiles[[binding.source0]].layout != CurrentBundleTileLayout() then + current_source_tile.layout != CurrentBundleTileLayout() then SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; @@ -152,21 +223,37 @@ begin // carries the resolved peer source shape while B.DATR.Layout selects its // physical representation. if !ResolveBundleTileDestinationsWithShapeAndType( - TRUE, _Tiles[[binding.source0]].valid_rows, - _Tiles[[binding.source0]].valid_columns, - _Tiles[[binding.source0]].columns, TRUE, - _Tiles[[binding.source0]].data_type) then return FALSE; end; + TRUE, current_source_tile.valid_rows, + current_source_tile.valid_columns, + current_source_tile.columns, TRUE, + current_source_tile.data_type) then return FALSE; end; if !ValidateBundleLocalGenerationWriters() then RollBackBundleTileDestinations(); return FALSE; end; let destination = _BundleTileBindings[[0]].destination; let source = binding.source0; - if !TileOperandsLegal_GMOV(destination, source, Zeros{PTO_XLEN}) then + let selected_source = if _CurrentPEContextValid then + current_source_tile else _Tiles[[source]]; + if !BundleGMOVPESourceTileReady(selected_source) || + !TileElementwiseDescriptorLegal(destination) || + _Tiles[[destination]].rows != selected_source.rows || + _Tiles[[destination]].columns != selected_source.columns || + _Tiles[[destination]].valid_rows != selected_source.valid_rows || + _Tiles[[destination]].valid_columns != selected_source.valid_columns || + _Tiles[[destination]].data_type != selected_source.data_type || + _Tiles[[destination]].layout != selected_source.layout || + !TileElementwiseLayoutSupported(selected_source.layout) || + !TileCarrierOrPackedBaselineDataTypeSupported( + selected_source.data_type) then RollBackBundleTileDestinations(); SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; - GMOV(destination, source, Zeros{PTO_XLEN}); + if _CurrentPEContextValid then + GMOVFromSourceTile(destination, selected_source); + else + GMOV(destination, source, Zeros{PTO_XLEN}); + end; FinalizeBundleTileAttempt(TileExecution_Executed); return TRUE; end; diff --git a/docs/block/model/dispatch/weight-to-shared-execution.md b/docs/block/model/dispatch/weight-to-shared-execution.md index dff5062df..5aac8d3ca 100644 --- a/docs/block/model/dispatch/weight-to-shared-execution.md +++ b/docs/block/model/dispatch/weight-to-shared-execution.md @@ -359,7 +359,9 @@ begin _BundleDimensions[[0]][15:0], _BundleDimensions[[1]][15:0], _BundleDimensions[[2]][15:0], Zeros{4} + (parent_size_code as integer {1..12})); - if !CommitBundleSharedGenerationCandidateRange(0, + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements(0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -368,7 +370,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - payload_cells, BundleWeightTLOADPEBit(), TRUE, + payload_cells, payload_elements, TRUE, FALSE, + BundleWeightTLOADPEBit(), TRUE, gm_base, shape_word, start_word, generation_metadata, Zeros{PTO_XLEN}) then AbortBundleSharedGeneration(BundleSharedBindingId(0)); diff --git a/docs/block/model/lifecycle/reset.md b/docs/block/model/lifecycle/reset.md index 04c74674f..4629a4fda 100644 --- a/docs/block/model/lifecycle/reset.md +++ b/docs/block/model/lifecycle/reset.md @@ -156,6 +156,11 @@ begin _BundleTileBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleTileBindings[[index]].destination_assemble.init = FALSE; _BundleTileBindings[[index]].destination_assemble.last = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -184,6 +189,11 @@ begin _BundleSharedBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleSharedBindings[[index]].destination_assemble.init = FALSE; _BundleSharedBindings[[index]].destination_assemble.last = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; @@ -316,8 +326,6 @@ begin _TrapContexts[[ring]].bundle_hint = _BundleHint; _TrapContexts[[ring]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[ring]].local_generations = _LocalGenerations; - _TrapContexts[[ring]].shared_generations = _SharedGenerations; _TrapContexts[[ring]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[ring]].memory_copy_template = _MemoryCopyTemplate; diff --git a/docs/block/model/operands/local-generation-squash.md b/docs/block/model/operands/local-generation-squash.md new file mode 100644 index 000000000..258402a1a --- /dev/null +++ b/docs/block/model/operands/local-generation-squash.md @@ -0,0 +1,123 @@ + +# Local Generation Squash + +**Normative ASL source:** `asl/block/model/operands/local-generation-squash.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + +## Shared request interaction + +The same architecture event passes its dynamic request identity to the Shared-generation owner after it cancels Local writers and consumers. The Shared owner applies its existing incomplete-candidate abort rule and preserves any published generation's completion state. + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH","surface":"block","classification":["model","operands","local-generation-squash"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES"]} +func SquashBundleExecutionDomain(domain: integer) +begin + for slot = 0 to 63 do + var covered: bits(2048) = Zeros{2048}; + var ready: bits(2048) = Zeros{2048}; + var writers_left: integer {0..16} = 0; + var compacted_writers: LocalGenerationWriterSnapshot = + _LocalGenerations[[slot]].writers; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].identity + .execution_domain_token == domain then + _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; + _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; + end; + end; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid then + compacted_writers[[writers_left]] = + _LocalGenerations[[slot]].writers[[writer]]; + writers_left = (writers_left + 1) as integer {0..16}; + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]] + .cell_count then + let index = _LocalGenerations[[slot]].writers[[writer]] + .offset_cells + cell; + if index < 2048 then + covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + ready[index] = '1'; + end; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].covered_cells = covered; + _LocalGenerations[[slot]].ready_cells = ready; + for writer = writers_left to 15 do + compacted_writers[[writer]].valid = FALSE; + compacted_writers[[writer]].ready = FALSE; + end; + _LocalGenerations[[slot]].writers = compacted_writers; + _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; + for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].consumers[[index]].valid && + _LocalGenerations[[slot]].consumers[[index]] + .execution_domain_token == domain then + _LocalGenerations[[slot]].consumers[[index]].state = + BundleConsumerDependency_Cancelled; + _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; + end; + end; + for pe = 0 to 3 do + var pe_covered = Zeros{2048}; + var pe_ready = Zeros{2048}; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].pe_mask[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' then + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && + _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then + let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; + pe_covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + pe_ready[index] = '1'; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; + _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; + end; + if writers_left == 0 && _LocalGenerations[[slot]].open then + AbortBundleLocalGeneration(slot); + end; + end; + SquashPEOwnedSharedGenerationRequest(_CurrentModelCore, + _CurrentKernelInvocation, domain); +end; + +// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 +// Architecture event entry point for an execution-domain squash. The event +// is not instruction-encoded; a control-flow, fault, or interrupt mechanism +// invokes this procedure after the decoded writer path has registered its +// portable identity. +func EnterBundleExecutionDomainSquashEvent(domain: integer) +begin + SquashBundleExecutionDomain(domain); +end; +``` + diff --git a/docs/block/model/operands/portable-carriers.md b/docs/block/model/operands/portable-carriers.md index c971e3693..786ef970c 100644 --- a/docs/block/model/operands/portable-carriers.md +++ b/docs/block/model/operands/portable-carriers.md @@ -83,9 +83,13 @@ A generation has 32 CELLs, and writers for CELLs 0..15 and 16..31 are registered // NDF-BEGIN: PTO-B-ASSEMBLE-SPECULATION-001 // ndf: kind=contract level=L1 layer=block status=accepted -// Dynamic writers carry an opaque instruction-instance plus execution-domain -// identity. A squash cancels every unretired contribution in that domain and -// preserves the older committed mapping. +// Dynamic Local writers and actual-PE Shared-generation requests carry an +// instruction-instance plus execution-domain identity. A squash cancels only +// unretired contributions in that domain and preserves older committed Local +// mappings and published Shared parents. For an incomplete actual-PE Shared +// candidate, the matching Core/invocation/request-token contribution and its +// retained live, banked, or trap request copies are invalidated; unrelated +// identities and completed publication/release state remain intact. // NDF-END: PTO-B-ASSEMBLE-SPECULATION-001 // NDF-BEGIN: PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001 @@ -409,92 +413,6 @@ begin return TRUE; end; -func SquashBundleExecutionDomain(domain: integer) -begin - for slot = 0 to 63 do - var covered: bits(2048) = Zeros{2048}; - var ready: bits(2048) = Zeros{2048}; - var writers_left: integer {0..16} = 0; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].identity - .execution_domain_token == domain then - _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; - _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; - end; - end; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid then - writers_left = (writers_left + 1) as integer {0..16}; - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]] - .cell_count then - let index = _LocalGenerations[[slot]].writers[[writer]] - .offset_cells + cell; - if index < 2048 then - covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - ready[index] = '1'; - end; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].covered_cells = covered; - _LocalGenerations[[slot]].ready_cells = ready; - _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; - for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].consumers[[index]].valid && - _LocalGenerations[[slot]].consumers[[index]] - .execution_domain_token == domain then - _LocalGenerations[[slot]].consumers[[index]].state = - BundleConsumerDependency_Cancelled; - _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; - end; - end; - for pe = 0 to 3 do - var pe_covered = Zeros{2048}; - var pe_ready = Zeros{2048}; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].pe_mask[ - PTOPEMaskBitOfPEIdentity(pe)] == '1' then - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && - _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then - let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; - pe_covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - pe_ready[index] = '1'; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; - _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; - end; - if writers_left == 0 && _LocalGenerations[[slot]].open then - AbortBundleLocalGeneration(slot); - end; - end; -end; - -// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 -// Architecture event entry point for an execution-domain squash. The event -// is not instruction-encoded; a control-flow, fault, or interrupt mechanism -// invokes this procedure after the decoded writer path has registered its -// portable identity. -func EnterBundleExecutionDomainSquashEvent(domain: integer) -begin - SquashBundleExecutionDomain(domain); -end; - func BundleHasAssembleModifier() => boolean begin for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do diff --git a/docs/block/model/operands/range-modifiers.md b/docs/block/model/operands/range-modifiers.md index f7130a9f8..bd97096bf 100644 --- a/docs/block/model/operands/range-modifiers.md +++ b/docs/block/model/operands/range-modifiers.md @@ -319,6 +319,14 @@ begin .destination_assemble.init = init; _BundleTileBindings[[_BundleRangeGroup.tile_binding]] .destination_assemble.last = last; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; else _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.valid = TRUE; @@ -334,6 +342,14 @@ begin .destination_assemble.init = init; _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.last = last; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; end; MarkBundleRangeRole(2); end; diff --git a/docs/block/model/operands/shared-generation-pe-requests.md b/docs/block/model/operands/shared-generation-pe-requests.md new file mode 100644 index 000000000..d8a511fac --- /dev/null +++ b/docs/block/model/operands/shared-generation-pe-requests.md @@ -0,0 +1,522 @@ + +# Shared Generation PE Requests + +**Normative ASL source:** `asl/block/model/operands/shared-generation-pe-requests.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + +This unit implements per-PE request identity for the existing Shared generation owner. Each encoded contribution is captured under the selected Core and PE context, while publication and release remain governed by the existing generation contract. + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","surface":"block","classification":["model","operands","shared-generation-pe-requests"],"depends_on":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"]} +readonly func BundleSharedGenerationRequestWaiting( + binding: BundleSharedBindingIndex) => boolean +begin + return _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting; +end; + +readonly func BundleCurrentPEIsNonparticipantSharedAssembly() => boolean +begin + if !_CurrentPEContextValid then return FALSE; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble.init then + let mask = _BundleSharedBindings[[binding]].pe_mask; + let pe = _CurrentMemoryAgent as integer {0..3}; + if mask != Zeros{4} && + mask[PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func BundleSharedGenerationCompletionAvailableForCurrentPE() + => boolean +begin + if !_CurrentPEContextValid || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 || + _CurrentMemoryOrigin != MemoryEventOrigin_Kernel || + !BundleSharedTLSUSelected() then return FALSE; end; + let pe = _CurrentMemoryAgent as integer {0..3}; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let request = _BundleSharedBindings[[binding]].destination_assemble; + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if request.shared_request_identity_valid && + !request.shared_request_squashed && + !_BundleSharedBindings[[binding]].consumed && + request.shared_request_execution_domain == + _BundleExecutionDomainToken && + request.shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal && + _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +func ConsumeBundleSharedGenerationCompletionForCurrentPE() => boolean +begin + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + return FALSE; + end; + let pe = _CurrentMemoryAgent as integer {0..3}; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + ConsumeBundleSharedBindings(1); + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func SharedGenerationCoreIdentityMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex) => boolean +begin + return _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].parent_size_code == + BundleSharedGenerationCapacity(binding); +end; + +readonly func ValidateCurrentPESharedGenerationSubmission( + binding: BundleSharedBindingIndex) => boolean +begin + if !_CurrentPEContextValid || + !_BundleSharedBindings[[binding]].destination_assemble.init then + return FALSE; + end; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let pe_index = _CurrentMemoryAgent as integer {0..3}; + if participant_mask == Zeros{4} || + _BundleSharedBindings[[binding]].size_code == 0 then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let parent_cells = (BundleLocalGenerationCellCount( + BundleSharedGenerationCapacity(binding) as integer {1..12}) * 4) + as integer {4..8192}; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if offset_cells + writer_cells > parent_cells then return FALSE; end; + let selected = participant_mask[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1'; + // A structurally legal stream from a nonparticipant has no producer + // state to validate or mutate. It cannot abort a candidate belonging to + // actual participants. + if !selected then return TRUE; end; + if _SharedGenerations[[index]].open && + !SharedGenerationCoreIdentityMatches(index, binding) then + return FALSE; + end; + // A published actual-PE candidate may still have parked requests that + // have not consumed completion. Let the request reach the production + // owner, which parks it until release; it cannot join the old ordinal. + let waiting_for_release = _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask; + if _SharedGenerations[[index]].published && + _SharedGenerations[[index]].actual_pe_owned && + !waiting_for_release && + !SharedGenerationCoreIdentityMatches(index, binding) then + // A different invocation/site is a new INIT and will allocate the + // next operation ordinal after the old requests have released. + return TRUE; + end; + return TRUE; +end; + +readonly func SharedGenerationCoreRequestMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex, + candidate: SharedTileInfo) => boolean +begin + return SharedGenerationCoreIdentityMatches(index, binding) && + _SharedGenerations[[index]].working_tile.columns == + candidate.tile.columns && + _SharedGenerations[[index]].working_tile.data_type == + candidate.tile.data_type && + _SharedGenerations[[index]].working_tile.layout == + candidate.tile.layout; +end; + +readonly func ValidateBundleSharedGeneration() => boolean +begin + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let shared_tile_id = + _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = + _BundleSharedBindings[[binding]].destination_assemble; + let writer_size = assemble.size_code; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + if writer_size < 1 || writer_size > 12 then return FALSE; end; + if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; + if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; + if assemble.init && _CurrentPEContextValid then + if !ValidateCurrentPESharedGenerationSubmission(binding) then + return FALSE; + end; + else + if assemble.init && _SharedGenerations[[index]].open then + return FALSE; + end; + if !assemble.init && + (!_SharedGenerations[[index]].open || + _SharedGenerations[[index]].closed) then + return FALSE; + end; + if !assemble.init && + _SharedGenerations[[index]].participant_mask != + participant_mask then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + writer_size as integer {1..12}) * 4) as integer {4..8192}; + if !ValidateBundleSharedGenerationRange(binding, offset_cells, + writer_cells, participant_mask, FALSE, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then + return FALSE; + end; + end; + end; + end; + return TRUE; +end; + +func CommitBundleSharedGenerationCandidateForCurrentPE( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo) => boolean +begin + assert _CurrentPEContextValid && + _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + let pe_index = _CurrentMemoryAgent as integer {0..3}; + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let request_token = _BundleExecutionDomainToken; + if assemble.shared_request_squashed then + // The replay owner must install a fresh BSTART/domain before this + // request can execute again. Retain the stale completion as parked; + // it must never rejoin a new candidate or turn squash into a fault. + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + let parent_size = BundleSharedGenerationCapacity(binding); + let parent_cells = (BundleLocalGenerationCellCount( + parent_size as integer {1..12}) * 4) as integer {4..8192}; + let offset_cells = (UInt(assemble.offset) * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if participant_mask == Zeros{4} || + participant_mask[PTOPEMaskBitOfPEIdentity(pe_index)] != '1' || + candidate.allocation_mask != participant_mask || + !candidate.descriptor_valid || writer_cells > parent_cells || + offset_cells + writer_cells > parent_cells then + return FALSE; + end; + if !_BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain = request_token; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = 0; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + elsif _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain != request_token then + return FALSE; + end; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + + // An accepted request that retries after the matching collective LAST + // consumes its original completion token without replaying its payload. + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] == + request_token && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal then + if _SharedGenerations[[index]].published then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + elsif _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + return TRUE; + else + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + end; + + if _SharedGenerations[[index]].published then + if !_SharedGenerations[[index]].actual_pe_owned then + if !assemble.init then return FALSE; end; + ClearBundleSharedGenerationState(shared_tile_id); + elsif _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + else + if !assemble.init then return FALSE; end; + // Retire only lifecycle metadata. The already-published Shared + // parent remains visible until a complete replacement commits. + ClearBundleSharedGenerationState(shared_tile_id); + end; + elsif _SharedGenerations[[index]].open then + if !_SharedGenerations[[index]].actual_pe_owned then + return FALSE; + end; + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if !SharedGenerationCoreRequestMatches(index, binding, candidate) then + return FALSE; + end; + else + if !assemble.init then return FALSE; end; + end; + + let starts_generation = !_SharedGenerations[[index]].open; + if starts_generation then + let next_ordinal = + _SharedGenerations[[index]].next_operation_ordinal + 1; + _SharedGenerations[[index]].next_operation_ordinal = next_ordinal; + _SharedGenerations[[index]].operation_ordinal = next_ordinal; + _SharedGenerations[[index]].core_identity = _CurrentModelCore; + _SharedGenerations[[index]].invocation_identity = + _CurrentKernelInvocation; + _SharedGenerations[[index]].origin = _CurrentMemoryOrigin; + _SharedGenerations[[index]].source_acr = _CurrentACR; + _SharedGenerations[[index]].producer_site = ReadBPC(); + _SharedGenerations[[index]].start_instruction = + _BundleStartEncodedInstruction; + _SharedGenerations[[index]].operation_form = + _BundleOperation.form_identity; + _SharedGenerations[[index]].operation_selector = + _BundleOperation.selector; + _SharedGenerations[[index]].actual_pe_owned = TRUE; + end; + + // Reuse the existing Shared-generation range validator and writer. INIT + // joins are normalized to an internal continuation after common identity + // matching; LAST is staged until all actual arrivals and ranges exist. + _BundleSharedBindings[[binding]].destination_assemble.init = + starts_generation; + _BundleSharedBindings[[binding]].destination_assemble.last = FALSE; + let original_shared_size = _BundleSharedBindings[[binding]].size_code; + if !starts_generation then + _BundleSharedBindings[[binding]].size_code = 0; + end; + let prior_initialized = + _SharedGenerations[[index]].working_initialized_mask; + let element_bits = TileElementBits(candidate.tile.data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + let whole_parent_tload = _BundleOperation.valid && + _BundleOperation.operation_class == BundleOperation_TileMemory && + _BundleOperation.selector_valid && _BundleOperation.selector[4:0] == Zeros{5}; + // Physical writer padding is covered; only defined valid coordinates copy. + let preserve_source_geometry = BundleTMOVSelected(); + let committed = + CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, writer_cells, + writer_cells, writer_payload_elements, + !whole_parent_tload, preserve_source_geometry, participant, + FALSE, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); + _BundleSharedBindings[[binding]].destination_assemble.init = assemble.init; + _BundleSharedBindings[[binding]].destination_assemble.last = assemble.last; + _BundleSharedBindings[[binding]].size_code = original_shared_size; + if !committed then return FALSE; end; + + _SharedGenerations[[index]].actual_pe_owned = TRUE; + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] = + request_token; + _SharedGenerations[[index]].arrival_program_orders[[pe_index]] = + _CurrentProgramOrder; + _SharedGenerations[[index]].working_initialized_mask = + prior_initialized OR participant; + _SharedGenerations[[index]].last_seen = + _SharedGenerations[[index]].last_seen || assemble.last; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = + _SharedGenerations[[index]].operation_ordinal; + + var all_coverage_present = TRUE; + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count then + if _SharedGenerations[[index]].covered_cells[cell] == '0' then + all_coverage_present = FALSE; + end; + if _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + end; + let all_participants_arrived = + _SharedGenerations[[index]].arrived_participants == participant_mask; + if _SharedGenerations[[index]].last_seen && + all_participants_arrived && all_coverage_present && all_data_ready then + _SharedGenerations[[index]].last_seen = TRUE; + _SharedGenerations[[index]].closed = TRUE; + _SharedGenerations[[index]].open = FALSE; + _SharedGenerations[[index]].published = TRUE; + _SharedGenerations[[index]].working_tile.contents_defined = TRUE; + _SharedGenerations[[index]].working_tile.defined_valid_elements = + (_SharedGenerations[[index]].working_tile.valid_rows * + _SharedGenerations[[index]].working_tile.valid_columns) + as integer {0..524288}; + _SharedTiles[[index]].descriptor_valid = TRUE; + _SharedTiles[[index]].allocation_mask = participant_mask; + _SharedTiles[[index]].initialized_mask = participant_mask; + _SharedTiles[[index]].whole_parent_ready = TRUE; + _SharedTiles[[index]].published = TRUE; + _SharedTiles[[index]].tile = _SharedGenerations[[index]].working_tile; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + end; + if assemble.last && !all_participants_arrived then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if assemble.last && all_participants_arrived && + !all_coverage_present then + return FALSE; + end; + if assemble.last && all_participants_arrived && + all_coverage_present && !all_data_ready then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; +end; + +func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) + => SharedTileInfo +begin + let index = SharedTileArrayIndex(shared_tile_id); + let prior = _SharedTiles[[index]]; + _SharedTiles[[index]].descriptor_valid = FALSE; + _SharedTiles[[index]].allocation_mask = Zeros{4}; + _SharedTiles[[index]].initialized_mask = Zeros{4}; + _SharedTiles[[index]].whole_parent_ready = FALSE; + _SharedTiles[[index]].published = FALSE; + return prior; +end; +func RestoreBundleSharedGenerationProbe( + shared_tile_id: SharedTileID, prior: SharedTileInfo) +begin + _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; +end; +``` + diff --git a/docs/block/model/operands/shared-generation.md b/docs/block/model/operands/shared-generation.md index 40bc62a58..9c8c70a3b 100644 --- a/docs/block/model/operands/shared-generation.md +++ b/docs/block/model/operands/shared-generation.md @@ -15,14 +15,14 @@ This page is a generated reference view of the normative ASL unit. ## Purpose and scope -This unit owns Shared generations and Shared subviews. A Shared generation is a Shared Tile built by one or more writers with `B.ASSEMBLE`. A Shared subview is a `B.SUBVIEW` range of a published Shared Tile that each PE may place differently. +This unit owns Shared-generation range validation, low-level candidate merging and atomic publication, plus Shared-subview validation and materialization. A Shared generation is a Shared Tile built with `B.ASSEMBLE`; a Shared subview is a range of a published Shared Tile that each PE may place differently. -The unit validates writer ranges, merges each writer's payload into a working copy, and publishes the complete object at LAST. +The adjacent per-PE request owner handles encoded request identity, actual-PE source capture, admission, and retained completion. The logical `pe_mask` still describes the operation's participants and shapes; an encoded request contributes only its executing PE. ## Concepts and visible state -The unit updates the `_SharedGenerations` record of one Shared Tile ID and, at LAST, the published `_SharedTiles` entry. +The range and aggregate helpers in this unit update the `_SharedGenerations` record for a Shared Tile ID and publish the complete `_SharedTiles` entry at LAST. Encoded per-PE request identity and release tracking are maintained by the adjacent request owner. Coverage is tracked in 32-byte units, with 8192 units in a map. An ordinary `B.ASSEMBLE` offset and size code are in 128-byte CELLs, and the wrappers multiply by 4. The ASL comment states the reason: the finer unit lets specialized complete-row producers express the TIMG2COL row ranges without partial CELL rules. Weight `TLOAD` also commits through the same range entry point. @@ -39,36 +39,38 @@ Coverage is tracked in 32-byte units, with 8192 units in a map. An ordinary `B.A - the range fits in the parent and, for a continuation, overlaps no covered unit; - at LAST, every parent unit is covered and every participant has arrived. -`ValidateBundleSharedGeneration` applies this to ordinary writers during stage-2 preparation, with the whole binding mask arriving. +The `PTO-B-ASSEMBLE-SHARED-GENERATION-001` contract distinguishes the logical participant mask from an encoded arrival: each encoded submission captures only its executing PE, while standalone aggregate verification retains whole-mask arrival semantics. The actual-PE request owner performs that encoded admission. -`CommitBundleSharedGenerationCandidateRange` repeats the validation. INIT resets the record and starts a working Tile from the candidate with the parent capacity and no defined elements. A continuation requires matching columns, data type, and layout. The candidate's defined elements are copied into the working Tile at the writer's offset, and the valid region grows to cover them. Coverage, readiness, and arrival are updated. At LAST the working Tile becomes the published Shared Tile in the same commit step. +`CommitBundleSharedGenerationCandidateRange` repeats range validation and merges a candidate into the working Tile at the writer's offset. INIT starts the working Tile with the parent capacity and no defined elements; continuations require matching columns, data type, and layout. The low-level operation updates coverage, readiness, and arrival, and at LAST publishes the complete working Tile in the same commit step. Encoded per-PE admission, once-only contribution, and retained release are handled by the adjacent request owner. Design point: `CommitBundleSharedGenerationCandidateRange` writes `_SharedTiles` only at LAST; earlier calls change only the generation record. The NDF `PTO-B-ASSEMBLE-SHARED-GENERATION-001` requires publication to replace descriptor and payload atomically and every rejection to preserve the prior published generation. Design point: participant arrival is tracked apart from coverage. A specialized cooperative producer passes one PE's arrival bit per writer, and a PE with zero rows can arrive without writing cells, so the collective can still close. -`BeginBundleSharedGenerationProbe` saves the published record and hides it while a Shared `TLOAD` or a Local-to-Shared `TMOV` builds a candidate. On the fault-free `TLOAD` path, and always for `TMOV`, `RestoreBundleSharedGenerationProbe` puts it back before the commit. The Shared TLSU comment states that after a first fault the candidate record is left in place and is neither ready nor published. +Under the Shared-generation contract, a squashed actual request cannot later contribute to an incomplete candidate; a published candidate keeps its pending releases. The state and per-PE request owners handle request-token invalidation across saved PE and trap contexts. + +The per-PE request and Shared TLSU owners describe the temporary Shared `TLOAD`/`TMOV` candidate probe and its first-fault behavior; see those related owners below. ## Architectural boundaries `BundleSharedSubviewLegal` requires a size-code-0 source binding of a published, non-CUBE Shared Tile. For every selected PE, it evaluates `GPR[RegSrc] + uimm11` in that PE's own registers, then requires the range to fit the parent and to be either within one row or whole rows starting at column 0. `MaterializeBundleSharedSubviewForPE` builds that PE's view. One bad view rejects the operation. -`AbortBundleSharedGenerationsForBundle` aborts every generation the bundle touched when a tile operation fails. +`AbortBundleSharedGenerationsForBundle` visits the bundle's valid Shared assembly destination bindings and aborts those destination generations after a tile-operation failure. It does not abort an arbitrary Shared source generation merely because the operation read that source. ## Non-normative reading example This example illustrates the current ASL owner and does not replace the normative operation. -Shared Tile 3 is built by two ordinary writer bundles with mask `1111` and parent size code 7 (8192 bytes, 64 CELLs, 256 units). Bundle A carries INIT with writer size code 6 (32 CELLs) at offset 0. After A, units 0..127 are covered and all four PEs have arrived, because an ordinary writer arrives with its whole mask. Bundle B carries LAST with writer size code 6 at offset 32 and covers units 128..255. Coverage is then complete, and the working Tile replaces Shared Tile 3. If B used offset 16 instead, its range would overlap covered units, B would fault with `Fault_TileLegality`, the open generation would be aborted, and any previously published Shared Tile 3 would remain published. +In encoded witness `PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009`, four PEs use the same logical mask `1111`, Shared Tile 19, and 512-byte parent, with one 128-byte CELL written at offset 0, 1, 2, or 3 by its actual PE. Each request carries matching `INIT_LAST` metadata but captures only that PE's private source. The first three stops remain fault-free and parked without advancing TPC or publishing; the fourth completes coverage and atomically publishes all four distinct fragments. Retrying the earlier stops consumes their retained completion once without replaying a fragment. A later use of the same static operation gets a fresh ordinal and new fragments while the prior parent remains visible until the replacement completes. ## Related owners - [Shared generation state](../state/shared-generation-state.md) clears, resets, and aborts the records. - [Shared bindings](shared-bindings.md) defines reused destinations. -- [Shared TLSU](../dispatch/shared-tlsu.md), [TIMG2COL execution](../dispatch/timg2col-execution.md), and [Weight-to-shared execution](../dispatch/weight-to-shared-execution.md) commit candidates. +- [Per-PE Shared-generation requests](shared-generation-pe-requests.md) owns encoded source capture, admission, publication, and retained release; [Shared TLSU](../dispatch/shared-tlsu.md), [TIMG2COL execution](../dispatch/timg2col-execution.md), and [Weight-to-shared execution](../dispatch/weight-to-shared-execution.md) call the applicable commit path. - [B.ASSEMBLE](../../operands/B.ASSEMBLE.md) is the command page. @@ -85,7 +87,19 @@ Shared Tile 3 is built by two ordinary writer bundles with mask `1111` and paren // the same generation ordinal with matching metadata, and no participant has // faulted or been squashed. Publication MUST replace the complete Shared // descriptor and payload atomically; every rejection MUST preserve the prior -// published generation. +// published generation. Encoded per-PE submissions MUST capture only the +// executing participant's real source and arrival. A matching participant +// may join one open Core-owned candidate once; an incomplete collective LAST +// remains parked without a fault or PC advance until every declared range and +// participant is present. A later request from an already-arrived PE MUST NOT +// be merged into that earlier candidate. Completed candidates remain retained +// until every parked request has consumed its completion, and a new INIT MUST +// use a new operation ordinal rather than reusing the old candidate. Squashing +// an execution domain whose actual arrival token belongs to an incomplete +// PE-owned candidate MUST abort that candidate and invalidate the retained +// request identity across saved PE and trap contexts. A published candidate +// is irrevocable: squash MUST preserve its payload and outstanding release +// state. // NDF-END: PTO-B-ASSEMBLE-SHARED-GENERATION-001 // NDF-BEGIN: PTO-B-SUBVIEW-SHARED-PER-PE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -105,16 +119,21 @@ begin for binding = 0 to 3 do if _BundleSharedBindings[[binding]].valid && _BundleSharedBindings[[binding]].destination_assemble.valid then - AbortBundleSharedGeneration( + let index = SharedTileArrayIndex( _BundleSharedBindings[[binding]].shared_tile_id); + // Publication is irrevocable. A later unrelated or malformed + // request cannot erase a published parent's outstanding releases; + // explicit invocation retirement owns their metadata cleanup. + if !_SharedGenerations[[index]].actual_pe_owned || + !_SharedGenerations[[index]].published then + AbortBundleSharedGeneration( + _BundleSharedBindings[[binding]].shared_tile_id); + end; end; end; end; -// Shared generation coverage is tracked internally in 32-byte units. Ordinary -// B.ASSEMBLE offsets and SizeCodes remain 128-byte Tile CELL quantities and -// the compatibility wrappers below expand each such CELL to four units. The -// finer internal granularity lets specialized complete-row producers express -// the frozen TIMG2COL row ranges without inventing partial generic CELL rules. +// Coverage uses 32-byte units; wrappers expand existing 128-byte CELL +// quantities to four units for specialized complete-row producers. readonly func BundleSharedGenerationCoverageWithCurrent( shared_tile_id: SharedTileID, offset_cells: integer {0..8192}, @@ -131,10 +150,8 @@ begin end; return covered; end; -// A specialized collective may contribute fewer physical cells than the -// size-coded carrier and may contribute no cells at all. Participant arrival -// remains independent of CELL coverage so a zero-row PE can complete the -// collective without writing payload or definedness. +// Specialized collectives may contribute fewer cells (including zero); +// arrival remains independent of coverage and payload definedness. readonly func ValidateBundleSharedGenerationRange( binding: BundleSharedBindingIndex, offset_cells: integer {0..8192}, @@ -215,54 +232,14 @@ begin end; return TRUE; end; -readonly func ValidateBundleSharedGeneration() => boolean -begin - for binding = 0 to 3 do - if _BundleSharedBindings[[binding]].valid && - _BundleSharedBindings[[binding]].destination_assemble.valid then - let shared_tile_id = - _BundleSharedBindings[[binding]].shared_tile_id; - let index = SharedTileArrayIndex(shared_tile_id); - let assemble = - _BundleSharedBindings[[binding]].destination_assemble; - let writer_size = assemble.size_code; - let participant_mask = _BundleSharedBindings[[binding]].pe_mask; - if writer_size < 1 || writer_size > 12 then return FALSE; end; - if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; - if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; - if assemble.init && _SharedGenerations[[index]].open then - return FALSE; - end; - if !assemble.init && - (!_SharedGenerations[[index]].open || - _SharedGenerations[[index]].closed) then - return FALSE; - end; - if !assemble.init && - _SharedGenerations[[index]].participant_mask != - participant_mask then - return FALSE; - end; - let raw_offset = UInt(assemble.offset); - if raw_offset > 2047 then return FALSE; end; - let offset_cells = (raw_offset * 4) as integer {0..8188}; - let writer_cells = (BundleLocalGenerationCellCount( - writer_size as integer {1..12}) * 4) as integer {4..8192}; - if !ValidateBundleSharedGenerationRange(binding, offset_cells, - writer_cells, participant_mask, FALSE, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then - return FALSE; - end; - end; - end; - return TRUE; -end; -func CommitBundleSharedGenerationCandidateRange( +func CommitBundleSharedGenerationCandidateRangeWithPayloadElements( binding: BundleSharedBindingIndex, candidate: SharedTileInfo, offset_cells: integer {0..8192}, coverage_cells: integer {0..8192}, payload_cells: integer {0..8192}, + payload_elements: integer {0..524288}, + placed_fragment: boolean, + preserve_source_geometry: boolean, participant_arrival: bits(4), specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, @@ -278,6 +255,8 @@ begin if !candidate.descriptor_valid || candidate.allocation_mask != participant_mask || payload_cells > coverage_cells || + payload_elements > ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) || !ValidateBundleSharedGenerationRange(binding, offset_cells, coverage_cells, participant_arrival, specialized_inputs_valid, specialized_input0, specialized_input1, @@ -287,17 +266,19 @@ begin if assemble.init then let parent_size = _BundleSharedBindings[[binding]].size_code as integer {1..12}; let parent_bytes = TileSizeCodeBytes(parent_size); - let parent_rows = DerivedTileRows( - parent_bytes, candidate.tile.columns, candidate.tile.data_type); + let parent_rows = DerivedTileRows(parent_bytes, candidate.tile.columns, candidate.tile.data_type); if parent_rows == 0 then return FALSE; end; + let complete_source_view = preserve_source_geometry && placed_fragment && + offset_cells == 0 && candidate.tile.capacity_bytes == parent_bytes && + coverage_cells == BundleLocalGenerationCellCount(parent_size) * 4 && + payload_cells == coverage_cells && payload_elements == TileLogicalElementCapacity(parent_bytes, candidate.tile.data_type); _SharedGenerations[[index]].open = TRUE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = participant_mask; _SharedGenerations[[index]].parent_size_code = parent_size; - _SharedGenerations[[index]].parent_cell_count = - BundleLocalGenerationCellCount(parent_size) * 4; + _SharedGenerations[[index]].parent_cell_count = BundleLocalGenerationCellCount(parent_size) * 4; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; @@ -312,7 +293,11 @@ begin _SharedGenerations[[index]].working_valid = TRUE; _SharedGenerations[[index]].working_tile = candidate.tile; _SharedGenerations[[index]].working_tile.capacity_bytes = parent_bytes; - _SharedGenerations[[index]].working_tile.rows = parent_rows; + _SharedGenerations[[index]].working_tile.rows = if complete_source_view then + candidate.tile.rows else parent_rows; + // Rebuild placed-fragment validity in the destination geometry. + if placed_fragment then _SharedGenerations[[index]].working_tile.valid_rows = 0; + _SharedGenerations[[index]].working_tile.valid_columns = 0; end; _SharedGenerations[[index]].working_tile.contents_defined = FALSE; _SharedGenerations[[index]].working_tile.defined_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; @@ -331,12 +316,11 @@ begin return FALSE; end; end; - if payload_cells != 0 then + var descriptor_expanded = FALSE; + if payload_elements != 0 then let element_bits = TileElementBits(candidate.tile.data_type); - let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) - as integer {0..524287}; - let source_elements = ((payload_cells * 32 * 8) DIVRM element_bits) - as integer {1..524288}; + let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) as integer {0..524287}; + let source_elements = payload_elements; let parent_elements = TileLogicalElementCapacity( _SharedGenerations[[index]].working_tile.capacity_bytes, candidate.tile.data_type); @@ -359,32 +343,42 @@ begin end; end; _SharedGenerations[[index]].working_tile = working; - let working_columns = working.columns as integer {1..65535}; - let last_valid_row = (candidate.tile.valid_rows - 1) - as integer {0..65534}; - let last_valid_column = (candidate.tile.valid_columns - 1) - as integer {0..65534}; - let candidate_valid_extent = - (TileLogicalLinearIndex(candidate.tile, last_valid_row, - last_valid_column) + 1) as integer {1..524288}; - let required_end = destination_offset + candidate_valid_extent; - if required_end > parent_elements then return FALSE; end; - let required_rows = ((required_end + - (working_columns - 1)) DIVRM working_columns) - as integer {1..65535}; - if _SharedGenerations[[index]].working_tile.valid_rows < required_rows then - _SharedGenerations[[index]].working_tile.valid_rows = required_rows; + // Actual PE fragments compose validity; TLOAD retains whole-parent shape. + let previous_valid_rows = _SharedGenerations[[index]].working_tile.valid_rows; + let previous_valid_columns = _SharedGenerations[[index]].working_tile.valid_columns; + let candidate_rows = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_rows, FALSE) + else candidate.tile.valid_rows; + let candidate_columns = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_columns, TRUE) + else candidate.tile.valid_columns; + descriptor_expanded = candidate_rows > previous_valid_rows || + candidate_columns > previous_valid_columns; + if _SharedGenerations[[index]].working_tile.valid_rows < + candidate_rows then + _SharedGenerations[[index]].working_tile.valid_rows = candidate_rows; end; if _SharedGenerations[[index]].working_tile.valid_columns < - candidate.tile.valid_columns then - _SharedGenerations[[index]].working_tile.valid_columns = - candidate.tile.valid_columns; + candidate_columns then + _SharedGenerations[[index]].working_tile.valid_columns = candidate_columns; end; end; let covered = BundleSharedGenerationCoverageWithCurrent( shared_tile_id, offset_cells, coverage_cells, assemble.init); _SharedGenerations[[index]].covered_cells = covered; - _SharedGenerations[[index]].ready_cells = covered; + let prior_ready = if assemble.init then Zeros{8192} + else _SharedGenerations[[index]].ready_cells; + let range_ready = BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, prior_ready, + offset_cells, coverage_cells); + _SharedGenerations[[index]].ready_cells = if payload_elements != 0 && + descriptor_expanded then + BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, range_ready, + 0, _SharedGenerations[[index]].parent_cell_count) + else range_ready; _SharedGenerations[[index]].arrived_participants = _SharedGenerations[[index]].arrived_participants OR participant_arrival; @@ -392,6 +386,14 @@ begin _SharedGenerations[[index]].working_initialized_mask OR candidate.initialized_mask; if assemble.last then + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count && + _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + if !all_data_ready then return FALSE; end; _SharedGenerations[[index]].last_seen = TRUE; _SharedGenerations[[index]].closed = TRUE; _SharedGenerations[[index]].open = FALSE; @@ -407,6 +409,24 @@ begin end; return TRUE; end; +func CommitBundleSharedGenerationCandidateRange( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo, + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}, + payload_cells: integer {0..8192}, + participant_arrival: bits(4), + specialized_inputs_valid: boolean, + specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, + specialized_input3: Word, specialized_metadata: Word) => boolean +begin + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) as integer {0..524288}; + return CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, coverage_cells, payload_cells, + payload_elements, FALSE, FALSE, participant_arrival, specialized_inputs_valid, + specialized_input0, specialized_input1, specialized_input2, + specialized_input3, specialized_metadata); +end; // Ordinary B.ASSEMBLE retains its size-coded range and represents arrival of // the complete decoded PE mask. Specialized collectives use the explicit // range entry point above. @@ -423,23 +443,6 @@ begin Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); end; -func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) - => SharedTileInfo -begin - let index = SharedTileArrayIndex(shared_tile_id); - let prior = _SharedTiles[[index]]; - _SharedTiles[[index]].descriptor_valid = FALSE; - _SharedTiles[[index]].allocation_mask = Zeros{4}; - _SharedTiles[[index]].initialized_mask = Zeros{4}; - _SharedTiles[[index]].whole_parent_ready = FALSE; - _SharedTiles[[index]].published = FALSE; - return prior; -end; -func RestoreBundleSharedGenerationProbe( - shared_tile_id: SharedTileID, prior: SharedTileInfo) -begin - _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; -end; readonly func BundleSharedSubviewOffsetRawForPE( binding: BundleSharedBindingIndex, pe_identity: MemoryAgentId) => Word begin diff --git a/docs/block/model/operands/subview-descriptor.md b/docs/block/model/operands/subview-descriptor.md index 183288030..3dfa9e081 100644 --- a/docs/block/model/operands/subview-descriptor.md +++ b/docs/block/model/operands/subview-descriptor.md @@ -74,7 +74,7 @@ A `CUBE_M16` FP16 parent has valid shape 16 by 32. Each CELL is 16 rows by 4 col ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} // NDF-BEGIN: PTO-B-SUBVIEW-DESCRIPTOR-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -225,7 +225,6 @@ end; func PrepareSelectedBundleStage2() => boolean begin if !_BundleOperation.valid then return TRUE; end; - if !ResolveBundleRelativeTileSources() then return FALSE; end; let family = BundleTileDecodeFamily(_BundleOperation.operation_class); let code = BundleOperationDecodeCode(_BundleOperation); let decoded = DecodeTileOperation(family, code); @@ -234,6 +233,24 @@ begin return FALSE; end; let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + // Keep assembly wire/range checks for malformed requests, but avoid + // resolving private source tiles or consulting producer readiness on + // a PE that is not a logical participant. + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + // This is the same admitted request resuming at its original stop. + // Dispatch performs the structural guard and consumes the retained + // completion; stage2 must not reread source readiness or rebuild the + // contribution before that check. + return TRUE; + end; + if !ResolveBundleRelativeTileSources() then return FALSE; end; if !PrepareBundleSubviewDescriptors(operation) then return FALSE; end; if !ValidateBundleLocalGenerationStructure() then return FALSE; end; if !ValidateBundleSharedGeneration() then diff --git a/docs/block/model/state/control-state.md b/docs/block/model/state/control-state.md index 410ecd976..25e8c78de 100644 --- a/docs/block/model/state/control-state.md +++ b/docs/block/model/state/control-state.md @@ -76,7 +76,11 @@ A bundle with `B.CATR` acquire and release set and no `B.DATR` has memory order ```asl // PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","surface":"block","classification":["model","state","control-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_LocalGenerations","_SharedGenerations","_BundleExecutionDomainToken","_NextBundleExecutionDomainToken","_TileDataLayoutCapabilities","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"pe","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleStartEncodedInstruction","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_BundleExecutionDomainToken","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-LOCAL-GENERATIONS","classification":["block","local-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_LocalGenerations"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-SHARED-GENERATIONS","classification":["block","shared-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_SharedGenerations"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CORE-TILE-CAPABILITIES","classification":["block","tile-capabilities"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_TileDataLayoutCapabilities"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-EXECUTION-DOMAIN-ALLOCATOR","classification":["block","execution-domain-allocator"],"scope":"system","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_NextBundleExecutionDomainToken"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-BUNDLE-STATE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -85,6 +89,7 @@ A bundle with `B.CATR` acquire and release set and no `B.DATR` has memory order // NDF-END: PTO-REQ-BUNDLE-STATE-001 var _BARG : BundleArgumentRegister; +var _BundleStartEncodedInstruction : bits(64); // C.SETC.TGT owns one successful value snapshot per active block. This marker // is separate from BARG.BPCN because BSTART initializes BPCN before any setter. var _BundleCommitTargetSet : boolean; diff --git a/docs/block/model/state/descriptor-state.md b/docs/block/model/state/descriptor-state.md index cfea33bb1..ad28949f5 100644 --- a/docs/block/model/state/descriptor-state.md +++ b/docs/block/model/state/descriptor-state.md @@ -77,6 +77,7 @@ end; func ClearBundleHeaderState() begin + _BundleStartEncodedInstruction = Zeros{64}; _BundleCommitTargetSet = FALSE; _BundleConditionSet = FALSE; _SystemBlockTerminalPending = FALSE; @@ -124,6 +125,11 @@ begin _BundleTileBindings[[index]].source1_subview.materialized = FALSE; _BundleTileBindings[[index]].source1_subview.materialized_index = 0; _BundleTileBindings[[index]].destination_assemble.valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -140,6 +146,11 @@ begin _BundleSharedBindings[[index]].source0_subview.materialized = FALSE; _BundleSharedBindings[[index]].source0_subview.materialized_index = 0; _BundleSharedBindings[[index]].destination_assemble.valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; diff --git a/docs/block/model/state/shared-generation-state.md b/docs/block/model/state/shared-generation-state.md index 0f961c848..964f5ee00 100644 --- a/docs/block/model/state/shared-generation-state.md +++ b/docs/block/model/state/shared-generation-state.md @@ -15,7 +15,7 @@ This page is a generated reference view of the normative ASL unit. ## Purpose and scope -This unit defines how the pending Shared generation records are cleared, reset, queried, and aborted. A Shared generation is an in-progress `B.ASSEMBLE` build of one Shared Tile, which several bundles or participating PEs may fill before it is published. +This unit owns the state operations that clear, reset, query, and abort Shared-generation records, plus Core-and-invocation-scoped retirement of actual-PE request metadata. A Shared generation is an in-progress `B.ASSEMBLE` build of one Shared Tile that may receive contributions before publication. ## Concepts and visible state @@ -23,8 +23,8 @@ This unit defines how the pending Shared generation records are cleared, reset, `_SharedGenerations` has one record per Shared Tile ID, `PTO_SHARED_TILE_COUNT` records in all. Each record tracks: - lifecycle flags `open`, `closed`, and `published`; -- the Shared Tile ID, participant mask, parent size code, and parent cell count; -- `covered_cells` and `ready_cells` bitmaps and the `arrived_participants` mask; +- the Shared Tile ID, logical participant mask, parent size code and cell count, plus actual-PE ownership, Core/invocation identity, operation ordinal, and request provenance; +- `covered_cells` and `ready_cells` bitmaps, `arrived_participants`, per-PE request tokens and program orders, and `released_participants`; - specialized producer inputs and metadata, with a valid flag; - `last_seen`; - a working copy of the Tile (`working_tile`), with `working_valid` and `working_initialized_mask`. @@ -32,34 +32,36 @@ This unit defines how the pending Shared generation records are cleared, reset, ## Rules and interactions -`ClearBundleSharedGenerationState(id)` resets the record for one ID: it keeps the Shared Tile ID, and all other flags, masks, bitmaps, and inputs become zero or false. `working_tile` is reloaded from the current published Shared Tile. +`ClearBundleSharedGenerationState(id)` clears the active record for one ID but preserves its `next_operation_ordinal`; it keeps the Shared Tile ID, resets the other active flags, masks, bitmaps, identities, and inputs, and reloads `working_tile` from the current published Shared Tile. -`ResetBundleSharedGenerationState` clears every record. `BundleSharedGenerationOpen(id)` reports the `open` flag. `AbortBundleSharedGeneration(id)` is the same as clearing that record. +`ResetBundleSharedGenerationState` clears every record and initializes each `next_operation_ordinal` to zero. `BundleSharedGenerationOpen(id)` reports the `open` flag. `AbortBundleSharedGeneration(id)` clears one active generation record while preserving its next ordinal. -Design point: abort discards only the working copy. The published Shared Tile is not touched, and the working copy is reloaded from it. A rejected or faulted assembly therefore leaves the previously published Shared object exactly as it was, which is what the Shared-generation contract `PTO-B-ASSEMBLE-SHARED-GENERATION-001` requires. +Design point: abort discards the active candidate, identity, coverage, and release bookkeeping for that record, but does not change the published Shared Tile or rewind its next ordinal. The working copy is reloaded from the published Tile, so a rejected or faulted incomplete assembly leaves the prior Shared object intact as required by `PTO-B-ASSEMBLE-SHARED-GENERATION-001`. Design point: pending Shared generations stay outside the architectural `S` register file until complete collective publication. Other readers see either the old object or the complete new one, never a partly assembled Tile. +The request-squash owner matches Core, invocation, and an actual arrival token before aborting an incomplete actual-PE candidate. It marks the corresponding active and saved PE/trap bindings before clearing the candidate, so context recovery cannot revive that request. Squash preserves a published generation and its pending releases. Separately, `RetirePEOwnedSharedGenerationsForInvocation` clears actual-PE records for the retiring Core and invocation, including unconsumed release metadata, while preserving the published Shared Tile, next ordinal, and unrelated Core, invocation, and aggregate records; kernel End and Abort call this retirement owner. + ## Architectural boundaries -This unit does not open, extend, or publish a generation. Those steps, and the coverage and participant checks, are owned by the Shared-generation operand unit. +This unit does not perform range admission or candidate publication. The Shared-generation operand unit owns low-level range validation and aggregate helpers; the adjacent per-PE request unit owns encoded request identity, actual-PE contribution, and retained release. The related-owner links identify both paths. -Shared generation records are not cleared by `ClearBundleHeaderState`. They survive commit and are closed by abort, publication, or reset. +Shared generation records are not cleared by `ClearBundleHeaderState`. Incomplete records close through their operation-specific abort or publication path; actual-PE request metadata is also retired on invocation End/Abort, while aggregate records and published Shared Tiles remain under their existing owners. ## Non-normative reading example This example illustrates the current ASL owner and does not replace the normative operation. -A two-bundle assembly of Shared Tile 3 has half its cells covered when the second bundle faults. Tile execution aborts the generation for ID 3. All flags of the record return to false, its coverage is empty, its working copy equals the published Shared Tile 3, and readers of Shared Tile 3 still see the old object. +A four-PE encoded assembly of Shared Tile 19 publishes only after the fourth actual request supplies its range. If an incomplete candidate is aborted, its active coverage and request/release metadata are cleared, the next operation ordinal is retained, and the previously published Shared Tile remains readable. At invocation End or Abort, actual-PE release bookkeeping for that Core and invocation is retired without clearing the published Tile or another invocation's record. ## Related owners -- [Shared generation](../operands/shared-generation.md) opens, extends, and publishes generations. +- [Shared generation](../operands/shared-generation.md) owns low-level ranges and aggregate operations; [per-PE Shared-generation requests](../operands/shared-generation-pe-requests.md) owns encoded capture, contribution, and release. - [Shared registers](../../../tile/model/state/shared-registers.md) own the published Shared Tiles. -- [Tile execution](../dispatch/tile-execution.md) aborts generations after a failed operation. +- [Tile execution](../dispatch/tile-execution.md) aborts destination generations after a failed operation; [kernel lifecycle](../../../arch/state/kernel-lifecycle.md) retires actual-PE request metadata at invocation End/Abort. - [B.ASSEMBLE](../../operands/B.ASSEMBLE.md) is the command page. @@ -67,20 +69,218 @@ A two-bundle assembly of Shared Tile 3 has half its cells covered when the secon ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-DESCRIPTORS","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY"]} +readonly func BundleSharedGenerationStorageRow( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element DIVRM row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element MOD tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_row = (block DIVRM block_columns) + as integer {0..8191}; + let inner_row = (within_block MOD 16) + as integer {0..15}; + return (block_row * 16 + inner_row) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_row = (block MOD block_rows) as integer {0..8191}; + let inner_row = (within_block DIVRM inner_elements) + as integer {0..255}; + return (block_row * 16 + inner_row) as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageColumn( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element MOD row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element DIVRM tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_column = (block MOD block_columns) + as integer {0..16383}; + let inner_column = (within_block DIVRM 16) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_column = (block DIVRM block_rows) + as integer {0..8191}; + let inner_column = (within_block MOD inner_elements) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageCoordinateIsLogical( + tile: TileInfo, element: integer {0..524287}) => boolean +begin + return BundleSharedGenerationStorageRow(tile, element) < tile.rows && + BundleSharedGenerationStorageColumn(tile, element) < tile.columns; +end; + +readonly func BundleSharedGenerationPlacedExtent( + source: TileInfo, destination: TileInfo, + copied_elements: integer {0..524288}, + destination_offset: integer {0..524287}, + previous_extent: integer {0..65535}, + by_column: boolean) => integer {0..65535} +begin + var extent = previous_extent; + for row = 0 to source.valid_rows - 1 looplimit 65536 do + for column = 0 to source.valid_columns - 1 looplimit 65536 do + let source_element = TileLogicalLinearIndex(source, + row as integer {0..65535}, + column as integer {0..65535}) + as integer {0..524287}; + if source_element < copied_elements then + let destination_element = (destination_offset + source_element) + as integer {0..524287}; + if BundleSharedGenerationStorageCoordinateIsLogical( + destination, destination_element) then + let coordinate = if by_column then + BundleSharedGenerationStorageColumn( + destination, destination_element) + else BundleSharedGenerationStorageRow( + destination, destination_element); + if coordinate + 1 > extent then + extent = (coordinate + 1) as integer {0..65535}; + end; + end; + end; + end; + end; + return extent; +end; + +readonly func SharedGenerationPEBit(pe: MemoryAgentId) => bits(4) +begin + var participant = Zeros{4}; + participant[PTOPEMaskBitOfPEIdentity( + pe as integer {0..PTO_MODEL_MEMORY_AGENTS-1})] = '1'; + return participant; +end; + +readonly func BundleSharedGenerationReadyCellsWithRange( + tile: TileInfo, prior_ready: bits(8192), + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}) => bits(8192) +begin + let element_bits = TileElementBits(tile.data_type) + as integer {1..64}; + let elements_per_cell = ((32 * 8) DIVRM element_bits) + as integer {1..256}; + let capacity_elements = TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type); + var ready = prior_ready; + for cell = 0 to 8191 do + if cell < coverage_cells then + let target_cell = (offset_cells + cell) as integer {0..8191}; + let first_element = (target_cell * elements_per_cell) + as integer {0..524287}; + var cell_ready = TRUE; + for lane = 0 to 255 do + if lane < elements_per_cell then + let element = (first_element + lane) + as integer {0..524287}; + if element < capacity_elements then + let row = BundleSharedGenerationStorageRow( + tile, element); + let column = BundleSharedGenerationStorageColumn( + tile, element); + if row < tile.valid_rows && + column < tile.valid_columns && + !TileLogicalElementDefined(tile, + element as PackedTileElementIndex) then + cell_ready = FALSE; + end; + end; + end; + end; + ready[target_cell] = if cell_ready then '1' else '0'; + end; + end; + return ready; +end; + func ClearBundleSharedGenerationState(shared_tile_id: SharedTileID) begin let index = SharedTileArrayIndex(shared_tile_id); + let next_operation_ordinal = + _SharedGenerations[[index]].next_operation_ordinal; _SharedGenerations[[index]].open = FALSE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = Zeros{4}; + _SharedGenerations[[index]].core_identity = 0 as PTOModelCoreIdentity; + _SharedGenerations[[index]].invocation_identity = 0; + _SharedGenerations[[index]].origin = MemoryEventOrigin_NonKernel; + _SharedGenerations[[index]].source_acr = 0 as AccessControlRing; + _SharedGenerations[[index]].producer_site = Zeros{PTO_XLEN}; + _SharedGenerations[[index]].start_instruction = Zeros{64}; + _SharedGenerations[[index]].operation_form = Zeros{7}; + _SharedGenerations[[index]].operation_selector = Zeros{10}; + _SharedGenerations[[index]].operation_ordinal = 0; + _SharedGenerations[[index]].next_operation_ordinal = + next_operation_ordinal; + _SharedGenerations[[index]].actual_pe_owned = FALSE; _SharedGenerations[[index]].parent_size_code = 0; _SharedGenerations[[index]].parent_cell_count = 0; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; + _SharedGenerations[[index]].released_participants = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _SharedGenerations[[index]].arrival_request_tokens[[pe]] = 0; + _SharedGenerations[[index]].arrival_program_orders[[pe]] = 0; + end; _SharedGenerations[[index]].specialized_inputs_valid = FALSE; _SharedGenerations[[index]].specialized_input0 = Zeros{PTO_XLEN}; _SharedGenerations[[index]].specialized_input1 = Zeros{PTO_XLEN}; @@ -97,8 +297,10 @@ end; func ResetBundleSharedGenerationState() begin for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do - ClearBundleSharedGenerationState( - (Zeros{6} + raw_id) as SharedTileID); + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + ClearBundleSharedGenerationState(shared_tile_id); + _SharedGenerations[[SharedTileArrayIndex(shared_tile_id)]] + .next_operation_ordinal = 0; end; end; @@ -112,5 +314,196 @@ func AbortBundleSharedGeneration(shared_tile_id: SharedTileID) begin ClearBundleSharedGenerationState(shared_tile_id); end; + +// Invocation lifecycle retirement discards only the active-PE Shared +// operation metadata owned by the retiring Core and invocation. Clearing the +// candidate leaves its published Shared parent and monotonically increasing +// operation ordinal intact. Legacy aggregate records have no invocation +// identity and remain under their existing operation-specific owner. +func RetirePEOwnedSharedGenerationsForInvocation( + core: PTOModelCoreIdentity, invocation: integer) +begin + if invocation == 0 then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + if core != original_core then + // Shared-generation storage is in the Core context bank. Select the + // target bank explicitly; selection saves the caller's live PE/Core + // context and the restore below leaves it unchanged. + SelectExecutionContext(core, original_pe); + end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + ClearBundleSharedGenerationState(shared_tile_id); + end; + end; + SaveSelectedCoreExecutionContext(); + if core != original_core then + SelectExecutionContext(original_core, original_pe); + end; +end; + +// A squashed Shared request may also be present in a saved PE image or in a +// nested ACR trap image. Mark every retained copy by its globally unique +// execution-domain token so recovery cannot resurrect the canceled request. +func MarkBundleSharedRequestDomainSquashed(domain: integer) +begin + if domain == 0 then return; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain == domain then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_squashed = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _TrapContexts[[acr]].bundle_shared_bindings[[binding]].valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _PEContextBankValid[[core]][pe] == '1' then + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]].trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + end; + end; + end; + for binding = 0 to 3 do + if _DefaultPEExecutionContext.bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].destination_assemble.valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; +end; + +// Squash invalidates a request identity everywhere it is retained before it +// aborts the matching incomplete candidate. Published generations remain +// irrevocable, including their outstanding per-PE completion tokens. +func SquashPEOwnedSharedGenerationRequest( + core: PTOModelCoreIdentity, invocation: integer, domain: integer) +begin + if domain == 0 || invocation == 0 then return; end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + var matching_arrival = FALSE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + domain then + matching_arrival = TRUE; + end; + end; + if matching_arrival then + MarkBundleSharedRequestDomainSquashed(domain); + AbortBundleSharedGeneration(shared_tile_id); + end; + end; + end; +end; ``` diff --git a/docs/block/model/state/types.md b/docs/block/model/state/types.md index b6c72e2de..a41d4b95a 100644 --- a/docs/block/model/state/types.md +++ b/docs/block/model/state/types.md @@ -315,11 +315,25 @@ type SharedGenerationState of record { published: boolean, shared_tile_id: SharedTileID, participant_mask: bits(4), + core_identity: PTOModelCoreIdentity, + invocation_identity: integer, + origin: MemoryEventOrigin, + source_acr: AccessControlRing, + producer_site: Word, + start_instruction: bits(64), + operation_form: bits(7), + operation_selector: bits(10), + operation_ordinal: integer, + next_operation_ordinal: integer, + actual_pe_owned: boolean, parent_size_code: integer {0..12}, parent_cell_count: integer {0..8192}, covered_cells: bits(8192), ready_cells: bits(8192), arrived_participants: bits(4), + released_participants: bits(4), + arrival_request_tokens: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, + arrival_program_orders: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, @@ -347,6 +361,11 @@ type BundleRangeModifier of record { offset: Word, init: boolean, last: boolean, + shared_request_identity_valid: boolean, + shared_request_waiting: boolean, + shared_request_squashed: boolean, + shared_request_execution_domain: integer, + shared_request_operation_ordinal: integer, derived: BundleSubviewDescriptor, materialized: boolean, materialized_index: TileIndex diff --git a/docs/mkdocs/generated-nav.yml b/docs/mkdocs/generated-nav.yml index 3a5d5df9b..3573fc002 100644 --- a/docs/mkdocs/generated-nav.yml +++ b/docs/mkdocs/generated-nav.yml @@ -58,6 +58,7 @@ nav: - Atomicity: arch/memory-model/atomicity.md - Fault Precision: arch/memory-model/fault-precision.md - Global Memory Access: arch/memory-model/global-memory-access.md + - Gm Obligations: arch/memory-model/gm-obligations.md - Instruction Fetch: arch/memory-model/instruction-fetch.md - Memory Events: arch/memory-model/memory-events.md - Ordering: arch/memory-model/ordering.md @@ -74,8 +75,11 @@ nav: - Shared Tile Registers: arch/programming-model/shared-tile-registers.md - Tile Registers: arch/programming-model/tile-registers.md - State: + - Core Synchronization: arch/state/core-synchronization.md - Definedness: arch/state/definedness.md + - Kernel Lifecycle: arch/state/kernel-lifecycle.md - Numeric Status: arch/state/numeric-status.md + - PE Execution Context: arch/state/pe-execution-context.md - Program Counter: arch/state/program-counter.md - Tile Descriptor: arch/state/tile-descriptor.md - Trap Context: arch/state/trap-context.md @@ -187,6 +191,7 @@ nav: - Expansion Schema: block/model/dispatch/expansion-schema.md - Expdif Schema: block/model/dispatch/expdif-schema.md - Generation Schema: block/model/dispatch/generation-schema.md + - Gm Obligation Dispatch: block/model/dispatch/gm-obligation-dispatch.md - Lea Schema: block/model/dispatch/lea-schema.md - Matrix Scale: block/model/dispatch/matrix-scale.md - Numeric Control: block/model/dispatch/numeric-control.md @@ -229,11 +234,13 @@ nav: - Weight To Shared Gm: block/model/memory/weight-to-shared-gm.md - Operands: - Local Generation CUBE: block/model/operands/local-generation-cube.md + - Local Generation Squash: block/model/operands/local-generation-squash.md - Local Generation: block/model/operands/local-generation.md - Portable Carriers: block/model/operands/portable-carriers.md - Range Modifiers: block/model/operands/range-modifiers.md - Scalar Bindings: block/model/operands/scalar-bindings.md - Shared Bindings: block/model/operands/shared-bindings.md + - Shared Generation PE Requests: block/model/operands/shared-generation-pe-requests.md - Shared Generation: block/model/operands/shared-generation.md - Subview Descriptor: block/model/operands/subview-descriptor.md - Tile Bindings: block/model/operands/tile-bindings.md @@ -756,6 +763,7 @@ nav: - SSRGET: scalar/sys/SSRGET.md - SSRSET: scalar/sys/SSRSET.md - SSRSWAP: scalar/sys/SSRSWAP.md + - SYNC.CORE: scalar/sys/SYNC.CORE.md - TLB.IA: scalar/sys/TLB.IA.md - TLB.IALL: scalar/sys/TLB.IALL.md - TLB.IAV: scalar/sys/TLB.IAV.md @@ -1068,6 +1076,7 @@ nav: - "ADR-SCALAR-0004: Scalar FSU totality and numeric-profile boundary": status/decisions/ADR-SCALAR-0004-scalar-fsu-totality-and-profile-boundary.md - "ADR-SCALAR-0005: ADDTPC page-scaled immediate": status/decisions/ADR-SCALAR-0005-addtpc-page-scaled-immediate.md - "ADR-SCALAR-0006: Scalar, system, and queue operations": status/decisions/ADR-SCALAR-0006-scalar-system-and-queue-operations.md + - "ADR-SCALAR-0007: SYNC.CORE collective architectural phase barrier": status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md - TILE: - "ADR-TILE-0001: Define tile capacity and packed storage": status/decisions/ADR-TILE-0001-tile-capacity-and-packed-storage.md - "ADR-TILE-0002: Track tile definedness per element": status/decisions/ADR-TILE-0002-element-level-tile-definedness.md diff --git a/docs/mkdocs/mkdocs.yml b/docs/mkdocs/mkdocs.yml index a4ac50136..95f65f326 100644 --- a/docs/mkdocs/mkdocs.yml +++ b/docs/mkdocs/mkdocs.yml @@ -68,6 +68,7 @@ nav: - Atomicity: arch/memory-model/atomicity.md - Fault Precision: arch/memory-model/fault-precision.md - Global Memory Access: arch/memory-model/global-memory-access.md + - Gm Obligations: arch/memory-model/gm-obligations.md - Instruction Fetch: arch/memory-model/instruction-fetch.md - Memory Events: arch/memory-model/memory-events.md - Ordering: arch/memory-model/ordering.md @@ -84,8 +85,11 @@ nav: - Shared Tile Registers: arch/programming-model/shared-tile-registers.md - Tile Registers: arch/programming-model/tile-registers.md - State: + - Core Synchronization: arch/state/core-synchronization.md - Definedness: arch/state/definedness.md + - Kernel Lifecycle: arch/state/kernel-lifecycle.md - Numeric Status: arch/state/numeric-status.md + - PE Execution Context: arch/state/pe-execution-context.md - Program Counter: arch/state/program-counter.md - Tile Descriptor: arch/state/tile-descriptor.md - Trap Context: arch/state/trap-context.md @@ -197,6 +201,7 @@ nav: - Expansion Schema: block/model/dispatch/expansion-schema.md - Expdif Schema: block/model/dispatch/expdif-schema.md - Generation Schema: block/model/dispatch/generation-schema.md + - Gm Obligation Dispatch: block/model/dispatch/gm-obligation-dispatch.md - Lea Schema: block/model/dispatch/lea-schema.md - Matrix Scale: block/model/dispatch/matrix-scale.md - Numeric Control: block/model/dispatch/numeric-control.md @@ -239,11 +244,13 @@ nav: - Weight To Shared Gm: block/model/memory/weight-to-shared-gm.md - Operands: - Local Generation CUBE: block/model/operands/local-generation-cube.md + - Local Generation Squash: block/model/operands/local-generation-squash.md - Local Generation: block/model/operands/local-generation.md - Portable Carriers: block/model/operands/portable-carriers.md - Range Modifiers: block/model/operands/range-modifiers.md - Scalar Bindings: block/model/operands/scalar-bindings.md - Shared Bindings: block/model/operands/shared-bindings.md + - Shared Generation PE Requests: block/model/operands/shared-generation-pe-requests.md - Shared Generation: block/model/operands/shared-generation.md - Subview Descriptor: block/model/operands/subview-descriptor.md - Tile Bindings: block/model/operands/tile-bindings.md @@ -766,6 +773,7 @@ nav: - SSRGET: scalar/sys/SSRGET.md - SSRSET: scalar/sys/SSRSET.md - SSRSWAP: scalar/sys/SSRSWAP.md + - SYNC.CORE: scalar/sys/SYNC.CORE.md - TLB.IA: scalar/sys/TLB.IA.md - TLB.IALL: scalar/sys/TLB.IALL.md - TLB.IAV: scalar/sys/TLB.IAV.md @@ -1078,6 +1086,7 @@ nav: - "ADR-SCALAR-0004: Scalar FSU totality and numeric-profile boundary": status/decisions/ADR-SCALAR-0004-scalar-fsu-totality-and-profile-boundary.md - "ADR-SCALAR-0005: ADDTPC page-scaled immediate": status/decisions/ADR-SCALAR-0005-addtpc-page-scaled-immediate.md - "ADR-SCALAR-0006: Scalar, system, and queue operations": status/decisions/ADR-SCALAR-0006-scalar-system-and-queue-operations.md + - "ADR-SCALAR-0007: SYNC.CORE collective architectural phase barrier": status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md - TILE: - "ADR-TILE-0001: Define tile capacity and packed storage": status/decisions/ADR-TILE-0001-tile-capacity-and-packed-storage.md - "ADR-TILE-0002: Track tile definedness per element": status/decisions/ADR-TILE-0002-element-level-tile-definedness.md diff --git a/docs/ndf/supplements/arch-01.json b/docs/ndf/supplements/arch-01.json index ea065424c..f5ab3044f 100644 --- a/docs/ndf/supplements/arch-01.json +++ b/docs/ndf/supplements/arch-01.json @@ -208,6 +208,18 @@ "zh-CN": "重放 flush 只丢弃未提交的事件记录与更年轻的待处理工作。它不得回滚已提交的 GM 写入、已提交的 Tile 负载元素或已获准的内存事件,恢复时从保存的模板重试。" } }, + { + "id": "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "source_path": "asl/arch/memory-model/fault-precision.asl", + "title": { + "en": "Trap return preserves shared progress", + "zh-CN": "陷阱返回保留共享进度" + }, + "summary": { + "en": "Trap return resumes the interrupted PE from its precise instruction and Block restart point while retaining shared GM/event history, Core synchronization, shared Tile state, and peer-local publication progress. Instruction owners perform any scoped abort or squash before establishing the restart point.", + "zh-CN": "陷阱返回从中断 PE 的精确指令和 Block 重启点继续,同时保留共享 GM/事件历史、Core 同步、Shared Tile 状态及其他 PE 的本地发布进度。指令所有者须在建立重启点前执行所需的限定范围 abort 或 squash。" + } + }, { "id": "PTO-ARCH-COMMIT-EVENT-CONFORMANCE-001", "source_path": "asl/arch/overview/architecture.asl", @@ -507,6 +519,66 @@ "en": "This clause defines RCPE6M2 as the exact mathematical reciprocal interpretation of an E6M2 code. It is source-only for TCVT, has no destination encoding, and converts directly to FP16 or BF16 with one final destination rounding step.", "zh-CN": "本条款定义 RCPE6M2 为 E6M2 编码的精确数学倒数解释。它仅可作为 TCVT 源类型,不提供目标编码,并直接转换为 FP16 或 BF16,最后只进行一次目标舍入。" } + }, + { + "id": "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "source_path": "asl/arch/state/core-synchronization.asl", + "title": { + "en": "Core-local four-PE collective synchronization", + "zh-CN": "Core 内四 PE 集体同步" + }, + "summary": { + "en": "Each Core synchronizes PE0 through PE3 at a matching site and generation. A PE stays parked until every arrival and earlier GM obligation is complete, then consumes its retained release once; completed ordering survives active-record reuse.", + "zh-CN": "每个 Core 都要求 PE0 至 PE3 在匹配的指令位置和代次同步。所有参与到达且更早的 GM 义务完成前,PE 保持停驻;随后每个 PE 只消费一次保留的释放令牌,已完成的顺序关系在活动记录复用后仍然保留。" + } + }, + { + "id": "PTO-ARCH-GM-OBLIGATIONS-001", + "source_path": "asl/arch/memory-model/gm-obligations.asl", + "title": { + "en": "Earlier global-memory request obligations", + "zh-CN": "较早全局内存请求义务" + }, + "summary": { + "en": "Request identity keeps its Core, PE, invocation, and program-order provenance through progress and retry. A participant cannot arrive while an earlier request can still fault, and collective release waits for the request's real producer, issue, and completion path.", + "zh-CN": "请求身份在推进和重试期间保留 Core、PE、调用实例和程序顺序来源。较早请求仍可能发生故障时,参与者不能到达同步点;集体释放须等待该请求经真实生产者、发出和完成路径解决。" + } + }, + { + "id": "PTO-ARCH-KERNEL-LIFECYCLE-001", + "source_path": "asl/arch/state/kernel-lifecycle.asl", + "title": { + "en": "Core kernel invocation lifecycle", + "zh-CN": "Core 内 kernel 调用生命周期" + }, + "summary": { + "en": "A Core has one active invocation shared by its four PE contexts. Abort discards incomplete collective state and reversible work while preserving committed effects; successful End and Abort also retire matching active-PE Shared candidate/release metadata without erasing published payloads or operation ordinals. A later launch waits for irrevocable work to quiesce, and old completions cannot update the new invocation.", + "zh-CN": "每个 Core 只有一个由四个 PE 上下文共享的活动调用。Abort 丢弃未完成的集体状态和可撤销工作,同时保留已提交效果;成功 End 和 Abort 也会回收匹配的实际 PE Shared 候选/释放元数据,但不清除已发布载荷或 operation ordinal。新调用须等待不可撤销工作静止,旧完成事件不能更新新调用状态。" + } + }, + { + "id": "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", + "source_path": "asl/arch/memory-model/ordering.asl", + "title": { + "en": "Memory ordering through completed Core collectives", + "zh-CN": "已完成 Core 集体同步建立的内存顺序" + }, + "summary": { + "en": "A completed collective orders earlier and later kernel GM events from its participating PEs within the same Core and invocation. Handler events and events from other Cores or invocations remain outside that relation, which persists after active synchronization records are reused.", + "zh-CN": "已完成的集体同步对同一 Core、同一调用中参与 PE 的较早和较晚 kernel GM 事件建立顺序。handler 事件以及其他 Core 或调用实例的事件不属于该关系;活动同步记录复用后,该关系仍然保留。" + } + }, + { + "id": "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "source_path": "asl/arch/state/pe-execution-context.asl", + "title": { + "en": "Independent PE execution contexts", + "zh-CN": "独立的 PE 执行上下文" + }, + "summary": { + "en": "Each modeled Core keeps independent PE0 through PE3 instruction, Block, queue, fault, trap, reservation, and Local Tile state. Selecting or restoring a PE context does not rewind shared GM, event history, synchronization, Shared Tile state, or peer progress.", + "zh-CN": "每个建模 Core 为 PE0 至 PE3 分别保存指令、Block、队列、故障、陷阱、reservation 和 Local Tile 状态。选择或恢复 PE 上下文不会回退共享 GM、事件历史、同步状态、Shared Tile 状态或其他 PE 的进度。" + } } ] } diff --git a/docs/ndf/supplements/block-01.json b/docs/ndf/supplements/block-01.json index 6afd6a315..4579e239c 100644 --- a/docs/ndf/supplements/block-01.json +++ b/docs/ndf/supplements/block-01.json @@ -72,8 +72,8 @@ "zh-CN": "Shared 集体组装发布" }, "summary": { - "en": "This clause keeps the current Shared object visible until every participating PE reaches a matching, complete, non-overlapping LAST generation with ready data. Successful publication atomically replaces the full descriptor and payload; rejection leaves the previous generation intact.", - "zh-CN": "本条款在所有参与 PE 以一致元数据到达完整、无重叠且数据就绪的 LAST 代次之前,持续保留当前 Shared 对象。成功时完整描述符与载荷原子替换;失败时上一代保持不变。" + "en": "This clause keeps the current Shared object visible until every participating PE contributes its real source to one matching, complete, non-overlapping LAST generation with ready data. Requests are keyed by Core, invocation, producer and dynamic ordinal; an incomplete squashed candidate is discarded without reviving saved request copies, while a published result and its outstanding releases remain irrevocable. Successful publication atomically replaces the full descriptor and payload.", + "zh-CN": "本条款在所有参与 PE 以真实源数据贡献给同一匹配、完整、无重叠且数据就绪的 LAST 代次之前,持续保留当前 Shared 对象。请求按 Core、调用、producer 和动态 ordinal 标识;被撤销的未完成候选会丢弃且不会因恢复已保存请求副本而复活,已发布结果及其未消费 release 则不可撤销。成功发布时完整描述符与载荷原子替换。" } }, { @@ -96,8 +96,8 @@ "zh-CN": "推测式组装贡献的身份" }, "summary": { - "en": "This clause tags dynamic assembly writers with instruction-instance and execution-domain identity. Squashing a domain removes its unretired contributions while preserving the older committed mapping, so speculative work cannot leak into published state.", - "zh-CN": "本条款为动态组装写入者标记指令实例与执行域身份。撤销某执行域时,仅移除其未退休贡献并保留较旧的已提交映射,避免推测工作泄漏到已发布状态。" + "en": "This clause tags dynamic Local writers and actual-PE Shared requests with instruction-instance and execution-domain identity. Squashing removes only unretired contributions in the matching domain, invalidates retained request copies for an incomplete Shared candidate, and preserves committed Local mappings and any published Shared parent/release state.", + "zh-CN": "本条款为动态 Local 写入者及实际 PE Shared 请求标记指令实例与执行域身份。撤销仅移除匹配执行域中的未退休贡献,使未完成 Shared 候选的已保存请求副本失效,并保留已提交 Local 映射及已发布 Shared 父对象/释放状态。" } }, { diff --git a/docs/ndf/supplements/scalar-01.json b/docs/ndf/supplements/scalar-01.json index f15fbd0f0..284540c7f 100644 --- a/docs/ndf/supplements/scalar-01.json +++ b/docs/ndf/supplements/scalar-01.json @@ -999,6 +999,18 @@ "en": "This clause describes the word form of split-immediate exclusive-or. It combines the low 32 bits of the source and sign-extended immediate, sign-extends the 32-bit result to XLEN, publishes through the common destination map, and advances TPC.", "zh-CN": "本条说明分段立即数按位异或的字宽形式:使用源值和符号扩展立即数的低 32 位,将 32 位结果符号扩展到 XLEN,经通用目的映射发布,并推进 TPC。" } + }, + { + "id": "PTO-SYNC-CORE-DECISION-BINDING-001", + "source_path": "asl/scalar/sys/SYNC.CORE.asl", + "title": { + "en": "SYNC.CORE scalar instruction contract", + "zh-CN": "SYNC.CORE 标量指令契约" + }, + "summary": { + "en": "The operand-free L32 SYS operation joins the Core-local four-PE phase barrier. Its legal envelope, earlier-memory obligations, completion ordering, retained releases, reservation effects, and recovery boundary are defined by this owner and its referenced contracts.", + "zh-CN": "无操作数的 L32 SYS 操作加入 Core 内四 PE 阶段屏障。合法 envelope、较早内存义务、完成顺序、保留的释放状态、reservation 效果和恢复边界由本所有者及其引用契约定义。" + } } ] } diff --git a/docs/ndf/supplements/tile-01.json b/docs/ndf/supplements/tile-01.json index a6cad1cdf..f7ad87dc1 100644 --- a/docs/ndf/supplements/tile-01.json +++ b/docs/ndf/supplements/tile-01.json @@ -96,8 +96,8 @@ "zh-CN": "Shared 父 Tile 的就绪与可见性" }, "summary": { - "en": "Shared producer participation, logical coverage, whole-parent readiness, and published visibility are tracked as distinct conditions. A consumer waits or becomes a no-op before payload access until both readiness and publication are true, independently of the producer and consumer masks.", - "zh-CN": "Shared 生产者参与范围、逻辑覆盖范围、完整父 Tile 就绪状态和已发布可见性分别记录。无论生产者与消费者掩码如何,在就绪与发布均成立之前,消费者都会等待或成为空操作,不会访问载荷。" + "en": "Shared producer participation, logical coverage, whole-parent readiness, and published visibility are tracked as distinct conditions. A consumer waits or becomes a no-op before payload access until both readiness and publication are true, independently of the producer and consumer masks. Later encoded producers capture their actual PE-owned fragments under a separate operation identity; they do not reuse a prior parent's initialized mask as new contribution state.", + "zh-CN": "Shared 生产者参与范围、逻辑覆盖范围、完整父 Tile 就绪状态和已发布可见性分别记录。无论生产者与消费者掩码如何,在就绪与发布均成立之前,消费者都会等待或成为空操作,不会访问载荷。后续编码 producer 会在独立 operation identity 下捕获实际 PE 所有的片段,不会把前一父对象的 initialized mask 当作新贡献状态复用。" } }, { diff --git a/docs/scalar/model/agu/memory.md b/docs/scalar/model/agu/memory.md index dee1ac624..b74b829f3 100644 --- a/docs/scalar/model/agu/memory.md +++ b/docs/scalar/model/agu/memory.md @@ -109,6 +109,43 @@ begin right_start < left_start + left_size; end; +pure func ReservationGranuleAddressFor(address: Word) => Word +begin + return address - NaturalToWord( + (UInt(address) MOD PTO_RESERVATION_GRANULE_BYTES) as + integer {0..262144}); +end; + +func InvalidateReservationsForGMWrite(address: Word, + size_bytes: integer {0..262144}) +begin + if size_bytes == 0 then return; end; + if _ReservationValid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(_ReservationAddress), + PTO_RESERVATION_GRANULE_BYTES) then + _ReservationValid = FALSE; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let saved = _PEExecutionContexts[[core]][[pe]]; + if saved.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(saved.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + end; + end; + end; + let default_context = _DefaultPEExecutionContext; + if default_context.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(default_context.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; +end; + readonly func ReservationGranuleAddress() => Word begin return _ReservationAddress - NaturalToWord( @@ -256,12 +293,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[[byte_index]]); end; - if _ReservationValid && - RangesOverlap(original_address, 64, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, 64); end; func StoreTranslatedBytesBounded(original_address: Word, @@ -276,12 +308,7 @@ begin WriteMemoryByte(byte_address, value[[byte_index]]); end; end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslatedFillModelBounded( @@ -296,12 +323,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value); end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslated(original_address: Word, translated_address: Word, @@ -312,12 +334,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[(byte_index * 8) +: 8]); end; - if _ReservationValid && - RangesOverlap(original_address, size_bytes, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, size_bytes); end; func LoadWithOrder(address: Word, size_bytes: integer {1,2,4,8}, diff --git a/docs/scalar/model/dispatch/decode.md b/docs/scalar/model/dispatch/decode.md index 71956a102..b204f85ba 100644 --- a/docs/scalar/model/dispatch/decode.md +++ b/docs/scalar/model/dispatch/decode.md @@ -109,7 +109,8 @@ The instruction adds GPR 3 and T#1 shifted left by 1, and pushes the sum to T. R type ScalarExecutionStatus of enumeration { ScalarExecution_Executed, - ScalarExecution_Rejected + ScalarExecution_Rejected, + ScalarExecution_Blocked }; pure func ScalarHandlerWritesTPC(handler: ScalarSemanticHandler) => boolean diff --git a/docs/scalar/model/dispatch/sys.md b/docs/scalar/model/dispatch/sys.md index 766cefb0d..4b13a0d7d 100644 --- a/docs/scalar/model/dispatch/sys.md +++ b/docs/scalar/model/dispatch/sys.md @@ -90,7 +90,7 @@ Inside a System bundle body, the handler calls `ExecuteSystemRegisterGet`. Addre ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-SYNC-CORE","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} func ExecuteDecodedSYSForm(instruction: bits(48), form: integer {0..PTO_SCALAR_FORM_COUNT-1}) begin @@ -175,6 +175,7 @@ begin ScalarDecodedBits4(instruction, form, ScalarField_PRED_IMM), ScalarDecodedBits4(instruction, form, ScalarField_SUCC_IMM)); when ScalarOperation_FENCE_I => FenceInstruction(); + when ScalarOperation_SYNC_CORE => ExecuteSyncCore(); when ScalarOperation_C_SSRGET => ExecuteCompressedSystemRegisterGet( diff --git a/docs/scalar/model/dispatch/top-level.md b/docs/scalar/model/dispatch/top-level.md index 6a955c184..67592be32 100644 --- a/docs/scalar/model/dispatch/top-level.md +++ b/docs/scalar/model/dispatch/top-level.md @@ -87,7 +87,7 @@ If instead the word were the `ADD` 0x0F818F85 and T#1 were not valid, step 5 wou ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-FSU"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-FSU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-SYNC-CORE"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} // NDF-BEGIN: PTO-REQ-SCALAR-BODY-ENTRY-001 // ndf: kind=contract level=L1 layer=scalar status=accepted @@ -110,6 +110,10 @@ begin end; let form = decoded as integer {0..PTO_SCALAR_FORM_COUNT-1}; let operation = ScalarOperationOfForm(form); + if operation == ScalarOperation_SYNC_CORE && + !PreflightSyncCoreEnvelope(instruction, form, length_bits) then + return ScalarExecution_Rejected; + end; if BundleIsActive() && !BundleBodyIsActive() then EnterBundleBody(); end; @@ -129,6 +133,60 @@ begin SetFault(Fault_IllegalInstruction, ReadPC()); return ScalarExecution_Rejected; end; + var tracks_gm = FALSE; + var request_class = GMRequest_Scalar; + var gm_address = Zeros{PTO_XLEN}; + var gm_order = MemoryOrder_Relaxed; + if ScalarFamilyOfForm(form) == ScalarSemantic_AGU then + tracks_gm = TRUE; + let action = ScalarAGUActionOfForm(form); + let address_kind = ScalarAGUAddressKindOfForm(form); + let update_mode = ScalarAGUUpdateModeOfForm(form); + let base = ScalarDecodedAGUBase(instruction, form, action, + address_kind); + let offset = ScalarDecodedAGUOffset(instruction, form, + address_kind); + gm_address = if update_mode == AddressUpdate_PostIndex then base + else base + offset; + if action == ScalarAGU_Prefetch then + request_class = GMRequest_Prefetch; + end; + elsif ScalarFamilyOfForm(form) == ScalarSemantic_AMO then + tracks_gm = TRUE; + request_class = GMRequest_Atomic; + gm_order = ScalarDecodedMemoryOrder(instruction, form); + if operation == ScalarOperation_DMA then + gm_address = ReadDecodedScalarRegister(instruction, form, + ScalarField_SrcL); + else + gm_address = ScalarDecodedAtomicAddress(instruction, form, + ScalarField_SrcL); + end; + end; + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + let tracks_kernel_gm = tracks_gm && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_kernel_gm then + obligation_slot = RegisterKernelGMObligation(request_class, + _CurrentEncodedInstruction, ReadPC(), _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, + 0 as TileIndex, Zeros{PTO_XLEN}, _Tiles[[0]], + _BundleExecutionMask, gm_address, Zeros{PTO_XLEN}, gm_order, + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; case ScalarFamilyOfForm(form) of when ScalarSemantic_AGU => ExecuteDecodedAGUForm(instruction, form); when ScalarSemantic_ALU => ExecuteDecodedALUForm(instruction, form); @@ -138,9 +196,22 @@ begin when ScalarSemantic_SYS => ExecuteDecodedSYSForm(instruction, form); otherwise => unreachable; end; + if tracks_kernel_gm then + if _LastFault == Fault_None then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + else + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + end; + end; if _LastFault != Fault_None then return ScalarExecution_Rejected; end; + if _ScalarExecutionBlocked then + return ScalarExecution_Blocked; + end; if !ScalarHandlerWritesTPC(ScalarHandlerOfForm(form)) then WriteTPC(ReadTPC() + NaturalToWord(length_bits DIV 8)); end; diff --git a/docs/scalar/model/sys/semantics.md b/docs/scalar/model/sys/semantics.md index be6080503..ff722f9a6 100644 --- a/docs/scalar/model/sys/semantics.md +++ b/docs/scalar/model/sys/semantics.md @@ -95,7 +95,7 @@ Each attempt also adds one to the cycle count, including the two that fault. ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-SCALAR-MODEL-AMO-SEMANTICS","PTO-BLOCK-MODEL-STATE-BARG"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-STATE-BARG","PTO-SCALAR-MODEL-AMO-SEMANTICS"]} // PTO-REQ-SCALAR-SYS-001, PTO-REQ-MEMORY-RC-001: PTO base SSR access, // architectural time, and data/instruction fences. @@ -116,6 +116,10 @@ func BeginArchitecturalInstructionAttempt() begin _LastFault = Fault_None; _FaultAddress = Zeros{PTO_XLEN}; + _ScalarExecutionBlocked = FALSE; + _CurrentProgramOrder = _CurrentProgramOrder + 1; + _PEProgramOrder[[_CurrentModelCore]][[_CurrentMemoryAgent]] = + _CurrentProgramOrder; AdvanceArchitecturalTime(); end; @@ -336,6 +340,7 @@ begin ScalarOperation_DC_IVA, ScalarOperation_DC_ZVA, ScalarOperation_EBREAK, ScalarOperation_FENCE_D, ScalarOperation_FENCE_I, + ScalarOperation_SYNC_CORE, ScalarOperation_HL_SSRGET, ScalarOperation_HL_SSRSET, ScalarOperation_IC_IALL, ScalarOperation_IC_IVA, ScalarOperation_SSRGET, ScalarOperation_SSRSET, diff --git a/docs/scalar/sys/SYNC.CORE.md b/docs/scalar/sys/SYNC.CORE.md new file mode 100644 index 000000000..a6f44c0a6 --- /dev/null +++ b/docs/scalar/sys/SYNC.CORE.md @@ -0,0 +1,138 @@ + +# SYNC.CORE + +**Normative ASL source:** `asl/scalar/sys/SYNC.CORE.asl` + +Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations. + +## Normative identity {#PTO-INST-SCALAR-SYNC-CORE} + + + +The current instruction contract is owned by the ASL source linked above. + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Assembly + +```asm +sync.core +``` + +## Encoding + +| Form | Kind | Bits | Match / mask | Constraints | +| --- | --- | ---: | --- | --- | +| sync_core_32_0330a02b7c32 | L32 | 32 | 0x0330a02b / 0xffffffff | [] | + +## Encoding class + +- **Class:** `standalone-encoded` +- **Standalone opcode:** `yes` + +## Operands and results + +This instruction has no explicit operand fields. + +## Decode + + +```asl +readonly func InstructionContractOperation_SYNC_CORE() => ScalarOperation +begin + return ScalarOperation_SYNC_CORE; +end; +``` + + +## Block composition + +```asm +The only canonical body is BSTART.SYS FALL, sync.core, BSTOP. +``` + +## Operation + + +```asl +readonly func InstructionContractHandler_SYNC_CORE() => ScalarSemanticHandler +begin + return ScalarHandler_SyncCore; +end; + +pure func InstructionContractRequiresSystemBlock_SYNC_CORE() => boolean +begin + return TRUE; +end; + +func ExecuteSyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !VerificationGMProgressIsDeferred() then + ProgressKernelGMObligationsForCore(_CurrentModelCore, + _CurrentKernelInvocation); + end; + if _LastFault != Fault_None then return; end; + SyncCore(); +end; + +pure func InstructionContractParticipantCount_SYNC_CORE() => integer {4} +begin + return 4; +end; + +pure func InstructionContractExactMatch_SYNC_CORE() => bits(32) +begin + return '00000011001100001010000000101011'; +end; + +pure func InstructionContractExactMask_SYNC_CORE() => bits(32) +begin + return Ones{32}; +end; +``` + + +## Defaults and encoded zero + +- SYNC.CORE has no operands and includes PE0, PE1, PE2, and PE3. + +## Legality + +- Only the exact 32-bit word 0x0330a02b decodes as SYNC.CORE. The active bundle must be a Fallthrough SYS block with exactly one SYNC.CORE body operation and a required BSTOP. + +## State effects + +- A blocked PE does not advance its PC. On completion, the barrier generation is retained until each parked PE consumes its release once, and each participant's current local reservation is invalidated. + +## Memory effects and ordering + +### Memory effects + +- Completion orders earlier qualifying GM operations before later qualifying GM operations for every participant pair, after those earlier operations reach their existing completion and visibility point. + +### Ordering + +- A PE parks at SYNC.CORE until all four PEs have irrevocably arrived at the same static instruction in the same dynamic order and invocation and every earlier GM obligation has completed. Arrival cannot be irrevocable while older work may still fault or require recovery. + +## Exceptions + +- The complete SYS envelope is validated before collective arrival. Wrong block composition raises Fault_BundleControl; a nonmatching instruction encoding raises Fault_IllegalInstruction. + +## Examples + +- sync.core diff --git a/docs/site/data/instruction-projections/PTO-TILE-TLOAD.json b/docs/site/data/instruction-projections/PTO-TILE-TLOAD.json index 4c1a4e96f..a55b81a77 100644 --- a/docs/site/data/instruction-projections/PTO-TILE-TLOAD.json +++ b/docs/site/data/instruction-projections/PTO-TILE-TLOAD.json @@ -2,7 +2,7 @@ "schema": "pto.site-instruction-projection.v1", "unitId": "PTO-TILE-TLOAD", "ownerSource": "asl/tile/memory-and-data-movement/regular/TLOAD.asl", - "ownerSourceSha256": "aeddfe72c054628ff4700f3f3b5f48df41882139d90c84652338a350b7e4b788", + "ownerSourceSha256": "d7896d6b0dee6b63de04ef7ce19b2a09d95424746732a211bc33fbe34f9a9cca", "composition": { "owner": "PTO-TILE-TLOAD", "variants": [ @@ -1311,6 +1311,14 @@ { "en": "Each selected ValidRow × ValidCol GM element is translated, permission-checked, loaded, and recorded before advancing to the next element.", "zh-CN": "每个选中的 ValidRow × ValidCol GM 元素依次完成地址转换、权限检查、载入和记录,然后再处理下一个元素。" + }, + { + "en": "One Shared issuer reads the whole valid GM parent, including when B.ASSEMBLE is present.", + "zh-CN": "单个 Shared issuer 即使带有 B.ASSEMBLE,也读取整个有效 GM parent。" + }, + { + "en": "For multi-PE Shared B.ASSEMBLE, each actual PE reads its existing GM source stripe; encoded offset and writer size select only the destination range.", + "zh-CN": "多 PE Shared B.ASSEMBLE 中,每个实际 PE 读取其既有 GM 源 stripe;编码 offset 与 writer size 只选择目标写入范围。" } ] }, diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/memory-model.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/memory-model.md index d06e5cc1a..5797c6d5d 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/memory-model.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/memory-model.md @@ -101,6 +101,11 @@ type MemoryFenceStrength of enumeration { }; type MemoryAgentId of integer {0..PTO_MODEL_MEMORY_AGENTS-1}; +type MemoryEventOrigin of enumeration { + MemoryEventOrigin_NonKernel, + MemoryEventOrigin_Kernel, + MemoryEventOrigin_Handler +}; type MemoryEventIndex of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; type MemoryCoherenceRank of integer {0..PTO_MODEL_MEMORY_EVENTS-1}; @@ -113,8 +118,17 @@ type MemoryEventKind of enumeration { }; type MemoryEvent of record { + active: boolean, + committed: boolean, + replay_epoch: integer, kind: MemoryEventKind, + core_identity: PTOModelCoreIdentity, agent: MemoryAgentId, + origin: MemoryEventOrigin, + invocation: integer, + program_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, address: Word, size_bytes: integer {1,2,4,8}, read_value: Word, @@ -134,7 +148,12 @@ type MemoryReplayState of record { active: boolean, request: Word, committed_event_count: integer {0..PTO_MODEL_MEMORY_EVENTS}, - epoch: integer + epoch: integer, + owner_core: PTOModelCoreIdentity, + owner_agent: MemoryAgentId, + owner_origin: MemoryEventOrigin, + owner_invocation: integer, + owner_program_order: integer }; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/trap-context.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/trap-context.md index a2b286dbd..d0f71598a 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/trap-context.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/data-types/trap-context.md @@ -77,6 +77,7 @@ type TrapContext of record { source_acr: AccessControlRing, tpc: Word, bpc: Word, + bundle_start_encoded_instruction: bits(64), core_state: Word, bundle_argument: Word, commit_argument: Word, @@ -103,12 +104,11 @@ type TrapContext of record { bundle_data_attributes_present: boolean, bundle_hint: BundleHintAttributes, bundle_fixed_point_attributes: BundleFixedPointAttributes, - local_generations: LocalGenerationSnapshot, - shared_generations: SharedGenerationSnapshot, bundle_execution_domain_token: integer, memory_copy_template: MemoryCopyTemplateState, frame_template: FrameTemplateState, memory_replay_state: MemoryReplayState, + memory_origin: MemoryEventOrigin, t_queue: TemporaryQueueSnapshot, t_queue_valid: TemporaryQueueValiditySnapshot, u_queue: TemporaryQueueSnapshot, diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/dispatch/top-level.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/dispatch/top-level.md index eb4dd13fe..c6118c853 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/dispatch/top-level.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/dispatch/top-level.md @@ -95,13 +95,15 @@ This page is a generated reference view of the normative ASL unit. type PTOInstructionExecutionStatus of enumeration { PTOInstruction_Executed, - PTOInstruction_Rejected + PTOInstruction_Rejected, + PTOInstruction_Blocked }; func ExecutePTOInstruction(instruction: bits(64), length_bits: integer {16,32,48,64}) => PTOInstructionExecutionStatus begin + _CurrentEncodedInstruction = instruction; if DecodeCommandForm(instruction, length_bits) != PTO_COMMAND_FORM_COUNT then let command_status = ExecuteCommandInstruction(instruction, length_bits); if command_status == CommandExecution_Executed then @@ -114,6 +116,8 @@ begin instruction[47:0], length_bits as integer {16,32,48}); if scalar_status == ScalarExecution_Executed then return PTOInstruction_Executed; + elsif scalar_status == ScalarExecution_Blocked then + return PTOInstruction_Blocked; else return PTOInstruction_Rejected; end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/fault-precision.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/fault-precision.md index ac351b17e..deb54a821 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/fault-precision.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/fault-precision.md @@ -92,6 +92,14 @@ This page is a generated reference view of the normative ASL unit. // elements, or a memory event already admitted before the fault. Recovery // retries from the saved instruction/request template. // NDF-END: PTO-ARCH-MEMORY-MODEL-FLUSH-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// Trap return restores only the interrupted PE's precise instruction and +// Block restart carriers. It MUST NOT rewind shared GM/event history, Core +// synchronization, shared Tile generations, or another PE's cooperative local +// generation progress. An instruction owner performs any required scoped +// abort or squash before saving its restart point. +// NDF-END: PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001 func BeginMemoryReplay(request: Word) begin @@ -99,11 +107,34 @@ begin _MemoryReplayState.request = request; _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.epoch = _MemoryReplayState.epoch + 1; + _MemoryReplayState.owner_core = _CurrentModelCore; + _MemoryReplayState.owner_agent = _CurrentMemoryAgent; + _MemoryReplayState.owner_origin = _CurrentMemoryOrigin; + _MemoryReplayState.owner_invocation = _CurrentKernelInvocation; + _MemoryReplayState.owner_program_order = _CurrentProgramOrder; end; func CommitMemoryReplayEffect() begin if _MemoryReplayState.active then + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].committed = TRUE; + end; + end; _MemoryReplayState.committed_event_count = _MemoryEventCount; end; end; @@ -111,9 +142,29 @@ end; func FlushMemoryReplay() begin if _MemoryReplayState.active then - // Event records after the last committed effect are speculative and - // are removed. Architectural memory and Tile state are not undone. - _MemoryEventCount = _MemoryReplayState.committed_event_count; + // Event slots are stable because surviving events and saved contexts + // can refer to them through read_from. Deactivate only this owner's + // uncommitted records from this replay epoch; never rewind the shared + // event log or disturb another PE/Core's event references. + for event_number = 0 to _MemoryEventCount - 1 do + let event_index = event_number as MemoryEventIndex; + if _MemoryEvents[[event_index]].active && + !_MemoryEvents[[event_index]].committed && + _MemoryEvents[[event_index]].replay_epoch == + _MemoryReplayState.epoch && + _MemoryEvents[[event_index]].core_identity == + _MemoryReplayState.owner_core && + _MemoryEvents[[event_index]].agent == + _MemoryReplayState.owner_agent && + _MemoryEvents[[event_index]].origin == + _MemoryReplayState.owner_origin && + _MemoryEvents[[event_index]].invocation == + _MemoryReplayState.owner_invocation && + _MemoryEvents[[event_index]].program_order == + _MemoryReplayState.owner_program_order then + _MemoryEvents[[event_index]].active = FALSE; + end; + end; _MemoryReplayState.active = FALSE; end; end; @@ -121,6 +172,7 @@ end; func CompleteMemoryReplay() begin if _MemoryReplayState.active then + CommitMemoryReplayEffect(); _MemoryReplayState.committed_event_count = _MemoryEventCount; _MemoryReplayState.active = FALSE; end; @@ -139,6 +191,9 @@ begin else TrapTargetForFault(source_ring); if code != Fault_None then SaveTrapContext(ring, source_ring); + // Subsequent event capture belongs to the handler until recovery + // restores the interrupted PE's saved provenance. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; end; _LastFault = code; _FaultAddress = address; @@ -202,6 +257,10 @@ begin _ACRTrapCause[[target_ring]] = ZeroExtend{24}(request_type); _ACRTrapNumber[[target_ring]] = Zeros{6} + 6; _ACRTrapArgument0[[target_ring]] = source_tpc; + // SaveTrapContext records the origin to restore. Once entry succeeds, + // subsequent memory events are handler work and cannot participate in a + // kernel collective. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(target_ring); WriteTPC(TrapVectorEntry(target_ring, source_tpc)); return TRUE; @@ -234,6 +293,9 @@ begin _ACRTrapNumber[[ring]] = Zeros{6} + 44; _ACRTrapArgument0[[ring]] = NaturalToWord(interrupt_id as integer {0..262144}); + // SaveTrapContext preserves the interrupted origin. Establish handler + // provenance only after the enabled interrupt has actually entered. + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; SetCurrentACR(ring); WriteTPC(TrapVectorEntry(ring, ReadTPC())); end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/gm-obligations.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/gm-obligations.md new file mode 100644 index 000000000..520f4b268 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/gm-obligations.md @@ -0,0 +1,417 @@ + +# Gm Obligations + +**Normative ASL source:** `asl/arch/memory-model/gm-obligations.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","surface":"arch","classification":["memory-model","gm-obligations"],"depends_on":["PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-STATE-TYPES"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-OBLIGATIONS","classification":["architecture","memory","gm-obligations"],"scope":"pe","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_GMObligations","_NextGMObligationIdentity"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-GM-PROGRESS-SCHEDULER","classification":["architecture","memory","gm-progress-scheduler"],"scope":"system","owner":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","members":["_VerificationGMProgressDeferred","_VerificationGMProgressBeatBudget"],"depends_on":[]} +// NDF-BEGIN: PTO-ARCH-GM-OBLIGATIONS-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A kernel participant's irrevocable collective arrival MUST be withheld while +// an earlier request can still fault or require recovery. Validated but +// incomplete work may remain outstanding after arrival, but it MUST prevent +// collective completion until its actual producer, issue, and completion path +// resolves it. Obligation identity includes Core, PE, invocation, dynamic +// instruction occurrence, and program-order provenance. Wrapper/producer +// registration and retry of one occurrence retain its identity, while a new +// occurrence at the same PC receives a distinct identity. The first +// executable capture binds the ACR and operands of its successful admission +// and remains immutable. +// NDF-END: PTO-ARCH-GM-OBLIGATIONS-001 + +type GMRequestClass of enumeration { + GMRequest_Scalar, + GMRequest_Tile, + GMRequest_TLSU, + GMRequest_Atomic, + GMRequest_Prefetch +}; + +type GMObligationState of enumeration { + GMObligation_Empty, + GMObligation_Submitted, + GMObligation_Validated, + GMObligation_Issued, + GMObligation_Completed, + GMObligation_Faulted, + GMObligation_Cancelled +}; + +type GMObligationIndex of integer {0..PTO_MODEL_GM_OBLIGATIONS-1}; +type GMObligationSlot of record { + active: boolean, + identity: integer, + core_identity: PTOModelCoreIdentity, + agent: MemoryAgentId, + invocation: integer, + instruction_pc: Word, + execution_domain_token: integer, + submission_order: integer, + collective_epoch: integer, + collective_history_sequence: integer, + request_class: GMRequestClass, + encoded_request: bits(64), + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + // Only a validated Local TSTORE snapshot may use the captured progress + // executor. Other fault-capable GM requests remain with their instruction + // owner until the real producer/retry path resolves them. + captured_tstore_progress: boolean, + executable_capture_valid: boolean, + submission_acr: AccessControlRing, + progress_element: integer {0..32768}, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + state: GMObligationState, + irrevocable: boolean, + reversible: boolean +}; +type GMObligationSlots of array [[PTO_MODEL_GM_OBLIGATIONS]] + of GMObligationSlot; +type GMObligationCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of GMObligationSlots; +type GMObligationIdentityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _GMObligations : GMObligationCoreBank; +var _NextGMObligationIdentity : GMObligationIdentityBank; +// Verification scheduling controls only when the ordinary producer/issue +// path runs. Its reset value is immediate progress and it is not an ISA gate. +var _VerificationGMProgressDeferred : boolean; +// Zero means that one progress call may run the complete captured request. +// Positive values bound the number of real tile-memory beats per call. +var _VerificationGMProgressBeatBudget : integer {0..32768}; + +func ResetKernelGMObligations() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _NextGMObligationIdentity[[core]][[pe]] = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + _GMObligations[[core]][[pe]][[slot]].active = FALSE; + _GMObligations[[core]][[pe]][[slot]].identity = 0; + _GMObligations[[core]][[pe]][[slot]].execution_domain_token = 0; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Empty; + end; + end; + end; + _VerificationGMProgressDeferred = FALSE; + _VerificationGMProgressBeatBudget = 0; +end; + +func SetVerificationGMProgressDeferred(deferred: boolean) +begin + _VerificationGMProgressDeferred = deferred; +end; + +func SetVerificationGMProgressBeatBudget(budget: + integer {0..32768}) +begin + _VerificationGMProgressBeatBudget = budget; +end; + +readonly func VerificationGMProgressIsDeferred() => boolean +begin + return _VerificationGMProgressDeferred; +end; + +func RegisterKernelGMObligation( + request_class: GMRequestClass, + encoded_request: bits(64), + instruction_pc: Word, + descriptor: BundleOperationDescriptor, + bundle_argument: Word, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_dimensions: BundleDimensionSnapshot, + source_tile: TileIndex, + source_generation: Word, + source_snapshot: TileInfo, + execution_mask: BundleExecutionMaskBinding, + base_address: Word, + row_stride_bytes: Word, + memory_order: MemoryOrder, + may_fault: boolean, + validated: boolean, + issued: boolean, + irrevocable: boolean, + reversible: boolean) => GMObligationIndex +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + var found = FALSE; + var reuse_incomplete = FALSE; + var selected: GMObligationIndex = 0; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let previous = _GMObligations[[core]][[pe]][[slot]]; + if previous.active && previous.invocation == _CurrentKernelInvocation && + previous.instruction_pc == instruction_pc && + previous.execution_domain_token == _BundleExecutionDomainToken && + previous.request_class == request_class && + previous.encoded_request == encoded_request && + previous.state != GMObligation_Completed && + previous.state != GMObligation_Cancelled then + selected = slot as GMObligationIndex; + reuse_incomplete = TRUE; + found = TRUE; + elsif !found && (!previous.active || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Completed || + _GMObligations[[core]][[pe]][[slot]].state == + GMObligation_Cancelled) then + selected = slot as GMObligationIndex; + found = TRUE; + end; + end; + assert found; + let old = _GMObligations[[core]][[pe]][[selected]]; + let identity = if reuse_incomplete then old.identity + else _NextGMObligationIdentity[[core]][[pe]]; + let preserve_capture = reuse_incomplete && + old.executable_capture_valid; + if !reuse_incomplete then + _NextGMObligationIdentity[[core]][[pe]] = identity + 1; + end; + _GMObligations[[core]][[pe]][[selected]] = GMObligationSlot { + active = TRUE, + identity = identity, + core_identity = core, + agent = pe, + invocation = _CurrentKernelInvocation, + instruction_pc = instruction_pc, + execution_domain_token = _BundleExecutionDomainToken, + submission_order = if reuse_incomplete then old.submission_order + else _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = if reuse_incomplete then + old.collective_history_sequence + else _CoreCollectiveHistorySequence[[core]], + request_class = if preserve_capture then old.request_class + else request_class, + encoded_request = if preserve_capture then old.encoded_request + else encoded_request, + descriptor = if preserve_capture then old.descriptor else descriptor, + bundle_argument = if preserve_capture then old.bundle_argument + else bundle_argument, + bundle_tile_bindings = if preserve_capture then old.bundle_tile_bindings + else bundle_tile_bindings, + bundle_scalar_bindings = if preserve_capture then old.bundle_scalar_bindings + else bundle_scalar_bindings, + bundle_shared_bindings = if preserve_capture then old.bundle_shared_bindings + else bundle_shared_bindings, + bundle_dimensions = if preserve_capture then old.bundle_dimensions + else bundle_dimensions, + source_tile = if preserve_capture then old.source_tile else source_tile, + source_generation = if preserve_capture then old.source_generation + else source_generation, + source_snapshot = if preserve_capture then old.source_snapshot + else source_snapshot, + captured_tstore_progress = if reuse_incomplete then + old.captured_tstore_progress else FALSE, + executable_capture_valid = if reuse_incomplete then + old.executable_capture_valid else FALSE, + submission_acr = if preserve_capture then old.submission_acr + else CurrentACR(), + progress_element = if reuse_incomplete then old.progress_element else 0, + execution_mask = if preserve_capture then old.execution_mask + else execution_mask, + base_address = if preserve_capture then old.base_address + else base_address, + row_stride_bytes = if preserve_capture then old.row_stride_bytes + else row_stride_bytes, + memory_order = if preserve_capture then old.memory_order + else memory_order, + may_fault = may_fault, + state = if issued then GMObligation_Issued + else if validated then GMObligation_Validated + else GMObligation_Submitted, + irrevocable = if reuse_incomplete then old.irrevocable else irrevocable, + reversible = if reuse_incomplete then old.reversible else reversible + }; + return selected; +end; + +func MarkGMObligationCapturedTStoreProgress(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].captured_tstore_progress = TRUE; + end; +end; + +func UpdateGMObligationState(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + state: GMObligationState) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].state = state; + end; +end; + +func ValidateGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Validated); +end; + +func IssueGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Issued); +end; + +func MarkGMObligationIrrevocable(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + _GMObligations[[core]][[pe]][[slot]].irrevocable = TRUE; + _GMObligations[[core]][[pe]][[slot]].reversible = FALSE; + end; +end; + +func CompleteGMObligationForIdentity(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex, + invocation: integer, + identity: integer) +begin + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.identity == identity then + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + UpdateGMObligationState(core, pe, slot, GMObligation_Completed); + end; +end; + +func FaultGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Faulted); +end; + +func RetryGMObligation(core: PTOModelCoreIdentity, pe: MemoryAgentId, + slot: GMObligationIndex) +begin + UpdateGMObligationState(core, pe, slot, GMObligation_Submitted); +end; + +func ResolveGMObligationFaultRisk(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + slot: GMObligationIndex) +begin + if _GMObligations[[core]][[pe]][[slot]].active then + if !_GMObligations[[core]][[pe]][[slot]].executable_capture_valid then + // This real producer check follows complete request-footprint + // validation. Failed attempts keep their occurrence identity but + // may retry under a recovered CurrentACR. + _GMObligations[[core]][[pe]][[slot]].submission_acr = _CurrentACR; + _GMObligations[[core]][[pe]][[slot]].executable_capture_valid = TRUE; + end; + _GMObligations[[core]][[pe]][[slot]].may_fault = FALSE; + _GMObligations[[core]][[pe]][[slot]].state = GMObligation_Validated; + end; +end; + +readonly func CoreGMObligationsPermitArrival(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut then + if obligation.state == GMObligation_Faulted || + (obligation.may_fault && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled) then + return FALSE; + end; + end; + end; + return TRUE; +end; + +readonly func CoreGMObligationsComplete(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + invocation: integer, + program_order_cut: integer) + => boolean +begin + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.submission_order <= program_order_cut && + obligation.state != GMObligation_Completed then + return FALSE; + end; + end; + return TRUE; +end; + +readonly func KernelGMObligationsQuiescent(core: PTOModelCoreIdentity, + invocation: integer) => boolean +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.state != GMObligation_Completed && + obligation.state != GMObligation_Cancelled then + return FALSE; + end; + end; + end; + return TRUE; +end; + +func AbortKernelGMObligations(core: PTOModelCoreIdentity, + invocation: integer) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.reversible && !obligation.irrevocable && + obligation.state != GMObligation_Completed then + _GMObligations[[core]][[pe]][[slot]].state = + GMObligation_Cancelled; + end; + end; + end; +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/memory-events.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/memory-events.md index e57028fb7..d98d55e9c 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/memory-events.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/memory-events.md @@ -77,7 +77,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","surface":"arch","classification":["memory-model","memory-events"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ADDRESS-SPACE","PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT"]} // PTO-REQ-MEMORY-RC-001: bounded executable candidate-execution checker for // PTO relaxed consistency with preserved Store->Store order. The event bound // is verification infrastructure, not an architectural limit on agents or @@ -114,14 +114,15 @@ This page is a generated reference view of the normative ASL unit. pure func MemoryEventIsRead(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic; + return event.active && + (event.kind == MemoryEvent_Load || event.kind == MemoryEvent_Atomic); end; pure func MemoryEventIsWrite(event: MemoryEvent) => boolean begin - return event.kind == MemoryEvent_InitialWrite || + return event.active && (event.kind == MemoryEvent_InitialWrite || event.kind == MemoryEvent_Store || - (event.kind == MemoryEvent_Atomic && event.write_performed); + (event.kind == MemoryEvent_Atomic && event.write_performed)); end; pure func MemoryEventIsAccess(event: MemoryEvent) => boolean @@ -129,6 +130,13 @@ begin return MemoryEventIsRead(event) || MemoryEventIsWrite(event); end; +pure func MemoryEventsSameAgent(left: MemoryEvent, + right: MemoryEvent) => boolean +begin + return left.core_identity == right.core_identity && + left.agent == right.agent; +end; + pure func MemoryEventRangesOverlap(left: MemoryEvent, right: MemoryEvent) => boolean begin @@ -186,7 +194,9 @@ end; // Production event extraction is an explicit verification mode because the // bounded event array is model-checking infrastructure, not an architectural // execution limit. Manual candidate construction remains available while -// capture is disabled. +// capture is disabled. Captured events retain the Core's completed collective +// sequence at request submission; this immutable stamp carries established +// relation history beyond reusable active generation records. func StartMemoryEventCapture(agent: MemoryAgentId) begin ResetMemoryExecution(); @@ -208,7 +218,32 @@ func AddMemoryEvent(event: MemoryEvent) => MemoryEventIndex begin assert _MemoryEventCount < PTO_MODEL_MEMORY_EVENTS; let index = _MemoryEventCount as MemoryEventIndex; - _MemoryEvents[[index]] = event; + var captured = event; + if event.kind != MemoryEvent_InitialWrite then + captured.core_identity = _CurrentModelCore; + captured.origin = _CurrentMemoryOrigin; + captured.invocation = _CurrentKernelInvocation; + captured.program_order = _CurrentProgramOrder; + captured.collective_epoch = _CurrentCollectiveEpoch; + captured.collective_history_sequence = + if _MemoryEventCollectiveHistoryOverrideValid then + _MemoryEventCollectiveHistoryOverride + else _CoreCollectiveHistorySequence[[captured.core_identity]]; + end; + captured.active = TRUE; + captured.committed = TRUE; + captured.replay_epoch = 0; + if event.kind != MemoryEvent_InitialWrite && + _MemoryReplayState.active && + _MemoryReplayState.owner_core == captured.core_identity && + _MemoryReplayState.owner_agent == captured.agent && + _MemoryReplayState.owner_origin == captured.origin && + _MemoryReplayState.owner_invocation == captured.invocation && + _MemoryReplayState.owner_program_order == captured.program_order then + captured.committed = FALSE; + captured.replay_epoch = _MemoryReplayState.epoch; + end; + _MemoryEvents[[index]] = captured; _MemoryEventCount = (_MemoryEventCount + 1) as integer {0..PTO_MODEL_MEMORY_EVENTS}; return index; @@ -218,8 +253,17 @@ func AddInitialWriteEvent(address: Word, size_bytes: integer {1,2,4,8}, value: Word) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_InitialWrite, + core_identity = 0, agent = 0, + origin = MemoryEventOrigin_NonKernel, + invocation = 0, + program_order = 0, + collective_epoch = 0, + collective_history_sequence = 0, address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -238,8 +282,18 @@ func AddLoadEvent(agent: MemoryAgentId, address: Word, order: MemoryOrder) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Load, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(value, size_bytes), @@ -259,8 +313,18 @@ func AddStoreEvent(agent: MemoryAgentId, address: Word, => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Store, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = Zeros{PTO_XLEN}, @@ -290,8 +354,18 @@ func AddAtomicOutcomeEvent(agent: MemoryAgentId, address: Word, write_performed: boolean) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Atomic, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = address, size_bytes = size_bytes, read_value = NormalizeMemoryAccessValue(read_value, size_bytes), @@ -309,8 +383,18 @@ func AddDataFenceEvent(agent: MemoryAgentId, predecessor: bits(4), successor: bits(4)) => MemoryEventIndex begin return AddMemoryEvent(MemoryEvent { + active = TRUE, + committed = TRUE, + replay_epoch = 0, kind = MemoryEvent_Fence, + core_identity = _CurrentModelCore, agent = agent, + origin = _CurrentMemoryOrigin, + invocation = _CurrentKernelInvocation, + program_order = _CurrentProgramOrder, + collective_epoch = _CurrentCollectiveEpoch, + collective_history_sequence = + _CoreCollectiveHistorySequence[[_CurrentModelCore]], address = Zeros{PTO_XLEN}, size_bytes = 1, read_value = Zeros{PTO_XLEN}, diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/ordering.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/ordering.md index ff0353657..937b735cd 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/ordering.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/memory-model/ordering.md @@ -72,7 +72,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY"]} +// PTO-UNIT: {"id":"PTO-ARCH-MEMORY-MODEL-ORDERING","surface":"arch","classification":["memory-model","ordering"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ATOMICITY","PTO-ARCH-STATE-CORE-SYNCHRONIZATION"]} // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-SCOPE-001 // ndf: kind=contract level=L1 layer=memory status=accepted // PTO defines one architecture-visible GM domain for scalar, Tile, @@ -80,6 +80,15 @@ This page is a generated reference view of the normative ASL unit. // caches, coalescers, replay buffers, splitting, and merging are not // architectural state and MUST preserve the result required by PTO-RC. // NDF-END: PTO-ARCH-MEMORY-MODEL-SCOPE-001 +// NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 +// ndf: kind=contract level=L1 layer=memory status=accepted +// A completed Core collective orders each participating kernel PE's earlier +// GM events before participating kernel PE events recorded after that +// collective in the same invocation. Handler events, events from another Core, +// and events from another invocation do not acquire this relation. A retained +// event's established collective relation MUST survive active generation +// record reuse and later context or invocation selection. +// NDF-END: PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001 // NDF-BEGIN: PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001 // ndf: kind=contract level=L1 layer=memory status=accepted // Every request belongs to Scalar, Tile, IndexedGenerated, or Prefetch. @@ -152,7 +161,8 @@ readonly func MemoryCoherenceBefore(left_index: MemoryEventIndex, begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && + return left.active && right.active && + MemoryEventIsWrite(left) && MemoryEventIsWrite(right) && MemoryEventsShareLocation(left, right) && left.coherence_rank < right.coherence_rank; end; @@ -162,7 +172,8 @@ readonly func MemoryReadsFromBefore(write_index: MemoryEventIndex, begin let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return MemoryEventIsWrite(write) && MemoryEventIsRead(read) && + return write.active && read.active && + MemoryEventIsWrite(write) && MemoryEventIsRead(read) && read.read_from == write_index; end; @@ -173,7 +184,9 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - return write.kind == MemoryEvent_InitialWrite || write.agent != read.agent; + return write.active && read.active && + (write.kind == MemoryEvent_InitialWrite || + !MemoryEventsSameAgent(write, read)); end; readonly func MemorySynchronizesWith(write_index: MemoryEventIndex, @@ -182,7 +195,8 @@ begin if !MemoryReadsFromBefore(write_index, read_index) then return FALSE; end; let write = _MemoryEvents[[write_index]]; let read = _MemoryEvents[[read_index]]; - if write.agent == read.agent then return FALSE; end; + if !write.active || !read.active || + MemoryEventsSameAgent(write, read) then return FALSE; end; let write_release = write.order == MemoryOrder_Release || write.order == MemoryOrder_AcquireRelease; let read_acquire = read.order == MemoryOrder_Acquire || @@ -196,7 +210,8 @@ begin let read = _MemoryEvents[[read_index]]; // An atomic event contains its read and write sides. Its own write is not a // later event in from-read; only a distinct coherence successor is. - if read_index == write_index || !MemoryEventIsRead(read) then return FALSE; end; + if !read.active || read_index == write_index || + !MemoryEventIsRead(read) then return FALSE; end; return MemoryCoherenceBefore(read.read_from, write_index); end; @@ -205,7 +220,8 @@ readonly func MemoryProgramOrderLocationBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - return left_index < right_index && left.agent == right.agent && + return left.active && right.active && left_index < right_index && + MemoryEventsSameAgent(left, right) && left.kind != MemoryEvent_InitialWrite && right.kind != MemoryEvent_InitialWrite && MemoryEventIsAccess(left) && MemoryEventIsAccess(right) && @@ -218,11 +234,13 @@ begin if left_index + 1 >= right_index then return FALSE; end; let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active then return FALSE; end; for fence_number = left_index + 1 to right_index - 1 do let fence_index = fence_number as MemoryEventIndex; let fence = _MemoryEvents[[fence_index]]; - if fence.kind == MemoryEvent_Fence && fence.agent == left.agent && - fence.agent == right.agent && + if fence.active && fence.kind == MemoryEvent_Fence && + MemoryEventsSameAgent(fence, left) && + MemoryEventsSameAgent(fence, right) && (MemoryEventClass(left) AND fence.fence_predecessor) != Zeros{4} && (MemoryEventClass(right) AND fence.fence_successor) != Zeros{4} then return TRUE; @@ -236,7 +254,8 @@ readonly func MemoryPreservedProgramOrderBefore( begin let left = _MemoryEvents[[left_index]]; let right = _MemoryEvents[[right_index]]; - if left_index >= right_index || left.agent != right.agent || + if !left.active || !right.active || left_index >= right_index || + !MemoryEventsSameAgent(left, right) || left.kind == MemoryEvent_InitialWrite || right.kind == MemoryEvent_InitialWrite || !MemoryEventIsAccess(left) || !MemoryEventIsAccess(right) then @@ -264,17 +283,18 @@ begin for event_number = 0 to _MemoryEventCount - 1 do let event_index = event_number as MemoryEventIndex; let event = _MemoryEvents[[event_index]]; - if MemoryEventIsAccess(event) then + if event.active && MemoryEventIsAccess(event) then var initial_count: integer = 0; for candidate_number = 0 to _MemoryEventCount - 1 do let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; - if candidate.kind == MemoryEvent_InitialWrite && + if candidate.active && + candidate.kind == MemoryEvent_InitialWrite && MemoryEventsShareLocation(event, candidate) then initial_count = initial_count + 1; end; if candidate_index != event_index && - MemoryEventIsAccess(candidate) && + candidate.active && MemoryEventIsAccess(candidate) && MemoryEventPartialOverlap(event, candidate) then // Mixed-size or partially overlapping candidates require // a byte-level coherence extension and fail closed here. @@ -283,10 +303,11 @@ begin end; if initial_count != 1 then return FALSE; end; end; - if event.kind == MemoryEvent_InitialWrite && event.coherence_rank != 0 then + if event.active && event.kind == MemoryEvent_InitialWrite && + event.coherence_rank != 0 then return FALSE; end; - if MemoryEventIsWrite(event) && + if event.active && MemoryEventIsWrite(event) && event.kind != MemoryEvent_InitialWrite then if event.coherence_rank == 0 then return FALSE; end; var predecessor_found = FALSE; @@ -294,7 +315,7 @@ begin let candidate_index = candidate_number as MemoryEventIndex; let candidate = _MemoryEvents[[candidate_index]]; if candidate_index != event_index && - MemoryEventIsWrite(candidate) && + candidate.active && MemoryEventIsWrite(candidate) && MemoryEventsShareLocation(event, candidate) then if candidate.coherence_rank == event.coherence_rank then return FALSE; @@ -306,10 +327,10 @@ begin end; if !predecessor_found then return FALSE; end; end; - if MemoryEventIsRead(event) then + if event.active && MemoryEventIsRead(event) then if event.read_from >= _MemoryEventCount then return FALSE; end; let source = _MemoryEvents[[event.read_from]]; - if !MemoryEventIsWrite(source) || + if !source.active || !MemoryEventIsWrite(source) || !MemoryEventsShareLocation(event, source) || event.read_value != source.write_value then return FALSE; @@ -337,7 +358,8 @@ begin let right = right_number as MemoryEventIndex; var edge = MemoryCoherenceBefore(left, right) || MemoryFromReadBefore(left, right) || - MemorySynchronizesWith(left, right); + MemorySynchronizesWith(left, right) || + MemoryCollectiveSyncBefore(left, right); if uniproc then edge = edge || MemoryProgramOrderLocationBefore(left, right) || MemoryReadsFromBefore(left, right); diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/core-pe-topology.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/core-pe-topology.md index 1e59b10bf..b3c1da04b 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/core-pe-topology.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/core-pe-topology.md @@ -87,6 +87,12 @@ constant PTO_TILE_REGISTER_COUNT = 64; constant PTO_SHARED_TILE_COUNT = 64; constant PTO_MODEL_MEMORY_AGENTS = 4; constant PTO_MODEL_MEMORY_EVENTS = 16; +// Finite model inventory for isolation witnesses only. It does not describe +// implementation capacity and does not change the four PE identities. +constant PTO_MODEL_CORE_INSTANCES = 2; +constant PTO_MODEL_SYNC_GENERATIONS = 8; +constant PTO_MODEL_GM_OBLIGATIONS = 16; +type PTOModelCoreIdentity of integer {0..PTO_MODEL_CORE_INSTANCES-1}; // Fixed semantic PE identities are numbered PE0..PE3. The architectural // four-bit mask keeps PE0 in its high bit, so consumers that index a mask by diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/execution-context.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/execution-context.md index 8f9a3489d..725a64a7b 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/execution-context.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/execution-context.md @@ -72,14 +72,18 @@ T 和 U 是相互独立的队列:向其中一个队列压入数据,不会修 ```asl // PTO-UNIT: {"id":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","surface":"arch","classification":["programming-model","execution-context"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-KERNEL-LIFECYCLE","classification":["architecture","kernel-lifecycle"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_KernelInvocationByCore","_NextKernelInvocationIdByCore","_RetiredKernelInvocationByCore","_KernelInvocationActiveByCore","_CurrentKernelInvocation"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-GPR","classification":["architecture","scalar","gpr"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PEGPRs"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"bundle","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"core","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_ReservationValid","_ReservationAddress","_ReservationSize","_LastFencePredecessor","_LastFenceSuccessor","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent","_MemoryReplayState"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TEMPORARY-QUEUES","classification":["architecture","temporary-queues"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_TQueue","_TQueueValid","_UQueue","_UQueueValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PROGRAM-CONTROL","classification":["architecture","program-control"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_PC","_BPC","_BundleActive","_BundleBodyActive","_ReturnAddress","_CommitArgument","_PredicateRegisters"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-FAULT","classification":["architecture","fault"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_LastFault","_FaultAddress"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY","classification":["architecture","memory"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_Memory","_MemoryEvents","_MemoryEventCount","_MemoryEventCaptureEnabled","_CurrentMemoryAgent"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-ARCH-MAINTENANCE","classification":["architecture","maintenance"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_DataCacheEpoch","_InstructionCacheEpoch","_BundleCacheEpoch","_TLBEpoch","_LastMaintenanceOperation","_LastMaintenanceOperand","_BundleHintEpoch","_ArchitectureRequestEpoch","_LastControlRequest","_ControlRequestOperand"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":[]} -// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS","classification":["architecture","extended-system-registers"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ExtendedSystemRegisters","_CurrentACR"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-TRAP-CONTEXT","classification":["architecture","trap-context"],"scope":"acr","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_ACRTrapAsynchronous","_ACRTrapArgumentValid","_ACRTrapCause","_ACRTrapNumber","_ACRTrapArgument0","_TrapContexts"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-CONTEXT-SELECTION","classification":["architecture","core-context-selection"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentModelCore"],"depends_on":["PTO-STATE-ARCH-CORE-LOCAL-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-PROGRESS","classification":["architecture","pe-execution-progress"],"scope":"pe","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_CurrentCollectiveEpoch","_CurrentEncodedInstruction","_CurrentMemoryOrigin","_CurrentProgramOrder","_LastFencePredecessor","_LastFenceSuccessor","_MemoryReplayState","_ReservationAddress","_ReservationSize","_ReservationValid","_ScalarExecutionBlocked"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-MEMORY-EVENT-OVERRIDE","classification":["architecture","memory-event-override"],"scope":"system","owner":"PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","members":["_MemoryEventCollectiveHistoryOverrideValid","_MemoryEventCollectiveHistoryOverride"],"depends_on":["PTO-STATE-ARCH-MEMORY"]} // NDF-BEGIN: PTO-REQ-STATE-001 // ndf: kind=contract level=L1 layer=state status=accepted @@ -89,7 +93,8 @@ T 和 U 是相互独立的队列:向其中一个队列压入数据,不会修 // [[PTO-STATE-ARCH-MEMORY]], [[PTO-STATE-ARCH-MAINTENANCE]], // [[PTO-STATE-ARCH-SYSTEM-REGISTERS]], // [[PTO-STATE-ARCH-EXTENDED-SYSTEM-REGISTERS]], and -// [[PTO-STATE-ARCH-TRAP-CONTEXT]]. +// [[PTO-STATE-ARCH-TRAP-CONTEXT]], and +// [[PTO-STATE-ARCH-PE-EXECUTION-CONTEXT]]. // NDF-END: PTO-REQ-STATE-001 // Requirement references: PTO-REQ-RESET-001, PTO-REQ-MEMORY-RC-001. @@ -97,7 +102,8 @@ T 和 U 是相互独立的队列:向其中一个队列压入数据,不会修 // A core owns four private scalar register files. An encoded absolute GPR // selector is shared by the instruction, but each PE resolves that selector // in its own file. -var _PEGPRs : array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; +var _PEGPRs : array [[PTO_MODEL_CORE_INSTANCES]] of + array [[PTO_MODEL_MEMORY_AGENTS]] of PERegisterFile; var _TQueue : TemporaryQueueSnapshot; var _TQueueValid : TemporaryQueueValiditySnapshot; var _UQueue : TemporaryQueueSnapshot; @@ -122,6 +128,21 @@ var _MemoryEventCount : integer {0..PTO_MODEL_MEMORY_EVENTS}; var _MemoryEventCaptureEnabled : boolean; var _CurrentMemoryAgent : MemoryAgentId; var _MemoryReplayState : MemoryReplayState; +var _CurrentModelCore : PTOModelCoreIdentity; +var _CurrentMemoryOrigin : MemoryEventOrigin; +var _CurrentKernelInvocation : integer; +var _CurrentProgramOrder : integer; +var _CurrentCollectiveEpoch : integer; +var _MemoryEventCollectiveHistoryOverrideValid : boolean; +var _MemoryEventCollectiveHistoryOverride : integer; +var _ScalarExecutionBlocked : boolean; +var _CurrentEncodedInstruction : bits(64); +var _KernelInvocationByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _NextKernelInvocationIdByCore : array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _RetiredKernelInvocationByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; +var _KernelInvocationActiveByCore : + array [[PTO_MODEL_CORE_INSTANCES]] of boolean; var _DataCacheEpoch : integer; var _InstructionCacheEpoch : integer; var _BundleCacheEpoch : integer; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/scalar-registers.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/scalar-registers.md index 0f1c1e596..407c670af 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/scalar-registers.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/programming-model/scalar-registers.md @@ -73,7 +73,7 @@ begin if index == 0 then return Zeros{PTO_XLEN}; else - return _PEGPRs[[pe]][[index]]; + return _PEGPRs[[_CurrentModelCore]][[pe]][[index]]; end; end; @@ -85,7 +85,7 @@ end; func WritePEGPR(pe: MemoryAgentId, index: GPRIndex, value: Word) begin if index != 0 then - _PEGPRs[[pe]][[index]] = value; + _PEGPRs[[_CurrentModelCore]][[pe]][[index]] = value; end; end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/core-synchronization.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/core-synchronization.md new file mode 100644 index 000000000..118f3ffe9 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/core-synchronization.md @@ -0,0 +1,339 @@ + +# Core Synchronization + +**Normative ASL source:** `asl/arch/state/core-synchronization.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-CORE-SYNCHRONIZATION} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","surface":"arch","classification":["state","core-synchronization"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS","PTO-ARCH-STATE-PE-EXECUTION-CONTEXT"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION","classification":["architecture","core-synchronization"],"scope":"core","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_CoreSyncRecords","_CoreCollectiveHistorySequence"],"depends_on":["PTO-STATE-ARCH-KERNEL-LIFECYCLE"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-SYNCHRONIZATION-PE","classification":["architecture","core-synchronization","pe-progress"],"scope":"pe","owner":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION","members":["_PEBarrierNextGeneration","_PEReleaseValid","_PEReleaseGeneration","_PEProgramOrder","_PECollectiveEpoch"],"depends_on":["PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","PTO-STATE-ARCH-CORE-SYNCHRONIZATION"]} +// NDF-BEGIN: PTO-ARCH-CORE-SYNCHRONIZATION-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST rendezvous exactly PE0 through PE3 at one static +// SYNC.CORE site and generation in one active invocation. A participant MUST +// remain parked without advancing its PC until all arrivals and earlier GM +// obligations are complete. Completion is irrevocable; each PE retains its +// own release token until consumed once, and a later generation cannot replace +// an unconsumed token. PE_MASK does not change membership. Memory-event +// provenance for a completed collective MUST survive release consumption, +// generation-record reuse, Core selection, and later invocation setup. +// NDF-END: PTO-ARCH-CORE-SYNCHRONIZATION-001 + +type CoreSyncArrivalOrders of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncGenerationRecord of record { + valid: boolean, + core_identity: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word, + arrived: bits(PTO_MODEL_MEMORY_AGENTS), + arrival_orders: CoreSyncArrivalOrders, + released: boolean, + consumed: bits(PTO_MODEL_MEMORY_AGENTS) +}; +type CoreSyncGenerationRing of array [[PTO_MODEL_SYNC_GENERATIONS]] + of CoreSyncGenerationRecord; +type CoreSyncCoreBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreSyncGenerationRing; +type CoreSyncGenerationByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; +type CoreSyncReleaseMaskByCore of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); +type CoreSyncProgramOrderByPE of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + +var _CoreSyncRecords : CoreSyncCoreBank; +var _PEBarrierNextGeneration : CoreSyncGenerationByPE; +var _PEReleaseGeneration : CoreSyncGenerationByPE; +var _PEReleaseValid : CoreSyncReleaseMaskByCore; +var _PEProgramOrder : CoreSyncProgramOrderByPE; +var _PECollectiveEpoch : CoreSyncProgramOrderByPE; +// Retained collective provenance is Core-scoped architectural model state. +var _CoreCollectiveHistorySequence : + array [[PTO_MODEL_CORE_INSTANCES]] of integer; + +readonly func CoreSyncAllParticipantsMask() => bits(4) +begin + return Ones{4}; +end; + +func ResetCoreSynchronizationState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _CoreCollectiveHistorySequence[[core]] = 0; + _PEReleaseValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + _CoreSyncRecords[[core]][[slot]].core_identity = core; + _CoreSyncRecords[[core]][[slot]].invocation = 0; + _CoreSyncRecords[[core]][[slot]].generation = 0; + _CoreSyncRecords[[core]][[slot]].site = Zeros{PTO_XLEN}; + _CoreSyncRecords[[core]][[slot]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[slot]].released = FALSE; + _CoreSyncRecords[[core]][[slot]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[slot]].arrival_orders[[pe]] = 0; + end; + end; + end; +end; + +readonly func FindCoreSyncGenerationRecord( + core: PTOModelCoreIdentity, + invocation: integer, + generation: integer) => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation && + _CoreSyncRecords[[core]][[slot]].generation == generation then + return slot as integer {0..PTO_MODEL_SYNC_GENERATIONS}; + end; + end; + return PTO_MODEL_SYNC_GENERATIONS; +end; + +func AllocateCoreSyncGenerationRecord(core: PTOModelCoreIdentity, + invocation: integer, + generation: integer, + site: Word) + => integer {0..PTO_MODEL_SYNC_GENERATIONS} +begin + var selected: integer {0..PTO_MODEL_SYNC_GENERATIONS} = + PTO_MODEL_SYNC_GENERATIONS; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let old = _CoreSyncRecords[[core]][[slot]]; + if !old.valid || + (old.released && old.consumed == CoreSyncAllParticipantsMask()) then + if selected == PTO_MODEL_SYNC_GENERATIONS then + selected = slot; + end; + end; + end; + if selected == PTO_MODEL_SYNC_GENERATIONS then return selected; end; + let index = selected as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + _CoreSyncRecords[[core]][[index]].valid = TRUE; + _CoreSyncRecords[[core]][[index]].core_identity = core; + _CoreSyncRecords[[core]][[index]].invocation = invocation; + _CoreSyncRecords[[core]][[index]].generation = generation; + _CoreSyncRecords[[core]][[index]].site = site; + _CoreSyncRecords[[core]][[index]].arrived = Zeros{4}; + _CoreSyncRecords[[core]][[index]].released = FALSE; + _CoreSyncRecords[[core]][[index]].consumed = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = 0; + end; + return selected; +end; + +func InvalidateCorePEReservations(core: PTOModelCoreIdentity) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if core == _CurrentModelCore && + pe == (_CurrentMemoryAgent as integer {0..3}) then + _ReservationValid = FALSE; + end; + if _PEContextBankValid[[core]][pe] == '1' then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + elsif core == _CurrentModelCore && + !_CurrentPEContextValid && pe == 0 then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; + end; +end; + +func ReleaseCoreSyncGeneration(core: PTOModelCoreIdentity, + slot: integer {0..PTO_MODEL_SYNC_GENERATIONS-1}) +begin + _CoreSyncRecords[[core]][[slot]].released = TRUE; + _CoreCollectiveHistorySequence[[core]] = + _CoreCollectiveHistorySequence[[core]] + 1; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '1'; + _PEReleaseGeneration[[core]][[pe]] = + _CoreSyncRecords[[core]][[slot]].generation; + end; + InvalidateCorePEReservations(core); +end; + +func TryCompleteCoreSynchronization(core: PTOModelCoreIdentity) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + let generation_record = _CoreSyncRecords[[core]][[slot]]; + if generation_record.valid && !generation_record.released && + generation_record.arrived == CoreSyncAllParticipantsMask() then + var obligations_complete = TRUE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if !CoreGMObligationsComplete(core, + pe as MemoryAgentId, generation_record.invocation, + generation_record.arrival_orders[[pe]]) then + obligations_complete = FALSE; + end; + end; + if obligations_complete then + ReleaseCoreSyncGeneration(core, + slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}); + end; + end; + end; +end; + +func ConsumeCoreSyncRelease(core: PTOModelCoreIdentity, + pe: MemoryAgentId) => boolean +begin + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if _PEReleaseValid[[core]][bit_index] != '1' || + _PEReleaseGeneration[[core]][[pe]] != + _PEBarrierNextGeneration[[core]][[pe]] then + return FALSE; + end; + let invocation = _KernelInvocationByCore[[core]]; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot < PTO_MODEL_SYNC_GENERATIONS then + _CoreSyncRecords[[core]][[slot]].consumed[bit_index] = '1'; + end; + _PEReleaseValid[[core]][bit_index] = '0'; + _PEBarrierNextGeneration[[core]][[pe]] = generation + 1; + _PECollectiveEpoch[[core]][[pe]] = generation + 1; + if core == _CurrentModelCore && pe == _CurrentMemoryAgent then + _CurrentCollectiveEpoch = generation + 1; + end; + return TRUE; +end; + +func SyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + _ScalarExecutionBlocked = TRUE; + return; + end; + if ConsumeCoreSyncRelease(_CurrentModelCore, _CurrentMemoryAgent) then + return; + end; + + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let invocation = _CurrentKernelInvocation; + let generation = _PEBarrierNextGeneration[[core]][[pe]]; + let site = ReadTPC(); + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + if !CoreGMObligationsPermitArrival(core, pe, invocation, + _CurrentProgramOrder) then + _ScalarExecutionBlocked = TRUE; + return; + end; + var slot = FindCoreSyncGenerationRecord(core, invocation, generation); + if slot == PTO_MODEL_SYNC_GENERATIONS then + slot = AllocateCoreSyncGenerationRecord( + core, invocation, generation, site); + end; + if slot == PTO_MODEL_SYNC_GENERATIONS then + _ScalarExecutionBlocked = TRUE; + return; + end; + let index = slot as integer {0..PTO_MODEL_SYNC_GENERATIONS-1}; + if _CoreSyncRecords[[core]][[index]].site != site then + _ScalarExecutionBlocked = TRUE; + return; + end; + if _CoreSyncRecords[[core]][[index]].arrived[bit_index] == '0' then + _CoreSyncRecords[[core]][[index]].arrived[bit_index] = '1'; + _CoreSyncRecords[[core]][[index]].arrival_orders[[pe]] = + _CurrentProgramOrder; + end; + TryCompleteCoreSynchronization(core); + if !ConsumeCoreSyncRelease(core, pe) then + _ScalarExecutionBlocked = TRUE; + end; +end; + +func ProgressCoreSynchronization(core: PTOModelCoreIdentity) +begin + TryCompleteCoreSynchronization(core); +end; + +func RetireCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[core]][[slot]].valid && + _CoreSyncRecords[[core]][[slot]].invocation == invocation then + _CoreSyncRecords[[core]][[slot]].valid = FALSE; + end; + end; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe as integer {0..3}); + _PEReleaseValid[[core]][bit_index] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +func AbortCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Active collective records and release tokens belong to the closing + // invocation. Completed memory ordering remains in retained event + // provenance and is deliberately not rewound here. + RetireCoreSynchronizationInvocation(core, invocation); +end; + +func BeginCoreSynchronizationInvocation(core: PTOModelCoreIdentity, + invocation: integer) +begin + // Launch is admitted only after the retired invocation is quiescent. + // Retain consumed release records for memory-history checking; the new + // invocation is isolated by its unique invocation identity. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _PEBarrierNextGeneration[[core]][[pe]] = 0; + _PEReleaseValid[[core]][PTOPEMaskBitOfPEIdentity( + pe as integer {0..3})] = '0'; + _PEReleaseGeneration[[core]][[pe]] = 0; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + end; +end; + +readonly func MemoryCollectiveSyncBefore(left_index: MemoryEventIndex, + right_index: MemoryEventIndex) + => boolean +begin + let left = _MemoryEvents[[left_index]]; + let right = _MemoryEvents[[right_index]]; + if !left.active || !right.active || + left.origin != MemoryEventOrigin_Kernel || + right.origin != MemoryEventOrigin_Kernel || + left.core_identity != right.core_identity || + left.invocation != right.invocation || + left_index == right_index then return FALSE; end; + return left.collective_history_sequence < + right.collective_history_sequence; +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/kernel-lifecycle.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/kernel-lifecycle.md new file mode 100644 index 000000000..550058a2c --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/kernel-lifecycle.md @@ -0,0 +1,164 @@ + +# Kernel Lifecycle + +**Normative ASL source:** `asl/arch/state/kernel-lifecycle.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-KERNEL-LIFECYCLE} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-KERNEL-LIFECYCLE","surface":"arch","classification":["state","kernel-lifecycle"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"]} +// NDF-BEGIN: PTO-ARCH-KERNEL-LIFECYCLE-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// A Core has at most one active kernel invocation. Launch establishes one +// common entry PC and new invocation identity for PE0..PE3, invalidating all +// target-Core prelaunch recovery frames. Successful End and +// Abort retire invocation-owned active-PE Shared candidate/release metadata +// while preserving any published Shared parent and committed effects. Abort +// discards incomplete collective state and cancels reversible work, but +// preserves committed effects and waits for irrevocable older work to quiesce +// before a later launch. Completion from an earlier invocation MUST NOT +// update the current invocation's synchronization state. Lifecycle retirement +// MUST clear active-PE Shared generation and release metadata matching the +// retiring Core/invocation while preserving published Shared payloads and +// operation ordinals; aggregate records and another identity remain untouched. +// NDF-END: PTO-ARCH-KERNEL-LIFECYCLE-001 + +type KernelLifecycleResult of enumeration { + KernelLifecycle_Started, + KernelLifecycle_Waiting, + KernelLifecycle_Rejected +}; + +func ResetKernelLifecycleState() +begin + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; +end; + +readonly func KernelInvocationIsActive(core: PTOModelCoreIdentity) + => boolean +begin + return _KernelInvocationActiveByCore[[core]]; +end; + +func InitializePEForKernelEntry(core: PTOModelCoreIdentity, + pe: MemoryAgentId, + entry: Word) +begin + SelectExecutionContext(core, pe); + InvalidatePETrapRecoveryFramesForFreshKernelEntry(); + _PC = entry; + _BPC = Zeros{PTO_XLEN}; + _BundleActive = FALSE; + _BundleBodyActive = FALSE; + _BARG.block_type = BundleKind_Standard; + _BARG.transfer_type = BundleTransfer_Fallthrough; + _BARG.taken = FALSE; + _BARG.bpcn = Zeros{PTO_XLEN}; + ClearBundleHeaderState(); + _BundleSequentialPC = Zeros{PTO_XLEN}; + _FrameStackReturnTarget = Zeros{PTO_XLEN}; + _ReturnAddress = Zeros{PTO_XLEN}; + _CommitArgument = Zeros{PTO_XLEN}; + for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do + _TQueue[[index]] = Zeros{PTO_XLEN}; + _TQueueValid[[index]] = FALSE; + _UQueue[[index]] = Zeros{PTO_XLEN}; + _UQueueValid[[index]] = FALSE; + end; + for predicate = 0 to PTO_PREDICATE_REGISTER_COUNT - 1 do + _PredicateRegisters[[predicate]] = Zeros{PTO_PREDICATE_WIDTH}; + end; + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _ScalarExecutionBlocked = FALSE; + _PEProgramOrder[[core]][[pe]] = 0; + _PECollectiveEpoch[[core]][[pe]] = 0; + _PEBarrierNextGeneration[[core]][[pe]] = 0; + SaveSelectedPEExecutionContext(); +end; + +func LaunchKernelInvocation(core: PTOModelCoreIdentity, entry: Word) + => KernelLifecycleResult +begin + if _KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Waiting; + end; + let retired = _RetiredKernelInvocationByCore[[core]]; + if retired != 0 && !KernelGMObligationsQuiescent(core, retired) then + return KernelLifecycle_Waiting; + end; + if entry[0] == '1' then return KernelLifecycle_Rejected; end; + + let previous_core = _CurrentModelCore; + let previous_pe = _CurrentMemoryAgent; + let invocation = _NextKernelInvocationIdByCore[[core]]; + _NextKernelInvocationIdByCore[[core]] = invocation + 1; + _KernelInvocationByCore[[core]] = invocation; + _KernelInvocationActiveByCore[[core]] = TRUE; + _RetiredKernelInvocationByCore[[core]] = 0; + _VerificationGMProgressDeferred = FALSE; + BeginCoreSynchronizationInvocation(core, invocation); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + InitializePEForKernelEntry(core, pe as MemoryAgentId, entry); + end; + SelectExecutionContext(previous_core, previous_pe); + return KernelLifecycle_Started; +end; + +func EndKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + if !KernelGMObligationsQuiescent(core, invocation) then + return KernelLifecycle_Waiting; + end; + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + RetireCoreSynchronizationInvocation(core, invocation); + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return KernelLifecycle_Started; +end; + +func AbortKernelInvocation(core: PTOModelCoreIdentity) + => KernelLifecycleResult +begin + if !_KernelInvocationActiveByCore[[core]] then + return KernelLifecycle_Rejected; + end; + let invocation = _KernelInvocationByCore[[core]]; + AbortKernelGMObligations(core, invocation); + AbortCoreSynchronizationInvocation(core, invocation); + RetirePEOwnedSharedGenerationsForInvocation(core, invocation); + _RetiredKernelInvocationByCore[[core]] = invocation; + _KernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + return if KernelGMObligationsQuiescent(core, invocation) then + KernelLifecycle_Started else KernelLifecycle_Waiting; +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/pe-execution-context.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/pe-execution-context.md new file mode 100644 index 000000000..09ff60476 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/pe-execution-context.md @@ -0,0 +1,523 @@ + +# PE Execution Context + +**Normative ASL source:** `asl/arch/state/pe-execution-context.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-ARCH-STATE-PE-EXECUTION-CONTEXT} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","surface":"arch","classification":["state","pe-execution-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING","PTO-ARCH-STATE-TRAP-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS"]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-PE-EXECUTION-CONTEXT","classification":["architecture","pe-execution-context"],"scope":"pe","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_PEExecutionContexts","_CurrentPEContextValid","_PEContextBankValid","_DefaultPEExecutionContext"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-ARCH-CORE-LOCAL-CONTEXT","classification":["architecture","core-local-context"],"scope":"core","owner":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","members":["_CoreExecutionContexts","_CurrentCoreContextValid","_CoreContextBankValid","_DefaultCoreExecutionContext"],"depends_on":[]} + +// NDF-BEGIN: PTO-ARCH-PE-EXECUTION-CONTEXT-001 +// ndf: kind=contract level=L1 layer=state status=accepted +// Each modeled Core MUST keep independent PE0..PE3 contexts. PE selection +// MUST save/restore private instruction, Block, queue, fault/trap, reservation, +// and Local Tile state; Core selection MUST keep Core-local state distinct. +// PE snapshots MUST NOT restore shared GM, event history, synchronization, or +// Shared Tile state, and MUST NOT rewind peer progress or committed effects. +// NDF-END: PTO-ARCH-PE-EXECUTION-CONTEXT-001 + +// The active globals remain the compatibility working set used by existing +// ASL helpers. Every explicit PE selection first saves that complete PE-local +// set and restores the selected PE's saved set. System GM and event history do +// not appear in this snapshot. +type PEExecutionContext of record { + pc: Word, + bpc: Word, + current_encoded_instruction: bits(64), + bundle_start_encoded_instruction: bits(64), + tiles: array [[PTO_TILE_REGISTER_COUNT]] of TileInfo, + tile_allocation_masks: array [[PTO_TILE_REGISTER_COUNT]] of bits(4), + tile_relative_order: RelativeTileSnapshot, + tile_relative_valid: RelativeTileValiditySnapshot, + tile_feature_map_descriptors: TileFeatureMapDescriptorSnapshot, + thread_ptr: Word, + global_ptr: Word, + core_state: Word, + thread_id: Word, + t_queue: TemporaryQueueSnapshot, + t_queue_valid: TemporaryQueueValiditySnapshot, + u_queue: TemporaryQueueSnapshot, + u_queue_valid: TemporaryQueueValiditySnapshot, + bundle_active: boolean, + bundle_body_active: boolean, + barg: BundleArgumentRegister, + bundle_commit_target_set: boolean, + bundle_condition_set: boolean, + system_block_terminal_pending: boolean, + bundle_sequential_pc: Word, + frame_stack_return_target: Word, + bundle_argument: Word, + bundle_argument_kind: bits(3), + bundle_operation: BundleOperationDescriptor, + bundle_dimensions: BundleDimensionSnapshot, + bundle_dimension_present: BundleDimensionPresenceSnapshot, + bundle_scalar_bindings: BundleScalarBindingSnapshot, + bundle_tile_bindings: BundleTileBindingSnapshot, + bundle_shared_bindings: BundleSharedBindingSnapshot, + bundle_range_group: BundleRangeGroupState, + bundle_zero_participation_seen: boolean, + bundle_control_attributes: BundleControlAttributes, + bundle_data_attributes: BundleDataAttributes, + bundle_data_attributes_present: boolean, + bundle_execution_mask: BundleExecutionMaskBinding, + bundle_hint: BundleHintAttributes, + bundle_fixed_point_attributes: BundleFixedPointAttributes, + memory_copy_template: MemoryCopyTemplateState, + frame_template: FrameTemplateState, + bundle_execution_domain_token: integer, + frame_depth: integer {0..PTO_MODEL_MEMORY_EVENTS}, + last_frame_begin: Reg5Selector, + last_frame_end: Reg5Selector, + last_frame_size: Word, + last_queue_left: Word, + last_queue_right: Word, + last_queue_flags: bits(4), + last_memory_command_address: Word, + last_memory_command_size: Word, + last_cross_block_acr: bits(10), + last_cross_block_id: bits(7), + last_bundle_hint_payload: Word, + return_address: Word, + commit_argument: Word, + predicates: PredicateSnapshot, + last_fault: FaultCode, + fault_address: Word, + reservation_valid: boolean, + reservation_address: Word, + reservation_size: integer {1,2,4,8}, + last_fence_predecessor: bits(4), + last_fence_successor: bits(4), + memory_replay_state: MemoryReplayState, + extended_system_registers: array [[65536]] of Word, + acr_trap_asynchronous: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_argument_valid: array [[PTO_ACR_COUNT]] of boolean, + acr_trap_cause: array [[PTO_ACR_COUNT]] of bits(24), + acr_trap_number: array [[PTO_ACR_COUNT]] of TrapNumber, + acr_trap_argument0: array [[PTO_ACR_COUNT]] of Word, + trap_contexts: array [[PTO_ACR_COUNT]] of TrapContext, + current_acr: AccessControlRing, + memory_origin: MemoryEventOrigin, + program_order: integer, + scalar_execution_blocked: boolean +}; + +type CoreExecutionContext of record { + system_registers: BaseSystemRegisterState, + shared_tiles: SharedTileSnapshot, + local_generations: LocalGenerationSnapshot, + shared_generations: SharedGenerationSnapshot, + tile_data_layout_capabilities: bits(32), + data_cache_epoch: integer, + instruction_cache_epoch: integer, + bundle_cache_epoch: integer, + tlb_epoch: integer, + last_maintenance_operation: MaintenanceOperation, + last_maintenance_operand: Word, + bundle_hint_epoch: integer, + architecture_request_epoch: integer, + last_control_request: ExecutionControlRequest, + control_request_operand: Word +}; + +type CoreExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of CoreExecutionContext; +type PEExecutionContextBank of array [[PTO_MODEL_CORE_INSTANCES]] + of array [[PTO_MODEL_MEMORY_AGENTS]] of PEExecutionContext; +type PEContextValidityBank of array [[PTO_MODEL_CORE_INSTANCES]] + of bits(PTO_MODEL_MEMORY_AGENTS); + +var _PEExecutionContexts : PEExecutionContextBank; +var _CoreExecutionContexts : CoreExecutionContextBank; +var _PEContextBankValid : PEContextValidityBank; +var _CoreContextBankValid : bits(PTO_MODEL_CORE_INSTANCES); +var _CurrentPEContextValid : boolean; +var _CurrentCoreContextValid : boolean; +var _DefaultPEExecutionContext : PEExecutionContext; +var _DefaultCoreExecutionContext : CoreExecutionContext; + +func SaveSelectedPEExecutionContext() +begin + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + _PEExecutionContexts[[core]][[pe]] = PEExecutionContext { + pc = _PC, + bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, + t_queue_valid = _TQueueValid, + u_queue = _UQueue, + u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, + barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, + fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _PEContextBankValid[[core]][pe] = '1'; + _CurrentPEContextValid = TRUE; +end; + +func LoadPEExecutionContext(context: PEExecutionContext) +begin + _PC = context.pc; + _BPC = context.bpc; + _CurrentEncodedInstruction = context.current_encoded_instruction; + _BundleStartEncodedInstruction = + context.bundle_start_encoded_instruction; + _Tiles = context.tiles; + _TileAllocationMasks = context.tile_allocation_masks; + _TileRelativeOrder = context.tile_relative_order; + _TileRelativeValid = context.tile_relative_valid; + _TileFeatureMapDescriptors = context.tile_feature_map_descriptors; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _TQueue = context.t_queue; + _TQueueValid = context.t_queue_valid; + _UQueue = context.u_queue; + _UQueueValid = context.u_queue_valid; + _BundleActive = context.bundle_active; + _BundleBodyActive = context.bundle_body_active; + _BARG = context.barg; + _BundleCommitTargetSet = context.bundle_commit_target_set; + _BundleConditionSet = context.bundle_condition_set; + _SystemBlockTerminalPending = context.system_block_terminal_pending; + _BundleSequentialPC = context.bundle_sequential_pc; + _FrameStackReturnTarget = context.frame_stack_return_target; + _BundleArgument = context.bundle_argument; + _BundleArgumentKind = context.bundle_argument_kind; + _BundleOperation = context.bundle_operation; + _BundleDimensions = context.bundle_dimensions; + _BundleDimensionPresent = context.bundle_dimension_present; + _BundleScalarBindings = context.bundle_scalar_bindings; + _BundleTileBindings = context.bundle_tile_bindings; + _BundleSharedBindings = context.bundle_shared_bindings; + _BundleRangeGroup = context.bundle_range_group; + _BundleZeroParticipationSeen = context.bundle_zero_participation_seen; + _BundleControlAttributes = context.bundle_control_attributes; + _BundleDataAttributes = context.bundle_data_attributes; + _BundleDataAttributesPresent = context.bundle_data_attributes_present; + _BundleExecutionMask = context.bundle_execution_mask; + _BundleHint = context.bundle_hint; + _BundleFixedPointAttributes = context.bundle_fixed_point_attributes; + _MemoryCopyTemplate = context.memory_copy_template; + _FrameTemplate = context.frame_template; + _BundleExecutionDomainToken = context.bundle_execution_domain_token; + _FrameDepth = context.frame_depth; + _LastFrameBegin = context.last_frame_begin; + _LastFrameEnd = context.last_frame_end; + _LastFrameSize = context.last_frame_size; + _LastQueueLeft = context.last_queue_left; + _LastQueueRight = context.last_queue_right; + _LastQueueFlags = context.last_queue_flags; + _LastMemoryCommandAddress = context.last_memory_command_address; + _LastMemoryCommandSize = context.last_memory_command_size; + _LastCrossBlockACR = context.last_cross_block_acr; + _LastCrossBlockID = context.last_cross_block_id; + _LastBundleHintPayload = context.last_bundle_hint_payload; + _ReturnAddress = context.return_address; + _CommitArgument = context.commit_argument; + _PredicateRegisters = context.predicates; + _LastFault = context.last_fault; + _FaultAddress = context.fault_address; + _ReservationValid = context.reservation_valid; + _ReservationAddress = context.reservation_address; + _ReservationSize = context.reservation_size; + _LastFencePredecessor = context.last_fence_predecessor; + _LastFenceSuccessor = context.last_fence_successor; + _MemoryReplayState = context.memory_replay_state; + _SystemRegisters.thread_ptr = context.thread_ptr; + _SystemRegisters.global_ptr = context.global_ptr; + _SystemRegisters.core_state = context.core_state; + _SystemRegisters.thread_id = context.thread_id; + _ExtendedSystemRegisters = context.extended_system_registers; + _ACRTrapAsynchronous = context.acr_trap_asynchronous; + _ACRTrapArgumentValid = context.acr_trap_argument_valid; + _ACRTrapCause = context.acr_trap_cause; + _ACRTrapNumber = context.acr_trap_number; + _ACRTrapArgument0 = context.acr_trap_argument0; + _TrapContexts = context.trap_contexts; + _CurrentACR = context.current_acr; + _CurrentMemoryOrigin = context.memory_origin; + _CurrentProgramOrder = context.program_order; + _ScalarExecutionBlocked = context.scalar_execution_blocked; +end; + +func SaveSelectedCoreExecutionContext() +begin + let core = _CurrentModelCore; + _CoreExecutionContexts[[core]] = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CoreContextBankValid[core] = '1'; + _CurrentCoreContextValid = TRUE; +end; + +func LoadCoreExecutionContext(context: CoreExecutionContext) +begin + _SystemRegisters = context.system_registers; + _SharedTiles = context.shared_tiles; + _LocalGenerations = context.local_generations; + _SharedGenerations = context.shared_generations; + _TileDataLayoutCapabilities = context.tile_data_layout_capabilities; + _DataCacheEpoch = context.data_cache_epoch; + _InstructionCacheEpoch = context.instruction_cache_epoch; + _BundleCacheEpoch = context.bundle_cache_epoch; + _TLBEpoch = context.tlb_epoch; + _LastMaintenanceOperation = context.last_maintenance_operation; + _LastMaintenanceOperand = context.last_maintenance_operand; + _BundleHintEpoch = context.bundle_hint_epoch; + _ArchitectureRequestEpoch = context.architecture_request_epoch; + _LastControlRequest = context.last_control_request; + _ControlRequestOperand = context.control_request_operand; +end; + +func SelectExecutionContext(core: PTOModelCoreIdentity, pe: MemoryAgentId) +begin + if !_CurrentCoreContextValid then + _DefaultCoreExecutionContext = CoreExecutionContext { + system_registers = _SystemRegisters, + shared_tiles = _SharedTiles, + local_generations = _LocalGenerations, + shared_generations = _SharedGenerations, + tile_data_layout_capabilities = _TileDataLayoutCapabilities, + data_cache_epoch = _DataCacheEpoch, + instruction_cache_epoch = _InstructionCacheEpoch, + bundle_cache_epoch = _BundleCacheEpoch, + tlb_epoch = _TLBEpoch, + last_maintenance_operation = _LastMaintenanceOperation, + last_maintenance_operand = _LastMaintenanceOperand, + bundle_hint_epoch = _BundleHintEpoch, + architecture_request_epoch = _ArchitectureRequestEpoch, + last_control_request = _LastControlRequest, + control_request_operand = _ControlRequestOperand + }; + _CurrentCoreContextValid = TRUE; + end; + if !_CurrentPEContextValid then + _DefaultPEExecutionContext = PEExecutionContext { + pc = _PC, bpc = _BPC, + current_encoded_instruction = _CurrentEncodedInstruction, + bundle_start_encoded_instruction = + _BundleStartEncodedInstruction, + tiles = _Tiles, + tile_allocation_masks = _TileAllocationMasks, + tile_relative_order = _TileRelativeOrder, + tile_relative_valid = _TileRelativeValid, + tile_feature_map_descriptors = _TileFeatureMapDescriptors, + thread_ptr = _SystemRegisters.thread_ptr, + global_ptr = _SystemRegisters.global_ptr, + core_state = _SystemRegisters.core_state, + thread_id = _SystemRegisters.thread_id, + t_queue = _TQueue, t_queue_valid = _TQueueValid, + u_queue = _UQueue, u_queue_valid = _UQueueValid, + bundle_active = _BundleActive, + bundle_body_active = _BundleBodyActive, barg = _BARG, + bundle_commit_target_set = _BundleCommitTargetSet, + bundle_condition_set = _BundleConditionSet, + system_block_terminal_pending = _SystemBlockTerminalPending, + bundle_sequential_pc = _BundleSequentialPC, + frame_stack_return_target = _FrameStackReturnTarget, + bundle_argument = _BundleArgument, + bundle_argument_kind = _BundleArgumentKind, + bundle_operation = _BundleOperation, + bundle_dimensions = _BundleDimensions, + bundle_dimension_present = _BundleDimensionPresent, + bundle_scalar_bindings = _BundleScalarBindings, + bundle_tile_bindings = _BundleTileBindings, + bundle_shared_bindings = _BundleSharedBindings, + bundle_range_group = _BundleRangeGroup, + bundle_zero_participation_seen = _BundleZeroParticipationSeen, + bundle_control_attributes = _BundleControlAttributes, + bundle_data_attributes = _BundleDataAttributes, + bundle_data_attributes_present = _BundleDataAttributesPresent, + bundle_execution_mask = _BundleExecutionMask, + bundle_hint = _BundleHint, + bundle_fixed_point_attributes = _BundleFixedPointAttributes, + memory_copy_template = _MemoryCopyTemplate, + frame_template = _FrameTemplate, + bundle_execution_domain_token = _BundleExecutionDomainToken, + frame_depth = _FrameDepth, + last_frame_begin = _LastFrameBegin, + last_frame_end = _LastFrameEnd, + last_frame_size = _LastFrameSize, + last_queue_left = _LastQueueLeft, + last_queue_right = _LastQueueRight, + last_queue_flags = _LastQueueFlags, + last_memory_command_address = _LastMemoryCommandAddress, + last_memory_command_size = _LastMemoryCommandSize, + last_cross_block_acr = _LastCrossBlockACR, + last_cross_block_id = _LastCrossBlockID, + last_bundle_hint_payload = _LastBundleHintPayload, + return_address = _ReturnAddress, + commit_argument = _CommitArgument, + predicates = _PredicateRegisters, + last_fault = _LastFault, fault_address = _FaultAddress, + reservation_valid = _ReservationValid, + reservation_address = _ReservationAddress, + reservation_size = _ReservationSize, + last_fence_predecessor = _LastFencePredecessor, + last_fence_successor = _LastFenceSuccessor, + memory_replay_state = _MemoryReplayState, + extended_system_registers = _ExtendedSystemRegisters, + acr_trap_asynchronous = _ACRTrapAsynchronous, + acr_trap_argument_valid = _ACRTrapArgumentValid, + acr_trap_cause = _ACRTrapCause, + acr_trap_number = _ACRTrapNumber, + acr_trap_argument0 = _ACRTrapArgument0, + trap_contexts = _TrapContexts, + current_acr = _CurrentACR, + memory_origin = _CurrentMemoryOrigin, + program_order = _CurrentProgramOrder, + scalar_execution_blocked = _ScalarExecutionBlocked + }; + _CurrentPEContextValid = TRUE; + end; + + if core == _CurrentModelCore && pe == _CurrentMemoryAgent && + _CurrentPEContextValid then + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + return; + end; + + if core != _CurrentModelCore then + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + _CurrentModelCore = core; + if _CoreContextBankValid[core] == '1' then + LoadCoreExecutionContext(_CoreExecutionContexts[[core]]); + else + LoadCoreExecutionContext(_DefaultCoreExecutionContext); + end; + _CurrentCoreContextValid = TRUE; + _CurrentPEContextValid = FALSE; + elsif pe != _CurrentMemoryAgent then + SaveSelectedPEExecutionContext(); + end; + + _CurrentMemoryAgent = pe; + _CurrentKernelInvocation = _KernelInvocationByCore[[core]]; + if _PEContextBankValid[[core]][pe] == '1' then + LoadPEExecutionContext(_PEExecutionContexts[[core]][[pe]]); + else + LoadPEExecutionContext(_DefaultPEExecutionContext); + end; + _CurrentProgramOrder = _PEProgramOrder[[core]][[pe]]; + _CurrentCollectiveEpoch = _PECollectiveEpoch[[core]][[pe]]; + _CurrentPEContextValid = TRUE; +end; + +func ResetPEExecutionContextBank() +begin + _CurrentModelCore = 0; + _CurrentMemoryAgent = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _CurrentPEContextValid = FALSE; + _CurrentCoreContextValid = FALSE; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _PEContextBankValid[[core]] = Zeros{PTO_MODEL_MEMORY_AGENTS}; + end; + _CoreContextBankValid = Zeros{PTO_MODEL_CORE_INSTANCES}; +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/trap-context.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/trap-context.md index 85f27bd46..3f50ee5d4 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/trap-context.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/state/trap-context.md @@ -71,7 +71,7 @@ Design point:一次成功的恢复会消耗该槽位:`RecoverTrapContext` ```asl -// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-MEMORY-MODEL-ORDERING"]} +// PTO-UNIT: {"id":"PTO-ARCH-STATE-TRAP-CONTEXT","surface":"arch","classification":["state","trap-context"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT","PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING"]} func SavePortableTrapContext(target: AccessControlRing, source: AccessControlRing) begin @@ -79,6 +79,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -114,13 +116,12 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; _TrapContexts[[target]].memory_replay_state = _MemoryReplayState; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -135,6 +136,8 @@ begin _TrapContexts[[target]].source_acr = source; _TrapContexts[[target]].tpc = ReadTPC(); _TrapContexts[[target]].bpc = ReadBPC(); + _TrapContexts[[target]].bundle_start_encoded_instruction = + _BundleStartEncodedInstruction; _TrapContexts[[target]].core_state = _SystemRegisters.core_state; _TrapContexts[[target]].bundle_argument = _BundleArgument; _TrapContexts[[target]].commit_argument = _CommitArgument; @@ -168,12 +171,11 @@ begin _TrapContexts[[target]].bundle_hint = _BundleHint; _TrapContexts[[target]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[target]].local_generations = _LocalGenerations; - _TrapContexts[[target]].shared_generations = _SharedGenerations; _TrapContexts[[target]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[target]].memory_copy_template = _MemoryCopyTemplate; _TrapContexts[[target]].frame_template = _FrameTemplate; + _TrapContexts[[target]].memory_origin = _CurrentMemoryOrigin; _TrapContexts[[target]].t_queue = _TQueue; _TrapContexts[[target]].t_queue_valid = _TQueueValid; _TrapContexts[[target]].u_queue = _UQueue; @@ -208,6 +210,21 @@ begin WriteContextRegister(target, 0x0f4e, Zeros{PTO_XLEN}); end; +// A fresh kernel launch retires every recovery image owned by the previous +// contents of this PE. Keep the model validity bit and the architectural +// EBARG valid bit in step so neither recovery path can restore an old Block +// into a later invocation. +func InvalidatePETrapRecoveryFramesForFreshKernelEntry() +begin + for ring_number = 0 to PTO_ACR_COUNT - 1 do + let ring = ring_number as AccessControlRing; + _TrapContexts[[ring]].valid = FALSE; + var control = ReadContextRegister(ring, 0x0f40); + control[4] = '0'; + WriteContextRegister(ring, 0x0f40, control); + end; +end; + readonly func PortableTrapContextRecoverable(target: AccessControlRing) => boolean begin @@ -242,6 +259,8 @@ begin end; WriteTPC(_TrapContexts[[target]].tpc); WriteBPC(_TrapContexts[[target]].bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = _TrapContexts[[target]].core_state; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -277,8 +296,6 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; @@ -289,6 +306,7 @@ begin _UQueueValid = _TrapContexts[[target]].u_queue_valid; _PredicateRegisters = _TrapContexts[[target]].predicates; _CurrentACR = _TrapContexts[[target]].source_acr; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; _TrapContexts[[target]].valid = FALSE; return TRUE; end; @@ -304,6 +322,8 @@ begin let recovered_tpc = ReadContextRegister(target, 0x0f43); WriteTPC(recovered_tpc); WriteBPC(recovered_bpc); + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _SystemRegisters.core_state = ecstate; _BundleArgument = _TrapContexts[[target]].bundle_argument; _CommitArgument = _TrapContexts[[target]].commit_argument; @@ -324,6 +344,8 @@ begin _ReturnAddress = ReadContextRegister(target, 0x0f44); _BundleArgumentKind = _TrapContexts[[target]].bundle_argument_kind; _BundleSequentialPC = _TrapContexts[[target]].bundle_sequential_pc; + _BundleStartEncodedInstruction = + _TrapContexts[[target]].bundle_start_encoded_instruction; _BundleOperation = _TrapContexts[[target]].bundle_operation; _BundleDimensions = _TrapContexts[[target]].bundle_dimensions; _BundleDimensionPresent = @@ -342,13 +364,12 @@ begin _BundleHint = _TrapContexts[[target]].bundle_hint; _BundleFixedPointAttributes = _TrapContexts[[target]].bundle_fixed_point_attributes; - _LocalGenerations = _TrapContexts[[target]].local_generations; - _SharedGenerations = _TrapContexts[[target]].shared_generations; _BundleExecutionDomainToken = _TrapContexts[[target]].bundle_execution_domain_token; _MemoryCopyTemplate = _TrapContexts[[target]].memory_copy_template; _FrameTemplate = _TrapContexts[[target]].frame_template; _MemoryReplayState = _TrapContexts[[target]].memory_replay_state; + _CurrentMemoryOrigin = _TrapContexts[[target]].memory_origin; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = ReadContextRegister(target, 0x0f45 + index); _UQueue[[index]] = ReadContextRegister(target, 0x0f49 + index); diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/system-registers/addressing.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/system-registers/addressing.md index 930d1e4c2..f9dad9380 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/system-registers/addressing.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/arch/system-registers/addressing.md @@ -103,10 +103,12 @@ func ResetProfileState() begin let zero_tile_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; let zero_packed_tile_elements = ZeroPackedTileDefinedElements(); - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do for index = 0 to PTO_ABSOLUTE_GPR_COUNT - 1 do - _PEGPRs[[pe]][[index]] = Zeros{PTO_XLEN}; + _PEGPRs[[core]][[pe]][[index]] = Zeros{PTO_XLEN}; end; + end; end; for index = 0 to PTO_TEMPORARY_QUEUE_DEPTH - 1 do _TQueue[[index]] = Zeros{PTO_XLEN}; @@ -267,7 +269,30 @@ begin _SystemRegisters.blockid = Zeros{PTO_XLEN}; _SystemRegisters.cycle = Zeros{PTO_XLEN}; _CurrentACR = 0; + _CurrentModelCore = 0; + _CurrentMemoryOrigin = MemoryEventOrigin_NonKernel; + _CurrentKernelInvocation = 0; + _CurrentProgramOrder = 0; + _CurrentCollectiveEpoch = 0; + _MemoryEventCollectiveHistoryOverrideValid = FALSE; + _MemoryEventCollectiveHistoryOverride = 0; + _ScalarExecutionBlocked = FALSE; + _MemoryReplayState.active = FALSE; + _MemoryReplayState.request = Zeros{PTO_XLEN}; + _MemoryReplayState.committed_event_count = 0; + _MemoryReplayState.epoch = 0; + _CurrentEncodedInstruction = Zeros{64}; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + _KernelInvocationByCore[[core]] = 0; + _NextKernelInvocationIdByCore[[core]] = 1; + _RetiredKernelInvocationByCore[[core]] = 0; + _KernelInvocationActiveByCore[[core]] = FALSE; + end; ClearFault(); + ResetPEExecutionContextBank(); + ResetKernelGMObligations(); + ResetCoreSynchronizationState(); + ResetKernelLifecycleState(); end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/commit/validation.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/commit/validation.md index fc20329ba..9df4343b3 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/commit/validation.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/commit/validation.md @@ -72,7 +72,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-COMMIT-VALIDATION","surface":"block","classification":["model","commit","validation"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DECODE","PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE"]} func CompleteBundleAtWithAcceptedApplicabilityRules( rules: NumericApplicabilityRuleSet, continuation: Word) => boolean begin diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/gm-obligation-dispatch.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/gm-obligation-dispatch.md new file mode 100644 index 000000000..4429a4a08 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/gm-obligation-dispatch.md @@ -0,0 +1,312 @@ + +# Gm Obligation Dispatch + +**Normative ASL source:** `asl/block/model/dispatch/gm-obligation-dispatch.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION","surface":"block","classification":["model","dispatch","gm-obligation-dispatch"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-ARCH-STATE-PROGRAM-COUNTER","PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS"]} +func BundleTileOperationHasGMEffect() => boolean +begin + if !_BundleOperation.valid || + _BundleOperation.operation_class != BundleOperation_TileMemory || + SelectedBundleTileMaskIsZero() then return FALSE; end; + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then return FALSE; end; + case TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) of + when TileOperation_TLOAD, TileOperation_TSTORE, + TileOperation_TPREFETCH, + TileOperation_MGATHER, TileOperation_MSCATTER, + TileOperation_MGATHER_MASK, TileOperation_MSCATTER_MASK, + TileOperation_MGATHER_CAS, TileOperation_MGATHER_EXCH, + TileOperation_MGATHER_MAX, TileOperation_MGATHER_MIN, + TileOperation_MGATHER_ADD, TileOperation_MGATHER_INC, + TileOperation_MGATHER_DEC, TileOperation_MGATHER_AND, + TileOperation_MGATHER_OR, TileOperation_MGATHER_XOR, + TileOperation_MSCATTER_MAX, TileOperation_MSCATTER_MIN, + TileOperation_MSCATTER_ADD, TileOperation_MSCATTER_INC, + TileOperation_MSCATTER_DEC, TileOperation_MSCATTER_AND, + TileOperation_MSCATTER_OR, TileOperation_MSCATTER_XOR, + TileOperation_MSCATTER_POPC => return TRUE; + otherwise => return FALSE; + end; +end; + +func BundleTileGMRequestClass() => GMRequestClass +begin + let decoded = DecodeTileOperation( + BundleTileDecodeFamily(_BundleOperation.operation_class), + BundleOperationDecodeCode(_BundleOperation)); + if decoded != PTO_TILE_OPERATION_COUNT && + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_TPREFETCH then return GMRequest_Prefetch; end; + if decoded != PTO_TILE_OPERATION_COUNT && + (TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_CAS || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_EXCH || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MAX || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_MIN || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_ADD || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_INC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_DEC || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_AND || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_OR || + TileOperationOfIndex(decoded as + integer {0..PTO_TILE_OPERATION_COUNT-1}) == + TileOperation_MGATHER_XOR) then return GMRequest_Atomic; end; + return GMRequest_Tile; +end; + +func BundleFirstGMSourceTile() => TileIndex +begin + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].source0_valid then + return _BundleTileBindings[[binding]].source0; + end; + end; + for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do + if _BundleTileBindings[[binding]].valid && + _BundleTileBindings[[binding]].destination_valid then + return _BundleTileBindings[[binding]].destination; + end; + end; + return 0 as TileIndex; +end; + +func ValidateSharedGenerationEarlyRetirementStructure() => boolean +begin + if !BundleAssembleOutputStructureLegal() then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedDestinationAssemblyPolicyLegal() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let family = BundleTileDecodeFamily(_BundleOperation.operation_class); + let decoded = DecodeTileOperation(family, + BundleOperationDecodeCode(_BundleOperation)); + if decoded == PTO_TILE_OPERATION_COUNT then + SetFault(Fault_IllegalInstruction, ReadTPC()); + return FALSE; + end; + let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if !BundleProducerEffectEligible(operation) then return FALSE; end; + if !BundleOperationScalarBindingSchemaLegal(operation) then + SetFault(Fault_BundleControl, ReadTPC()); + return FALSE; + end; + if !BundleSharedTLSUSelected() || + BundleSharedBindingPhysicalCount() != 1 || + !_BundleSharedBindings[[0]].destination_assemble.valid || + !_BundleSharedBindings[[0]].destination_assemble.init then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let function = UInt(_BundleOperation.selector[4:0]); + if function == 2 then + // Retain TLSU operand-role and source descriptor legality, but do not + // require payload definedness or inspect its elements for a PE that + // is not a participant. + if TileOperationOfIndex(operation) != TileOperation_TMOV || + BundleTileBindingCount() != 1 || + !_BundleTileBindings[[0]].valid || + !_BundleTileBindings[[0]].source0_valid || + _BundleTileBindings[[0]].source1_valid || + _BundleTileBindings[[0]].destination_valid || + _BundleTileBindings[[0]].destination_size != 0 || + _BundleTileBindings[[0]].pe_mask != + _BundleSharedBindings[[0]].pe_mask then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + elsif function == 0 then + if TileOperationOfIndex(operation) != TileOperation_TLOAD || + BundleTileBindingCount() != 0 || + !BundleSharedBindingIsDestination(0) then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let valid_columns = UInt(_BundleDimensions[[0]]); + let valid_rows = UInt(_BundleDimensions[[1]]); + let columns = UInt(_BundleDimensions[[2]]); + if valid_columns < 1 || valid_columns > 65535 || + valid_rows < 1 || valid_rows > 65535 || + columns < 1 || columns > 65535 || valid_columns > columns then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + else + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + if !BundleCurrentPEIsNonparticipantSharedAssembly() then + // A completed participant request is checked separately; this + // structural preflight never blesses an unrelated active request. + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + end; + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; +end; + +func RetireFailedEarlySharedGenerationRequest() +begin + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; +end; + +func FinalizeSharedGenerationEarlyRetirement() +begin + CommitBundleLocalGeneration(); + RetireBundleConsumerDependencies(); + DiscardBundleSubviewMaterializations(); + FinalizeBundleTileAttempt(TileExecution_Executed); +end; + +func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + rules: NumericApplicabilityRuleSet) => boolean +begin + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + ConsumeBundleSharedBindings(1); + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + if !ValidateSharedGenerationEarlyRetirementStructure() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + if !ConsumeBundleSharedGenerationCompletionForCurrentPE() then + RetireFailedEarlySharedGenerationRequest(); + return FALSE; + end; + FinalizeSharedGenerationEarlyRetirement(); + return TRUE; + end; + let tracks_gm = BundleTileOperationHasGMEffect() && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_gm then + let source = BundleFirstGMSourceTile(); + let generation_slot = BundleLocalGenerationSlotForSource(source); + let source_generation = if generation_slot < 64 && + _LocalGenerations[[generation_slot]].generation_identity_valid + then _LocalGenerations[[generation_slot]].generation_instance + else Zeros{PTO_XLEN}; + let base_address = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 0 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + let row_stride = if _BundleScalarBindings[[0]].valid && + _BundleScalarBindings[[0]].source_count > 1 then + ReadScalarRegisterOperand( + _BundleScalarBindings[[0]].source1) + else Zeros{PTO_XLEN}; + obligation_slot = RegisterKernelGMObligation( + BundleTileGMRequestClass(), _BundleStartEncodedInstruction, + ReadBPC(), _BundleOperation, _BundleArgument, + _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + source_generation, _Tiles[[source]], _BundleExecutionMask, + base_address, row_stride, CurrentBundleMemoryOrder(), + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; + var completed = FALSE; + if _BundleControlAttributes.far then + completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( + rules); + else + completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( + rules); + end; + if tracks_gm then + if _LastFault != Fault_None then + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + elsif completed && + !_GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].captured_tstore_progress then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + end; + end; + if !completed then + AbortBundleLocalGenerationsForBundle(); + if _LastFault != Fault_None || + !BundleSharedGenerationRequestWaiting(0) then + AbortBundleSharedGenerationsForBundle(); + end; + end; + return completed; +end; + +func ExecuteBundleTileOperation() => boolean +begin + return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( + NumericApplicabilityRules_None); +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/shared-tlsu.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/shared-tlsu.md index 4fee31aa0..1326a511c 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/shared-tlsu.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/shared-tlsu.md @@ -130,6 +130,15 @@ begin return FALSE; end; var candidate = _Tiles[[binding.source0]]; + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid then + // B.ASSEMBLE replaces a complete Shared parent only after matching + // per-PE fragments have formed its candidate. The old published + // descriptor describes that parent, not an individual writer's + // private fragment, so candidate compatibility is checked against + // the open Core-owned generation by its submission owner. + return TRUE; + end; return SharedTileUpdateCompatible( BundleSharedBindingId(0), candidate, shared_mask); end; @@ -188,6 +197,14 @@ begin BundleSharedGenerationCapacity(0) else BundleSharedBindingSize(0); let shared_mask = BundleSharedBindingMask(0); + if _CurrentPEContextValid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed then + _BundleSharedBindings[[0]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; if shared_mask == Zeros{4} then return TRUE; end; let decoded = DecodeTileOperation(TileDecode_TLSU, BundleOperationDecodeCode(_BundleOperation)); @@ -210,6 +227,13 @@ begin if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; + if _CurrentPEContextValid && + shared_mask[PTOPEMaskBitOfPEIdentity( + _CurrentMemoryAgent as integer {0..3})] != '1' then + ConsumeBundleSharedBindings(1); + FinalizeBundleTileAttempt(TileExecution_Executed); + return TRUE; + end; if function == 0 then if (!BundleSharedBindingIsDestination(0) && !BundleSharedBindingIsReusedDestination(0)) || @@ -231,13 +255,15 @@ begin var load_row_stride_bytes: CorePEWords; for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do let agent = pe as MemoryAgentId; + let actual_source = !_CurrentPEContextValid || + agent == _CurrentMemoryAgent; load_base_addresses[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source0) else Zeros{PTO_XLEN}; load_row_stride_bytes[[agent]] = - if _BundleScalarBindings[[0]].valid then + if actual_source && _BundleScalarBindings[[0]].valid then ReadPEAbsoluteGPROperand(agent, _BundleScalarBindings[[0]].source1) else TileDenseRowStrideBytes( @@ -263,7 +289,14 @@ begin // or published. Successful candidates still commit atomically. if _LastFault == Fault_None then RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if !CommitBundleSharedGenerationCandidate(0, candidate) then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; SetFault(Fault_TileLegality, ReadTPC()); end; end; @@ -347,16 +380,26 @@ begin var prior_shared = SharedTileRecord(shared_tile_id); if assembling then prior_shared = BeginBundleSharedGenerationProbe(shared_tile_id); - end; - TMOVLocalToShared(shared_tile_id, binding.source0, - shared_size as integer {1..12}, shared_mask, !assembling); - if assembling then + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, FALSE); let candidate = SharedTileRecord(shared_tile_id); RestoreBundleSharedGenerationProbe(shared_tile_id, prior_shared); - if _LastFault == Fault_None && - !CommitBundleSharedGenerationCandidate(0, candidate) then - SetFault(Fault_TileLegality, ReadTPC()); + if _LastFault == Fault_None then + let committed = if _CurrentPEContextValid then + CommitBundleSharedGenerationCandidateForCurrentPE( + 0, candidate) + else CommitBundleSharedGenerationCandidate(0, + candidate); + if !committed then + if BundleSharedGenerationRequestWaiting(0) then + return FALSE; + end; + SetFault(Fault_TileLegality, ReadTPC()); + end; end; + else + TMOVLocalToShared(shared_tile_id, binding.source0, + shared_size as integer {1..12}, shared_mask, TRUE); end; else // The same parent-level readiness gate applies before any Local diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/start.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/start.md index 47769e39f..fd4d8ca9f 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/start.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/start.md @@ -164,6 +164,7 @@ begin return_target, taken); if _LastFault == Fault_None then InstallBundleOperationDescriptor(descriptor); + _BundleStartEncodedInstruction = instruction; end; end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tile-execution.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tile-execution.md index 48fba3231..372cd2ae1 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tile-execution.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tile-execution.md @@ -88,7 +88,7 @@ This page is a generated reference view of the normative ASL unit. // numeric padding checks belong to the TGPR2T complete schema before handler // execution and atomic result publication. // NDF-END: PTO-BLOCK-MODEL-DISPATCH-TGPR2T-BOUNDARY-001 -// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} +// PTO-UNIT: {"classification":["model","dispatch","tile-execution"],"depends_on":["PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-BLOCK-MODEL-DISPATCH-CELL-REARRANGEMENT-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-COMPARISON-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-CUBE-TMATMUL","PTO-BLOCK-MODEL-DISPATCH-DESTINATION-OPERATION","PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-EXPANSION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-GENERATION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-REDUCTION-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU","PTO-BLOCK-MODEL-DISPATCH-TGPR2T-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS","PTO-BLOCK-MODEL-DISPATCH-TILE-SCALAR-SCHEMA","PTO-BLOCK-MODEL-DISPATCH-TLSU-GM-ATOM-RED","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-WEIGHT-SHARED-EXEC","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON"],"id":"PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION","surface":"block"} readonly func BundleTileTypesMatch( operation: integer {0..PTO_TILE_OPERATION_COUNT-1}, operands: TileInstructionOperands, @@ -503,29 +503,5 @@ begin return ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( rules); end; - -func ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - rules: NumericApplicabilityRuleSet) => boolean -begin - var completed = FALSE; - if _BundleControlAttributes.far then - completed = ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules( - rules); - else - completed = ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules( - rules); - end; - if !completed then - AbortBundleLocalGenerationsForBundle(); - AbortBundleSharedGenerationsForBundle(); - end; - return completed; -end; - -func ExecuteBundleTileOperation() => boolean -begin - return ExecuteBundleTileOperationWithAcceptedApplicabilityRules( - NumericApplicabilityRules_None); -end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/timg2col-execution.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/timg2col-execution.md index 99bd84081..72c30b254 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/timg2col-execution.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/timg2col-execution.md @@ -477,7 +477,9 @@ begin if !coverage_legal then return FALSE; end; _BundleSharedBindings[[0]].destination_assemble.offset = Zeros{PTO_XLEN} + derived_offset; - if !CommitBundleSharedGenerationCandidateRange( + let payload_elements = ((writer_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements( 0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -486,7 +488,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - writer_cells, BundleTIMG2COLPEBit(), TRUE, gm_base, + writer_cells, payload_elements, TRUE, FALSE, + BundleTIMG2COLPEBit(), TRUE, gm_base, param0, param1, param2, generation_metadata) then AbortBundleSharedGeneration( BundleSharedBindingId(0)); diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tlsu-gmov.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tlsu-gmov.md index dc2b749e4..6c57dc13b 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tlsu-gmov.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/tlsu-gmov.md @@ -84,13 +84,71 @@ begin UInt(_BundleOperation.selector[4:0]) == 13; end; +readonly func BundleGMOVPESourceTile(source: TileIndex, + pe: MemoryAgentId) => TileInfo +begin + if _CurrentPEContextValid && pe == _CurrentMemoryAgent then + return _Tiles[[source]]; + end; + return _PEExecutionContexts[[_CurrentModelCore]][[pe]].tiles[[source]]; +end; + +readonly func BundleGMOVPESourceTileReady(tile: TileInfo) => boolean +begin + if TileLayoutIsCube(tile.layout) then + return TileCubeDescriptorLegal(tile) && tile.contents_defined; + end; + return TileInfoDescriptorLegal(tile); +end; + +readonly func BundleGMOVSourceDescriptorsMatch(left: TileInfo, + right: TileInfo) => boolean +begin + return left.capacity_bytes == right.capacity_bytes && + left.rows == right.rows && left.columns == right.columns && + left.valid_rows == right.valid_rows && + left.valid_columns == right.valid_columns && + left.data_type == right.data_type && + left.layout == right.layout && + left.storage_kind == right.storage_kind && + left.cube_k_repeat == right.cube_k_repeat && + left.cube_n_repeat == right.cube_n_repeat && + left.cube_cell_count == right.cube_cell_count && + left.cube_storage_bytes == right.cube_storage_bytes; +end; + readonly func BundleGMOVCore4SourceReady(source: TileIndex) => boolean begin - // The one-level PTO model represents the four peer-resolved Local source - // fragments as one Core4 snapshot. Full allocation and complete payload - // definedness are therefore the formal rendezvous/readiness witness. - return TileElementwiseSourceContentsDefined(source) && - _TileAllocationMasks[[source]] == '1111'; + // Standalone aggregate callers retain the established Core4 batch view. + // Encoded PE streams instead resolve each destination's private peer_tid + // against that peer's actual Local bank before any destination effect. + if !_CurrentPEContextValid then + return TileElementwiseSourceContentsDefined(source) && + _TileAllocationMasks[[source]] == '1111'; + end; + if !_BundleScalarBindings[[0]].valid then return FALSE; end; + var reference_valid = FALSE; + var reference: TileInfo; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let destination_pe = pe as MemoryAgentId; + let peer_word = ReadPEAbsoluteGPROperand(destination_pe, + _BundleScalarBindings[[0]].source0); + if UInt(peer_word) >= PTO_MODEL_MEMORY_AGENTS then return FALSE; end; + let source_pe = UInt(peer_word) as MemoryAgentId; + if source_pe != _CurrentMemoryAgent && + _PEContextBankValid[[_CurrentModelCore]][source_pe] != '1' then + return FALSE; + end; + let source_tile = BundleGMOVPESourceTile(source, source_pe); + if !BundleGMOVPESourceTileReady(source_tile) then return FALSE; end; + if !reference_valid then + reference = source_tile; + reference_valid = TRUE; + elsif !BundleGMOVSourceDescriptorsMatch(reference, source_tile) then + return FALSE; + end; + end; + return reference_valid; end; func ExecuteBundleGMOVOperation() => boolean @@ -112,19 +170,32 @@ begin end; if !SelectedBundleTileDataAttributesLegal(operation) then return FALSE; end; let binding = _BundleTileBindings[[0]]; + let current_peer_word = if _CurrentPEContextValid && + _BundleScalarBindings[[0]].valid then + ReadPEAbsoluteGPROperand(_CurrentMemoryAgent, + _BundleScalarBindings[[0]].source0) + else Zeros{PTO_XLEN}; + if UInt(current_peer_word) >= PTO_MODEL_MEMORY_AGENTS then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + let current_source_tile = if _CurrentPEContextValid then + BundleGMOVPESourceTile(binding.source0, + UInt(current_peer_word) as MemoryAgentId) + else _Tiles[[binding.source0]]; if !binding.destination_valid || !binding.source0_valid || binding.source1_valid || !binding.last || !BundleGMOVCore4SourceReady(binding.source0) || BundleTileDestinationSizeBytes(0) != - _Tiles[[binding.source0]].capacity_bytes || + current_source_tile.capacity_bytes || !TileCarrierOrPackedBaselineDataTypeSupported( TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding)) || - _Tiles[[binding.source0]].data_type != TileDataTypeFromEncoding( + current_source_tile.data_type != TileDataTypeFromEncoding( CurrentBundleTileOperationDataTypeCode() as TileDataTypeEncoding) || - _Tiles[[binding.source0]].layout != CurrentBundleTileLayout() then + current_source_tile.layout != CurrentBundleTileLayout() then SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; @@ -152,21 +223,37 @@ begin // carries the resolved peer source shape while B.DATR.Layout selects its // physical representation. if !ResolveBundleTileDestinationsWithShapeAndType( - TRUE, _Tiles[[binding.source0]].valid_rows, - _Tiles[[binding.source0]].valid_columns, - _Tiles[[binding.source0]].columns, TRUE, - _Tiles[[binding.source0]].data_type) then return FALSE; end; + TRUE, current_source_tile.valid_rows, + current_source_tile.valid_columns, + current_source_tile.columns, TRUE, + current_source_tile.data_type) then return FALSE; end; if !ValidateBundleLocalGenerationWriters() then RollBackBundleTileDestinations(); return FALSE; end; let destination = _BundleTileBindings[[0]].destination; let source = binding.source0; - if !TileOperandsLegal_GMOV(destination, source, Zeros{PTO_XLEN}) then + let selected_source = if _CurrentPEContextValid then + current_source_tile else _Tiles[[source]]; + if !BundleGMOVPESourceTileReady(selected_source) || + !TileElementwiseDescriptorLegal(destination) || + _Tiles[[destination]].rows != selected_source.rows || + _Tiles[[destination]].columns != selected_source.columns || + _Tiles[[destination]].valid_rows != selected_source.valid_rows || + _Tiles[[destination]].valid_columns != selected_source.valid_columns || + _Tiles[[destination]].data_type != selected_source.data_type || + _Tiles[[destination]].layout != selected_source.layout || + !TileElementwiseLayoutSupported(selected_source.layout) || + !TileCarrierOrPackedBaselineDataTypeSupported( + selected_source.data_type) then RollBackBundleTileDestinations(); SetFault(Fault_TileLegality, ReadTPC()); return FALSE; end; - GMOV(destination, source, Zeros{PTO_XLEN}); + if _CurrentPEContextValid then + GMOVFromSourceTile(destination, selected_source); + else + GMOV(destination, source, Zeros{PTO_XLEN}); + end; FinalizeBundleTileAttempt(TileExecution_Executed); return TRUE; end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/weight-to-shared-execution.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/weight-to-shared-execution.md index 60522436b..23ba681f4 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/weight-to-shared-execution.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/dispatch/weight-to-shared-execution.md @@ -359,7 +359,9 @@ begin _BundleDimensions[[0]][15:0], _BundleDimensions[[1]][15:0], _BundleDimensions[[2]][15:0], Zeros{4} + (parent_size_code as integer {1..12})); - if !CommitBundleSharedGenerationCandidateRange(0, + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(data_type)) as integer {0..524288}; + if !CommitBundleSharedGenerationCandidateRangeWithPayloadElements(0, SharedTileInfo { descriptor_valid = TRUE, allocation_mask = mask, @@ -368,7 +370,8 @@ begin published = FALSE, tile = candidate }, derived_offset as integer {0..8192}, coverage_cells, - payload_cells, BundleWeightTLOADPEBit(), TRUE, + payload_cells, payload_elements, TRUE, FALSE, + BundleWeightTLOADPEBit(), TRUE, gm_base, shape_word, start_word, generation_metadata, Zeros{PTO_XLEN}) then AbortBundleSharedGeneration(BundleSharedBindingId(0)); diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/lifecycle/reset.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/lifecycle/reset.md index 0112ae184..9544af201 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/lifecycle/reset.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/lifecycle/reset.md @@ -156,6 +156,11 @@ begin _BundleTileBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleTileBindings[[index]].destination_assemble.init = FALSE; _BundleTileBindings[[index]].destination_assemble.last = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -184,6 +189,11 @@ begin _BundleSharedBindings[[index]].destination_assemble.offset = Zeros{PTO_XLEN}; _BundleSharedBindings[[index]].destination_assemble.init = FALSE; _BundleSharedBindings[[index]].destination_assemble.last = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; @@ -316,8 +326,6 @@ begin _TrapContexts[[ring]].bundle_hint = _BundleHint; _TrapContexts[[ring]].bundle_fixed_point_attributes = _BundleFixedPointAttributes; - _TrapContexts[[ring]].local_generations = _LocalGenerations; - _TrapContexts[[ring]].shared_generations = _SharedGenerations; _TrapContexts[[ring]].bundle_execution_domain_token = _BundleExecutionDomainToken; _TrapContexts[[ring]].memory_copy_template = _MemoryCopyTemplate; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/local-generation-squash.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/local-generation-squash.md new file mode 100644 index 000000000..27e517c35 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/local-generation-squash.md @@ -0,0 +1,123 @@ + +# Local Generation Squash + +**Normative ASL source:** `asl/block/model/operands/local-generation-squash.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + +## Shared 请求交互 + +该架构事件在取消 Local 写者和使用者后,也会把动态请求身份传给 Shared 代次所有者。Shared 所有者应用现有的不完整候选中止规则,并保留任何已发布代次的完成状态。 + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH","surface":"block","classification":["model","operands","local-generation-squash"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES"]} +func SquashBundleExecutionDomain(domain: integer) +begin + for slot = 0 to 63 do + var covered: bits(2048) = Zeros{2048}; + var ready: bits(2048) = Zeros{2048}; + var writers_left: integer {0..16} = 0; + var compacted_writers: LocalGenerationWriterSnapshot = + _LocalGenerations[[slot]].writers; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].identity + .execution_domain_token == domain then + _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; + _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; + end; + end; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid then + compacted_writers[[writers_left]] = + _LocalGenerations[[slot]].writers[[writer]]; + writers_left = (writers_left + 1) as integer {0..16}; + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]] + .cell_count then + let index = _LocalGenerations[[slot]].writers[[writer]] + .offset_cells + cell; + if index < 2048 then + covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + ready[index] = '1'; + end; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].covered_cells = covered; + _LocalGenerations[[slot]].ready_cells = ready; + for writer = writers_left to 15 do + compacted_writers[[writer]].valid = FALSE; + compacted_writers[[writer]].ready = FALSE; + end; + _LocalGenerations[[slot]].writers = compacted_writers; + _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; + for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].consumers[[index]].valid && + _LocalGenerations[[slot]].consumers[[index]] + .execution_domain_token == domain then + _LocalGenerations[[slot]].consumers[[index]].state = + BundleConsumerDependency_Cancelled; + _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; + end; + end; + for pe = 0 to 3 do + var pe_covered = Zeros{2048}; + var pe_ready = Zeros{2048}; + for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 + looplimit 16 do + if _LocalGenerations[[slot]].writers[[writer]].valid && + _LocalGenerations[[slot]].writers[[writer]].pe_mask[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' then + for cell = 0 to 2047 do + if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && + _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then + let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; + pe_covered[index] = '1'; + if _LocalGenerations[[slot]].writers[[writer]].ready then + pe_ready[index] = '1'; + end; + end; + end; + end; + end; + _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; + _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; + end; + if writers_left == 0 && _LocalGenerations[[slot]].open then + AbortBundleLocalGeneration(slot); + end; + end; + SquashPEOwnedSharedGenerationRequest(_CurrentModelCore, + _CurrentKernelInvocation, domain); +end; + +// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 +// Architecture event entry point for an execution-domain squash. The event +// is not instruction-encoded; a control-flow, fault, or interrupt mechanism +// invokes this procedure after the decoded writer path has registered its +// portable identity. +func EnterBundleExecutionDomainSquashEvent(domain: integer) +begin + SquashBundleExecutionDomain(domain); +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/portable-carriers.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/portable-carriers.md index 53d92654d..4cc775a60 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/portable-carriers.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/portable-carriers.md @@ -83,9 +83,13 @@ This page is a generated reference view of the normative ASL unit. // NDF-BEGIN: PTO-B-ASSEMBLE-SPECULATION-001 // ndf: kind=contract level=L1 layer=block status=accepted -// Dynamic writers carry an opaque instruction-instance plus execution-domain -// identity. A squash cancels every unretired contribution in that domain and -// preserves the older committed mapping. +// Dynamic Local writers and actual-PE Shared-generation requests carry an +// instruction-instance plus execution-domain identity. A squash cancels only +// unretired contributions in that domain and preserves older committed Local +// mappings and published Shared parents. For an incomplete actual-PE Shared +// candidate, the matching Core/invocation/request-token contribution and its +// retained live, banked, or trap request copies are invalidated; unrelated +// identities and completed publication/release state remain intact. // NDF-END: PTO-B-ASSEMBLE-SPECULATION-001 // NDF-BEGIN: PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001 @@ -409,92 +413,6 @@ begin return TRUE; end; -func SquashBundleExecutionDomain(domain: integer) -begin - for slot = 0 to 63 do - var covered: bits(2048) = Zeros{2048}; - var ready: bits(2048) = Zeros{2048}; - var writers_left: integer {0..16} = 0; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].identity - .execution_domain_token == domain then - _LocalGenerations[[slot]].writers[[writer]].valid = FALSE; - _LocalGenerations[[slot]].writers[[writer]].ready = FALSE; - end; - end; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid then - writers_left = (writers_left + 1) as integer {0..16}; - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]] - .cell_count then - let index = _LocalGenerations[[slot]].writers[[writer]] - .offset_cells + cell; - if index < 2048 then - covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - ready[index] = '1'; - end; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].covered_cells = covered; - _LocalGenerations[[slot]].ready_cells = ready; - _LocalGenerations[[slot]].writer_count = writers_left as integer {0..16}; - for index = 0 to _LocalGenerations[[slot]].consumer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].consumers[[index]].valid && - _LocalGenerations[[slot]].consumers[[index]] - .execution_domain_token == domain then - _LocalGenerations[[slot]].consumers[[index]].state = - BundleConsumerDependency_Cancelled; - _LocalGenerations[[slot]].consumers[[index]].valid = FALSE; - end; - end; - for pe = 0 to 3 do - var pe_covered = Zeros{2048}; - var pe_ready = Zeros{2048}; - for writer = 0 to _LocalGenerations[[slot]].writer_count - 1 - looplimit 16 do - if _LocalGenerations[[slot]].writers[[writer]].valid && - _LocalGenerations[[slot]].writers[[writer]].pe_mask[ - PTOPEMaskBitOfPEIdentity(pe)] == '1' then - for cell = 0 to 2047 do - if cell < _LocalGenerations[[slot]].writers[[writer]].cell_count && - _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell < 2048 then - let index = _LocalGenerations[[slot]].writers[[writer]].offset_cells + cell; - pe_covered[index] = '1'; - if _LocalGenerations[[slot]].writers[[writer]].ready then - pe_ready[index] = '1'; - end; - end; - end; - end; - end; - _LocalGenerations[[slot]].per_pe_covered_cells[[pe]] = pe_covered; - _LocalGenerations[[slot]].per_pe_ready_cells[[pe]] = pe_ready; - end; - if writers_left == 0 && _LocalGenerations[[slot]].open then - AbortBundleLocalGeneration(slot); - end; - end; -end; - -// PTO-NDF: PTO-B-ASSEMBLE-SPECULATION-001 -// Architecture event entry point for an execution-domain squash. The event -// is not instruction-encoded; a control-flow, fault, or interrupt mechanism -// invokes this procedure after the decoded writer path has registered its -// portable identity. -func EnterBundleExecutionDomainSquashEvent(domain: integer) -begin - SquashBundleExecutionDomain(domain); -end; - func BundleHasAssembleModifier() => boolean begin for binding = 0 to PTO_BUNDLE_TILE_BINDING_COUNT - 1 do diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/range-modifiers.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/range-modifiers.md index 8182c5354..8626dae3b 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/range-modifiers.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/range-modifiers.md @@ -319,6 +319,14 @@ begin .destination_assemble.init = init; _BundleTileBindings[[_BundleRangeGroup.tile_binding]] .destination_assemble.last = last; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[_BundleRangeGroup.tile_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; else _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.valid = TRUE; @@ -334,6 +342,14 @@ begin .destination_assemble.init = init; _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] .destination_assemble.last = last; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[_BundleRangeGroup.shared_binding]] + .destination_assemble.shared_request_operation_ordinal = 0; end; MarkBundleRangeRole(2); end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation-pe-requests.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation-pe-requests.md new file mode 100644 index 000000000..4086b3ca1 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation-pe-requests.md @@ -0,0 +1,522 @@ + +# Shared Generation PE Requests + +**Normative ASL source:** `asl/block/model/operands/shared-generation-pe-requests.asl` + +This page is a generated reference view of the normative ASL unit. + +## ASL unit identity {#PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS} + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + +本单元为既有 Shared generation owner 实现逐 PE 请求身份。每个编码贡献从所选 Core 与 PE 上下文捕获;发布和 release 仍由现有 generation 契约管理。 + + +## Normative ASL + + +```asl +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","surface":"block","classification":["model","operands","shared-generation-pe-requests"],"depends_on":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"]} +readonly func BundleSharedGenerationRequestWaiting( + binding: BundleSharedBindingIndex) => boolean +begin + return _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting; +end; + +readonly func BundleCurrentPEIsNonparticipantSharedAssembly() => boolean +begin + if !_CurrentPEContextValid then return FALSE; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble.init then + let mask = _BundleSharedBindings[[binding]].pe_mask; + let pe = _CurrentMemoryAgent as integer {0..3}; + if mask != Zeros{4} && + mask[PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func BundleSharedGenerationCompletionAvailableForCurrentPE() + => boolean +begin + if !_CurrentPEContextValid || + !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 || + _CurrentMemoryOrigin != MemoryEventOrigin_Kernel || + !BundleSharedTLSUSelected() then return FALSE; end; + let pe = _CurrentMemoryAgent as integer {0..3}; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let request = _BundleSharedBindings[[binding]].destination_assemble; + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if request.shared_request_identity_valid && + !request.shared_request_squashed && + !_BundleSharedBindings[[binding]].consumed && + request.shared_request_execution_domain == + _BundleExecutionDomainToken && + request.shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal && + _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe)] != '1' then + return TRUE; + end; + end; + end; + return FALSE; +end; + +func ConsumeBundleSharedGenerationCompletionForCurrentPE() => boolean +begin + if !BundleSharedGenerationCompletionAvailableForCurrentPE() then + return FALSE; + end; + let pe = _CurrentMemoryAgent as integer {0..3}; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let index = SharedTileArrayIndex( + _BundleSharedBindings[[binding]].shared_tile_id); + if _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + _BundleExecutionDomainToken && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + ConsumeBundleSharedBindings(1); + return TRUE; + end; + end; + end; + return FALSE; +end; + +readonly func SharedGenerationCoreIdentityMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex) => boolean +begin + return _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == _CurrentModelCore && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].origin == _CurrentMemoryOrigin && + _SharedGenerations[[index]].source_acr == _CurrentACR && + _SharedGenerations[[index]].producer_site == ReadBPC() && + _SharedGenerations[[index]].start_instruction == + _BundleStartEncodedInstruction && + _SharedGenerations[[index]].operation_form == + _BundleOperation.form_identity && + _SharedGenerations[[index]].operation_selector == + _BundleOperation.selector && + _SharedGenerations[[index]].participant_mask == + _BundleSharedBindings[[binding]].pe_mask && + _SharedGenerations[[index]].parent_size_code == + BundleSharedGenerationCapacity(binding); +end; + +readonly func ValidateCurrentPESharedGenerationSubmission( + binding: BundleSharedBindingIndex) => boolean +begin + if !_CurrentPEContextValid || + !_BundleSharedBindings[[binding]].destination_assemble.init then + return FALSE; + end; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let pe_index = _CurrentMemoryAgent as integer {0..3}; + if participant_mask == Zeros{4} || + _BundleSharedBindings[[binding]].size_code == 0 then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let parent_cells = (BundleLocalGenerationCellCount( + BundleSharedGenerationCapacity(binding) as integer {1..12}) * 4) + as integer {4..8192}; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if offset_cells + writer_cells > parent_cells then return FALSE; end; + let selected = participant_mask[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1'; + // A structurally legal stream from a nonparticipant has no producer + // state to validate or mutate. It cannot abort a candidate belonging to + // actual participants. + if !selected then return TRUE; end; + if _SharedGenerations[[index]].open && + !SharedGenerationCoreIdentityMatches(index, binding) then + return FALSE; + end; + // A published actual-PE candidate may still have parked requests that + // have not consumed completion. Let the request reach the production + // owner, which parks it until release; it cannot join the old ordinal. + let waiting_for_release = _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask; + if _SharedGenerations[[index]].published && + _SharedGenerations[[index]].actual_pe_owned && + !waiting_for_release && + !SharedGenerationCoreIdentityMatches(index, binding) then + // A different invocation/site is a new INIT and will allocate the + // next operation ordinal after the old requests have released. + return TRUE; + end; + return TRUE; +end; + +readonly func SharedGenerationCoreRequestMatches( + index: SharedTileIndex, + binding: BundleSharedBindingIndex, + candidate: SharedTileInfo) => boolean +begin + return SharedGenerationCoreIdentityMatches(index, binding) && + _SharedGenerations[[index]].working_tile.columns == + candidate.tile.columns && + _SharedGenerations[[index]].working_tile.data_type == + candidate.tile.data_type && + _SharedGenerations[[index]].working_tile.layout == + candidate.tile.layout; +end; + +readonly func ValidateBundleSharedGeneration() => boolean +begin + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid then + let shared_tile_id = + _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let assemble = + _BundleSharedBindings[[binding]].destination_assemble; + let writer_size = assemble.size_code; + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + if writer_size < 1 || writer_size > 12 then return FALSE; end; + if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; + if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; + if assemble.init && _CurrentPEContextValid then + if !ValidateCurrentPESharedGenerationSubmission(binding) then + return FALSE; + end; + else + if assemble.init && _SharedGenerations[[index]].open then + return FALSE; + end; + if !assemble.init && + (!_SharedGenerations[[index]].open || + _SharedGenerations[[index]].closed) then + return FALSE; + end; + if !assemble.init && + _SharedGenerations[[index]].participant_mask != + participant_mask then + return FALSE; + end; + let raw_offset = UInt(assemble.offset); + if raw_offset > 2047 then return FALSE; end; + let offset_cells = (raw_offset * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + writer_size as integer {1..12}) * 4) as integer {4..8192}; + if !ValidateBundleSharedGenerationRange(binding, offset_cells, + writer_cells, participant_mask, FALSE, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then + return FALSE; + end; + end; + end; + end; + return TRUE; +end; + +func CommitBundleSharedGenerationCandidateForCurrentPE( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo) => boolean +begin + assert _CurrentPEContextValid && + _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid; + let shared_tile_id = _BundleSharedBindings[[binding]].shared_tile_id; + let index = SharedTileArrayIndex(shared_tile_id); + let participant_mask = _BundleSharedBindings[[binding]].pe_mask; + let participant = SharedGenerationPEBit(_CurrentMemoryAgent); + let pe_index = _CurrentMemoryAgent as integer {0..3}; + let assemble = _BundleSharedBindings[[binding]].destination_assemble; + let request_token = _BundleExecutionDomainToken; + if assemble.shared_request_squashed then + // The replay owner must install a fresh BSTART/domain before this + // request can execute again. Retain the stale completion as parked; + // it must never rejoin a new candidate or turn squash into a fault. + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + let parent_size = BundleSharedGenerationCapacity(binding); + let parent_cells = (BundleLocalGenerationCellCount( + parent_size as integer {1..12}) * 4) as integer {4..8192}; + let offset_cells = (UInt(assemble.offset) * 4) as integer {0..8188}; + let writer_cells = (BundleLocalGenerationCellCount( + assemble.size_code as integer {1..12}) * 4) as integer {4..8192}; + if participant_mask == Zeros{4} || + participant_mask[PTOPEMaskBitOfPEIdentity(pe_index)] != '1' || + candidate.allocation_mask != participant_mask || + !candidate.descriptor_valid || writer_cells > parent_cells || + offset_cells + writer_cells > parent_cells then + return FALSE; + end; + if !_BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain = request_token; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = 0; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + elsif _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain != request_token then + return FALSE; + end; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + + // An accepted request that retries after the matching collective LAST + // consumes its original completion token without replaying its payload. + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] == + request_token && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal == + _SharedGenerations[[index]].operation_ordinal then + if _SharedGenerations[[index]].published then + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR + participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + elsif _SharedGenerations[[index]].released_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + return TRUE; + else + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + end; + + if _SharedGenerations[[index]].published then + if !_SharedGenerations[[index]].actual_pe_owned then + if !assemble.init then return FALSE; end; + ClearBundleSharedGenerationState(shared_tile_id); + elsif _SharedGenerations[[index]].released_participants != + _SharedGenerations[[index]].participant_mask then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + else + if !assemble.init then return FALSE; end; + // Retire only lifecycle metadata. The already-published Shared + // parent remains visible until a complete replacement commits. + ClearBundleSharedGenerationState(shared_tile_id); + end; + elsif _SharedGenerations[[index]].open then + if !_SharedGenerations[[index]].actual_pe_owned then + return FALSE; + end; + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe_index)] == '1' then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if !SharedGenerationCoreRequestMatches(index, binding, candidate) then + return FALSE; + end; + else + if !assemble.init then return FALSE; end; + end; + + let starts_generation = !_SharedGenerations[[index]].open; + if starts_generation then + let next_ordinal = + _SharedGenerations[[index]].next_operation_ordinal + 1; + _SharedGenerations[[index]].next_operation_ordinal = next_ordinal; + _SharedGenerations[[index]].operation_ordinal = next_ordinal; + _SharedGenerations[[index]].core_identity = _CurrentModelCore; + _SharedGenerations[[index]].invocation_identity = + _CurrentKernelInvocation; + _SharedGenerations[[index]].origin = _CurrentMemoryOrigin; + _SharedGenerations[[index]].source_acr = _CurrentACR; + _SharedGenerations[[index]].producer_site = ReadBPC(); + _SharedGenerations[[index]].start_instruction = + _BundleStartEncodedInstruction; + _SharedGenerations[[index]].operation_form = + _BundleOperation.form_identity; + _SharedGenerations[[index]].operation_selector = + _BundleOperation.selector; + _SharedGenerations[[index]].actual_pe_owned = TRUE; + end; + + // Reuse the existing Shared-generation range validator and writer. INIT + // joins are normalized to an internal continuation after common identity + // matching; LAST is staged until all actual arrivals and ranges exist. + _BundleSharedBindings[[binding]].destination_assemble.init = + starts_generation; + _BundleSharedBindings[[binding]].destination_assemble.last = FALSE; + let original_shared_size = _BundleSharedBindings[[binding]].size_code; + if !starts_generation then + _BundleSharedBindings[[binding]].size_code = 0; + end; + let prior_initialized = + _SharedGenerations[[index]].working_initialized_mask; + let element_bits = TileElementBits(candidate.tile.data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + let whole_parent_tload = _BundleOperation.valid && + _BundleOperation.operation_class == BundleOperation_TileMemory && + _BundleOperation.selector_valid && _BundleOperation.selector[4:0] == Zeros{5}; + // Physical writer padding is covered; only defined valid coordinates copy. + let preserve_source_geometry = BundleTMOVSelected(); + let committed = + CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, writer_cells, + writer_cells, writer_payload_elements, + !whole_parent_tload, preserve_source_geometry, participant, + FALSE, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); + _BundleSharedBindings[[binding]].destination_assemble.init = assemble.init; + _BundleSharedBindings[[binding]].destination_assemble.last = assemble.last; + _BundleSharedBindings[[binding]].size_code = original_shared_size; + if !committed then return FALSE; end; + + _SharedGenerations[[index]].actual_pe_owned = TRUE; + _SharedGenerations[[index]].arrival_request_tokens[[pe_index]] = + request_token; + _SharedGenerations[[index]].arrival_program_orders[[pe_index]] = + _CurrentProgramOrder; + _SharedGenerations[[index]].working_initialized_mask = + prior_initialized OR participant; + _SharedGenerations[[index]].last_seen = + _SharedGenerations[[index]].last_seen || assemble.last; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_operation_ordinal = + _SharedGenerations[[index]].operation_ordinal; + + var all_coverage_present = TRUE; + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count then + if _SharedGenerations[[index]].covered_cells[cell] == '0' then + all_coverage_present = FALSE; + end; + if _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + end; + let all_participants_arrived = + _SharedGenerations[[index]].arrived_participants == participant_mask; + if _SharedGenerations[[index]].last_seen && + all_participants_arrived && all_coverage_present && all_data_ready then + _SharedGenerations[[index]].last_seen = TRUE; + _SharedGenerations[[index]].closed = TRUE; + _SharedGenerations[[index]].open = FALSE; + _SharedGenerations[[index]].published = TRUE; + _SharedGenerations[[index]].working_tile.contents_defined = TRUE; + _SharedGenerations[[index]].working_tile.defined_valid_elements = + (_SharedGenerations[[index]].working_tile.valid_rows * + _SharedGenerations[[index]].working_tile.valid_columns) + as integer {0..524288}; + _SharedTiles[[index]].descriptor_valid = TRUE; + _SharedTiles[[index]].allocation_mask = participant_mask; + _SharedTiles[[index]].initialized_mask = participant_mask; + _SharedTiles[[index]].whole_parent_ready = TRUE; + _SharedTiles[[index]].published = TRUE; + _SharedTiles[[index]].tile = _SharedGenerations[[index]].working_tile; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; + end; + if assemble.last && !all_participants_arrived then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + if assemble.last && all_participants_arrived && + !all_coverage_present then + return FALSE; + end; + if assemble.last && all_participants_arrived && + all_coverage_present && !all_data_ready then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + return FALSE; + end; + _SharedGenerations[[index]].released_participants = + _SharedGenerations[[index]].released_participants OR participant; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = FALSE; + return TRUE; +end; + +func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) + => SharedTileInfo +begin + let index = SharedTileArrayIndex(shared_tile_id); + let prior = _SharedTiles[[index]]; + _SharedTiles[[index]].descriptor_valid = FALSE; + _SharedTiles[[index]].allocation_mask = Zeros{4}; + _SharedTiles[[index]].initialized_mask = Zeros{4}; + _SharedTiles[[index]].whole_parent_ready = FALSE; + _SharedTiles[[index]].published = FALSE; + return prior; +end; +func RestoreBundleSharedGenerationProbe( + shared_tile_id: SharedTileID, prior: SharedTileInfo) +begin + _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; +end; +``` + diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md index 3e7c43d87..bb7777f34 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md @@ -15,14 +15,14 @@ This page is a generated reference view of the normative ASL unit. ## 用途与范围 -本单元拥有 Shared 代次和 Shared subview。Shared 代次是由一个或多个写者通过 `B.ASSEMBLE` 构建的 Shared Tile。Shared subview 是已发布 Shared Tile 的一个 `B.SUBVIEW` 范围,每个 PE 可以把它放在不同位置。 +本单元拥有 Shared 代次范围验证、低层候选合并与原子发布,以及 Shared subview 验证和物化。Shared 代次是通过 `B.ASSEMBLE` 构建的 Shared Tile;Shared subview 是已发布 Shared Tile 的一个范围,每个 PE 可以把它放在不同位置。 -本单元验证写者范围,把每个写者的载荷合并到一个工作副本中,并在 LAST 时发布完整的对象。 +相邻的 per-PE 请求所有者处理编码请求身份、实际执行 PE 的源捕获、准入和保留完成状态。逻辑 `pe_mask` 仍描述操作参与者和形状;一次编码请求只贡献其实际执行的 PE。 ## 概念与可见状态 -本单元更新一个 Shared Tile ID 的 `_SharedGenerations` 记录,并在 LAST 时更新已发布的 `_SharedTiles` 条目。 +本单元的范围和聚合辅助操作会更新某个 Shared Tile ID 的 `_SharedGenerations` 记录,并在 LAST 时发布完整的 `_SharedTiles` 条目。编码 per-PE 请求身份和释放跟踪由相邻请求所有者维护。 覆盖以 32 字节为单位跟踪,一个位图有 8192 个单位。普通 `B.ASSEMBLE` 的偏移和大小码以 128 字节的 CELL 为单位,包装函数将其乘以 4。ASL 注释说明了原因:更细的单位让专用的整行生产者能够表达 TIMG2COL 的行范围,而无需部分 CELL 规则。权重 `TLOAD` 也通过同一个范围入口提交。 @@ -39,36 +39,38 @@ This page is a generated reference view of the normative ASL unit. - 范围位于父 Tile 内,对延续还要求不与任何已覆盖单位重叠; - 在 LAST 时,每个父单位都已覆盖,且每个参与者都已到达。 -`ValidateBundleSharedGeneration` 在第 2 阶段准备中对普通写者应用此检查,以整个绑定掩码作为到达集合。 +`PTO-B-ASSEMBLE-SHARED-GENERATION-001` 契约区分逻辑参与者掩码与编码到达:每次编码提交只捕获其实际执行 PE,而独立的聚合验证仍保留整个掩码到达的语义。实际 PE 请求所有者负责这种编码准入。 -`CommitBundleSharedGenerationCandidateRange` 重复该验证。INIT 复位记录,并以父级容量、无已定义元素的方式从候选 Tile 开始一个工作 Tile。延续要求列数、数据类型和布局一致。候选 Tile 的已定义元素被复制到工作 Tile 中写者偏移处,有效区域扩展以覆盖它们。覆盖、就绪和到达被更新。在 LAST 时,工作 Tile 在同一提交步骤中成为已发布的 Shared Tile。 +`CommitBundleSharedGenerationCandidateRange` 会重复范围验证,并将候选 Tile 合并到工作 Tile 的写者偏移处。INIT 以父级容量和无已定义元素的状态开始工作 Tile;延续要求列数、数据类型和布局一致。低层操作更新覆盖、就绪和到达,并在 LAST 时于同一提交步骤发布完整工作 Tile。编码 per-PE 准入、一次性贡献和保留释放由相邻请求所有者处理。 设计要点:`CommitBundleSharedGenerationCandidateRange` 只在 LAST 时写入 `_SharedTiles`;更早的调用只改变代次记录。NDF `PTO-B-ASSEMBLE-SHARED-GENERATION-001` 要求发布原子地替换描述符和载荷,并要求每次拒绝都保留先前已发布的代次。 设计要点:参与者到达与覆盖分开跟踪。专用的协作生产者每个写者只传入一个 PE 的到达位,行数为零的 PE 可以在不写入任何单元的情况下到达,因此集体操作仍然可以关闭。 -`BeginBundleSharedGenerationProbe` 在 Shared `TLOAD` 或 Local 到 Shared 的 `TMOV` 构建候选 Tile 时保存并隐藏已发布的记录。在 `TLOAD` 的无故障路径上,以及对 `TMOV` 总是,`RestoreBundleSharedGenerationProbe` 在提交之前把它放回。Shared TLSU 的注释说明,发生第一个故障后,候选记录保留在原处,既不就绪也不发布。 +根据 Shared 代次契约,被 squash 的实际请求之后不能再向未完成候选贡献;已发布候选会保留其待处理释放。状态和 per-PE 请求所有者负责跨已保存 PE 与陷阱上下文使请求令牌失效。 + +per-PE 请求和 Shared TLSU 所有者说明 Shared `TLOAD`/`TMOV` 的临时候选探测及其首次故障行为;请参阅下方相关所有者。 ## 架构边界 `BundleSharedSubviewLegal` 要求一个大小码为 0 的源绑定指向一个已发布的非 CUBE Shared Tile。对每个选中的 PE,它在该 PE 自己的寄存器中计算 `GPR[RegSrc] + uimm11`,然后要求该范围位于父 Tile 内,并且要么在一行之内,要么是从第 0 列开始的整行。`MaterializeBundleSharedSubviewForPE` 构建该 PE 的视图。任何一个不合法的视图都会拒绝整个操作。 -当 Tile 操作失败时,`AbortBundleSharedGenerationsForBundle` 中止该指令束涉及的每个代次。 +Tile 操作失败后,`AbortBundleSharedGenerationsForBundle` 会遍历该指令束中有效的 Shared 组装目标绑定,并中止这些目标代次。操作仅仅读取某个 Shared 源代次时,不会因此中止该源代次。 ## 非规范阅读示例 本示例只用于演示当前 ASL 所有者,不替代规范操作。 -Shared Tile 3 由两个掩码为 `1111` 的普通写者指令束构建,父级大小码为 7(8192 字节,64 个 CELL,256 个单位)。指令束 A 带 INIT,写者大小码为 6(32 个 CELL),偏移为 0。A 之后,单位 0..127 已覆盖,四个 PE 都已到达,因为普通写者以其整个掩码到达。指令束 B 带 LAST,写者大小码为 6,偏移为 32,覆盖单位 128..255。此时覆盖完整,工作 Tile 替换 Shared Tile 3。如果 B 改用偏移 16,其范围会与已覆盖单位重叠,B 会以 `Fault_TileLegality` 故障,打开的代次会被中止,任何先前已发布的 Shared Tile 3 会保持已发布状态。 +在编码见证 `PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009` 中,四个 PE 使用相同逻辑掩码 `1111`、Shared Tile 19 和 512 字节父 Tile,各自在偏移 0、1、2 或 3 写入一个 128 字节 CELL。每个请求携带匹配的 `INIT_LAST` 元数据,但只捕获该实际 PE 的私有源。前三个 stop 均无故障地保持挂起,TPC 不前进且不发布;第四个请求补齐覆盖并原子发布四个不同片段。重试较早的 stop 会各自消费一次保留的完成状态,不会重放片段。之后再次使用相同静态操作会获得新序号和新片段;在替换完成前,先前的父 Tile 仍然可见。 ## 相关所有者 - [Shared 代次状态](../state/shared-generation-state.md)清除、复位和中止记录。 - [Shared 绑定](shared-bindings.md)定义重用目标。 -- [Shared TLSU](../dispatch/shared-tlsu.md)、[TIMG2COL 执行](../dispatch/timg2col-execution.md)和[权重到 Shared 执行](../dispatch/weight-to-shared-execution.md)提交候选 Tile。 +- [per-PE Shared 代次请求](shared-generation-pe-requests.md)拥有编码源捕获、准入、发布和保留释放;[Shared TLSU](../dispatch/shared-tlsu.md)、[TIMG2COL 执行](../dispatch/timg2col-execution.md)和[权重到 Shared 执行](../dispatch/weight-to-shared-execution.md)调用适用的提交路径。 - [B.ASSEMBLE](../../operands/B.ASSEMBLE.md) 是命令页面。 @@ -85,7 +87,19 @@ Shared Tile 3 由两个掩码为 `1111` 的普通写者指令束构建,父级 // the same generation ordinal with matching metadata, and no participant has // faulted or been squashed. Publication MUST replace the complete Shared // descriptor and payload atomically; every rejection MUST preserve the prior -// published generation. +// published generation. Encoded per-PE submissions MUST capture only the +// executing participant's real source and arrival. A matching participant +// may join one open Core-owned candidate once; an incomplete collective LAST +// remains parked without a fault or PC advance until every declared range and +// participant is present. A later request from an already-arrived PE MUST NOT +// be merged into that earlier candidate. Completed candidates remain retained +// until every parked request has consumed its completion, and a new INIT MUST +// use a new operation ordinal rather than reusing the old candidate. Squashing +// an execution domain whose actual arrival token belongs to an incomplete +// PE-owned candidate MUST abort that candidate and invalidate the retained +// request identity across saved PE and trap contexts. A published candidate +// is irrevocable: squash MUST preserve its payload and outstanding release +// state. // NDF-END: PTO-B-ASSEMBLE-SHARED-GENERATION-001 // NDF-BEGIN: PTO-B-SUBVIEW-SHARED-PER-PE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -105,16 +119,21 @@ begin for binding = 0 to 3 do if _BundleSharedBindings[[binding]].valid && _BundleSharedBindings[[binding]].destination_assemble.valid then - AbortBundleSharedGeneration( + let index = SharedTileArrayIndex( _BundleSharedBindings[[binding]].shared_tile_id); + // Publication is irrevocable. A later unrelated or malformed + // request cannot erase a published parent's outstanding releases; + // explicit invocation retirement owns their metadata cleanup. + if !_SharedGenerations[[index]].actual_pe_owned || + !_SharedGenerations[[index]].published then + AbortBundleSharedGeneration( + _BundleSharedBindings[[binding]].shared_tile_id); + end; end; end; end; -// Shared generation coverage is tracked internally in 32-byte units. Ordinary -// B.ASSEMBLE offsets and SizeCodes remain 128-byte Tile CELL quantities and -// the compatibility wrappers below expand each such CELL to four units. The -// finer internal granularity lets specialized complete-row producers express -// the frozen TIMG2COL row ranges without inventing partial generic CELL rules. +// Coverage uses 32-byte units; wrappers expand existing 128-byte CELL +// quantities to four units for specialized complete-row producers. readonly func BundleSharedGenerationCoverageWithCurrent( shared_tile_id: SharedTileID, offset_cells: integer {0..8192}, @@ -131,10 +150,8 @@ begin end; return covered; end; -// A specialized collective may contribute fewer physical cells than the -// size-coded carrier and may contribute no cells at all. Participant arrival -// remains independent of CELL coverage so a zero-row PE can complete the -// collective without writing payload or definedness. +// Specialized collectives may contribute fewer cells (including zero); +// arrival remains independent of coverage and payload definedness. readonly func ValidateBundleSharedGenerationRange( binding: BundleSharedBindingIndex, offset_cells: integer {0..8192}, @@ -215,54 +232,14 @@ begin end; return TRUE; end; -readonly func ValidateBundleSharedGeneration() => boolean -begin - for binding = 0 to 3 do - if _BundleSharedBindings[[binding]].valid && - _BundleSharedBindings[[binding]].destination_assemble.valid then - let shared_tile_id = - _BundleSharedBindings[[binding]].shared_tile_id; - let index = SharedTileArrayIndex(shared_tile_id); - let assemble = - _BundleSharedBindings[[binding]].destination_assemble; - let writer_size = assemble.size_code; - let participant_mask = _BundleSharedBindings[[binding]].pe_mask; - if writer_size < 1 || writer_size > 12 then return FALSE; end; - if assemble.init && _BundleSharedBindings[[binding]].size_code == 0 then return FALSE; end; - if !assemble.init && !BundleSharedBindingIsReusedDestination(binding) then return FALSE; end; - if assemble.init && _SharedGenerations[[index]].open then - return FALSE; - end; - if !assemble.init && - (!_SharedGenerations[[index]].open || - _SharedGenerations[[index]].closed) then - return FALSE; - end; - if !assemble.init && - _SharedGenerations[[index]].participant_mask != - participant_mask then - return FALSE; - end; - let raw_offset = UInt(assemble.offset); - if raw_offset > 2047 then return FALSE; end; - let offset_cells = (raw_offset * 4) as integer {0..8188}; - let writer_cells = (BundleLocalGenerationCellCount( - writer_size as integer {1..12}) * 4) as integer {4..8192}; - if !ValidateBundleSharedGenerationRange(binding, offset_cells, - writer_cells, participant_mask, FALSE, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, - Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}) then - return FALSE; - end; - end; - end; - return TRUE; -end; -func CommitBundleSharedGenerationCandidateRange( +func CommitBundleSharedGenerationCandidateRangeWithPayloadElements( binding: BundleSharedBindingIndex, candidate: SharedTileInfo, offset_cells: integer {0..8192}, coverage_cells: integer {0..8192}, payload_cells: integer {0..8192}, + payload_elements: integer {0..524288}, + placed_fragment: boolean, + preserve_source_geometry: boolean, participant_arrival: bits(4), specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, @@ -278,6 +255,8 @@ begin if !candidate.descriptor_valid || candidate.allocation_mask != participant_mask || payload_cells > coverage_cells || + payload_elements > ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) || !ValidateBundleSharedGenerationRange(binding, offset_cells, coverage_cells, participant_arrival, specialized_inputs_valid, specialized_input0, specialized_input1, @@ -287,17 +266,19 @@ begin if assemble.init then let parent_size = _BundleSharedBindings[[binding]].size_code as integer {1..12}; let parent_bytes = TileSizeCodeBytes(parent_size); - let parent_rows = DerivedTileRows( - parent_bytes, candidate.tile.columns, candidate.tile.data_type); + let parent_rows = DerivedTileRows(parent_bytes, candidate.tile.columns, candidate.tile.data_type); if parent_rows == 0 then return FALSE; end; + let complete_source_view = preserve_source_geometry && placed_fragment && + offset_cells == 0 && candidate.tile.capacity_bytes == parent_bytes && + coverage_cells == BundleLocalGenerationCellCount(parent_size) * 4 && + payload_cells == coverage_cells && payload_elements == TileLogicalElementCapacity(parent_bytes, candidate.tile.data_type); _SharedGenerations[[index]].open = TRUE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = participant_mask; _SharedGenerations[[index]].parent_size_code = parent_size; - _SharedGenerations[[index]].parent_cell_count = - BundleLocalGenerationCellCount(parent_size) * 4; + _SharedGenerations[[index]].parent_cell_count = BundleLocalGenerationCellCount(parent_size) * 4; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; @@ -312,7 +293,11 @@ begin _SharedGenerations[[index]].working_valid = TRUE; _SharedGenerations[[index]].working_tile = candidate.tile; _SharedGenerations[[index]].working_tile.capacity_bytes = parent_bytes; - _SharedGenerations[[index]].working_tile.rows = parent_rows; + _SharedGenerations[[index]].working_tile.rows = if complete_source_view then + candidate.tile.rows else parent_rows; + // Rebuild placed-fragment validity in the destination geometry. + if placed_fragment then _SharedGenerations[[index]].working_tile.valid_rows = 0; + _SharedGenerations[[index]].working_tile.valid_columns = 0; end; _SharedGenerations[[index]].working_tile.contents_defined = FALSE; _SharedGenerations[[index]].working_tile.defined_elements = Zeros{PTO_MODEL_TILE_ELEMENTS}; @@ -331,12 +316,11 @@ begin return FALSE; end; end; - if payload_cells != 0 then + var descriptor_expanded = FALSE; + if payload_elements != 0 then let element_bits = TileElementBits(candidate.tile.data_type); - let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) - as integer {0..524287}; - let source_elements = ((payload_cells * 32 * 8) DIVRM element_bits) - as integer {1..524288}; + let destination_offset = ((offset_cells * 32 * 8) DIVRM element_bits) as integer {0..524287}; + let source_elements = payload_elements; let parent_elements = TileLogicalElementCapacity( _SharedGenerations[[index]].working_tile.capacity_bytes, candidate.tile.data_type); @@ -359,32 +343,42 @@ begin end; end; _SharedGenerations[[index]].working_tile = working; - let working_columns = working.columns as integer {1..65535}; - let last_valid_row = (candidate.tile.valid_rows - 1) - as integer {0..65534}; - let last_valid_column = (candidate.tile.valid_columns - 1) - as integer {0..65534}; - let candidate_valid_extent = - (TileLogicalLinearIndex(candidate.tile, last_valid_row, - last_valid_column) + 1) as integer {1..524288}; - let required_end = destination_offset + candidate_valid_extent; - if required_end > parent_elements then return FALSE; end; - let required_rows = ((required_end + - (working_columns - 1)) DIVRM working_columns) - as integer {1..65535}; - if _SharedGenerations[[index]].working_tile.valid_rows < required_rows then - _SharedGenerations[[index]].working_tile.valid_rows = required_rows; + // Actual PE fragments compose validity; TLOAD retains whole-parent shape. + let previous_valid_rows = _SharedGenerations[[index]].working_tile.valid_rows; + let previous_valid_columns = _SharedGenerations[[index]].working_tile.valid_columns; + let candidate_rows = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_rows, FALSE) + else candidate.tile.valid_rows; + let candidate_columns = if placed_fragment then + BundleSharedGenerationPlacedExtent(candidate.tile, _SharedGenerations[[index]].working_tile, + source_elements, destination_offset, previous_valid_columns, TRUE) + else candidate.tile.valid_columns; + descriptor_expanded = candidate_rows > previous_valid_rows || + candidate_columns > previous_valid_columns; + if _SharedGenerations[[index]].working_tile.valid_rows < + candidate_rows then + _SharedGenerations[[index]].working_tile.valid_rows = candidate_rows; end; if _SharedGenerations[[index]].working_tile.valid_columns < - candidate.tile.valid_columns then - _SharedGenerations[[index]].working_tile.valid_columns = - candidate.tile.valid_columns; + candidate_columns then + _SharedGenerations[[index]].working_tile.valid_columns = candidate_columns; end; end; let covered = BundleSharedGenerationCoverageWithCurrent( shared_tile_id, offset_cells, coverage_cells, assemble.init); _SharedGenerations[[index]].covered_cells = covered; - _SharedGenerations[[index]].ready_cells = covered; + let prior_ready = if assemble.init then Zeros{8192} + else _SharedGenerations[[index]].ready_cells; + let range_ready = BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, prior_ready, + offset_cells, coverage_cells); + _SharedGenerations[[index]].ready_cells = if payload_elements != 0 && + descriptor_expanded then + BundleSharedGenerationReadyCellsWithRange( + _SharedGenerations[[index]].working_tile, range_ready, + 0, _SharedGenerations[[index]].parent_cell_count) + else range_ready; _SharedGenerations[[index]].arrived_participants = _SharedGenerations[[index]].arrived_participants OR participant_arrival; @@ -392,6 +386,14 @@ begin _SharedGenerations[[index]].working_initialized_mask OR candidate.initialized_mask; if assemble.last then + var all_data_ready = TRUE; + for cell = 0 to 8191 do + if cell < _SharedGenerations[[index]].parent_cell_count && + _SharedGenerations[[index]].ready_cells[cell] == '0' then + all_data_ready = FALSE; + end; + end; + if !all_data_ready then return FALSE; end; _SharedGenerations[[index]].last_seen = TRUE; _SharedGenerations[[index]].closed = TRUE; _SharedGenerations[[index]].open = FALSE; @@ -407,6 +409,24 @@ begin end; return TRUE; end; +func CommitBundleSharedGenerationCandidateRange( + binding: BundleSharedBindingIndex, candidate: SharedTileInfo, + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}, + payload_cells: integer {0..8192}, + participant_arrival: bits(4), + specialized_inputs_valid: boolean, + specialized_input0: Word, specialized_input1: Word, specialized_input2: Word, + specialized_input3: Word, specialized_metadata: Word) => boolean +begin + let payload_elements = ((payload_cells * 32 * 8) DIVRM + TileElementBits(candidate.tile.data_type)) as integer {0..524288}; + return CommitBundleSharedGenerationCandidateRangeWithPayloadElements( + binding, candidate, offset_cells, coverage_cells, payload_cells, + payload_elements, FALSE, FALSE, participant_arrival, specialized_inputs_valid, + specialized_input0, specialized_input1, specialized_input2, + specialized_input3, specialized_metadata); +end; // Ordinary B.ASSEMBLE retains its size-coded range and represents arrival of // the complete decoded PE mask. Specialized collectives use the explicit // range entry point above. @@ -423,23 +443,6 @@ begin Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}, Zeros{PTO_XLEN}); end; -func BeginBundleSharedGenerationProbe(shared_tile_id: SharedTileID) - => SharedTileInfo -begin - let index = SharedTileArrayIndex(shared_tile_id); - let prior = _SharedTiles[[index]]; - _SharedTiles[[index]].descriptor_valid = FALSE; - _SharedTiles[[index]].allocation_mask = Zeros{4}; - _SharedTiles[[index]].initialized_mask = Zeros{4}; - _SharedTiles[[index]].whole_parent_ready = FALSE; - _SharedTiles[[index]].published = FALSE; - return prior; -end; -func RestoreBundleSharedGenerationProbe( - shared_tile_id: SharedTileID, prior: SharedTileInfo) -begin - _SharedTiles[[SharedTileArrayIndex(shared_tile_id)]] = prior; -end; readonly func BundleSharedSubviewOffsetRawForPE( binding: BundleSharedBindingIndex, pe_identity: MemoryAgentId) => Word begin diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/subview-descriptor.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/subview-descriptor.md index bbb6c75d0..f0a64398d 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/subview-descriptor.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/subview-descriptor.md @@ -74,7 +74,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR","surface":"block","classification":["model","operands","subview-descriptor"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-DESCRIPTOR-LEGALITY","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS","PTO-TILE-MODEL-SHAPE-CUBE-CELL","PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL"]} // NDF-BEGIN: PTO-B-SUBVIEW-DESCRIPTOR-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -225,7 +225,6 @@ end; func PrepareSelectedBundleStage2() => boolean begin if !_BundleOperation.valid then return TRUE; end; - if !ResolveBundleRelativeTileSources() then return FALSE; end; let family = BundleTileDecodeFamily(_BundleOperation.operation_class); let code = BundleOperationDecodeCode(_BundleOperation); let decoded = DecodeTileOperation(family, code); @@ -234,6 +233,24 @@ begin return FALSE; end; let operation = decoded as integer {0..PTO_TILE_OPERATION_COUNT-1}; + if BundleCurrentPEIsNonparticipantSharedAssembly() then + // Keep assembly wire/range checks for malformed requests, but avoid + // resolving private source tiles or consulting producer readiness on + // a PE that is not a logical participant. + if !ValidateBundleSharedGeneration() then + SetFault(Fault_TileLegality, ReadTPC()); + return FALSE; + end; + return TRUE; + end; + if BundleSharedGenerationCompletionAvailableForCurrentPE() then + // This is the same admitted request resuming at its original stop. + // Dispatch performs the structural guard and consumes the retained + // completion; stage2 must not reread source readiness or rebuild the + // contribution before that check. + return TRUE; + end; + if !ResolveBundleRelativeTileSources() then return FALSE; end; if !PrepareBundleSubviewDescriptors(operation) then return FALSE; end; if !ValidateBundleLocalGenerationStructure() then return FALSE; end; if !ValidateBundleSharedGeneration() then diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/control-state.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/control-state.md index e84738257..e7224acf8 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/control-state.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/control-state.md @@ -76,7 +76,11 @@ This page is a generated reference view of the normative ASL unit. ```asl // PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","surface":"block","classification":["model","state","control-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_LocalGenerations","_SharedGenerations","_BundleExecutionDomainToken","_NextBundleExecutionDomainToken","_TileDataLayoutCapabilities","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CONTROL","classification":["block","control"],"scope":"pe","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_BARG","_BundleCommitTargetSet","_BundleConditionSet","_SystemBlockTerminalPending","_BundleSequentialPC","_FrameStackReturnTarget","_BundleStartEncodedInstruction","_BundleArgument","_BundleArgumentKind","_BundleOperation","_BundleDimensions","_BundleDimensionPresent","_BundleScalarBindings","_BundleTileBindings","_BundleSharedBindings","_BundleRangeGroup","_BundleZeroParticipationSeen","_BundleControlAttributes","_BundleDataAttributes","_BundleDataAttributesPresent","_BundleExecutionMask","_BundleHint","_BundleFixedPointAttributes","_MemoryCopyTemplate","_FrameTemplate","_BundleExecutionDomainToken","_FrameDepth","_LastFrameBegin","_LastFrameEnd","_LastFrameSize","_LastQueueLeft","_LastQueueRight","_LastQueueFlags","_LastMemoryCommandAddress","_LastMemoryCommandSize","_LastCrossBlockACR","_LastCrossBlockID","_LastBundleHintPayload"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-LOCAL-GENERATIONS","classification":["block","local-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_LocalGenerations"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-SHARED-GENERATIONS","classification":["block","shared-generations"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_SharedGenerations"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-CORE-TILE-CAPABILITIES","classification":["block","tile-capabilities"],"scope":"core","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_TileDataLayoutCapabilities"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-BLOCK-EXECUTION-DOMAIN-ALLOCATOR","classification":["block","execution-domain-allocator"],"scope":"system","owner":"PTO-BLOCK-MODEL-STATE-CONTROL-STATE","members":["_NextBundleExecutionDomainToken"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-BUNDLE-STATE-001 // ndf: kind=contract level=L1 layer=block status=accepted @@ -85,6 +89,7 @@ This page is a generated reference view of the normative ASL unit. // NDF-END: PTO-REQ-BUNDLE-STATE-001 var _BARG : BundleArgumentRegister; +var _BundleStartEncodedInstruction : bits(64); // C.SETC.TGT owns one successful value snapshot per active block. This marker // is separate from BARG.BPCN because BSTART initializes BPCN before any setter. var _BundleCommitTargetSet : boolean; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/descriptor-state.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/descriptor-state.md index 8e53cc5e0..f113f0991 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/descriptor-state.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/descriptor-state.md @@ -77,6 +77,7 @@ end; func ClearBundleHeaderState() begin + _BundleStartEncodedInstruction = Zeros{64}; _BundleCommitTargetSet = FALSE; _BundleConditionSet = FALSE; _SystemBlockTerminalPending = FALSE; @@ -124,6 +125,11 @@ begin _BundleTileBindings[[index]].source1_subview.materialized = FALSE; _BundleTileBindings[[index]].source1_subview.materialized_index = 0; _BundleTileBindings[[index]].destination_assemble.valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleTileBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleTileBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleTileBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized = FALSE; _BundleTileBindings[[index]].destination_assemble.materialized_index = 0; @@ -140,6 +146,11 @@ begin _BundleSharedBindings[[index]].source0_subview.materialized = FALSE; _BundleSharedBindings[[index]].source0_subview.materialized_index = 0; _BundleSharedBindings[[index]].destination_assemble.valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_identity_valid = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_waiting = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_squashed = FALSE; + _BundleSharedBindings[[index]].destination_assemble.shared_request_execution_domain = 0; + _BundleSharedBindings[[index]].destination_assemble.shared_request_operation_ordinal = 0; _BundleSharedBindings[[index]].destination_assemble.derived.valid = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized = FALSE; _BundleSharedBindings[[index]].destination_assemble.materialized_index = 0; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md index b4be9ea58..1d8bfe1e2 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md @@ -15,7 +15,7 @@ This page is a generated reference view of the normative ASL unit. ## 用途与范围 -本单元定义挂起的 Shared 代次记录如何被清除、复位、查询和中止。Shared 代次是对一个 Shared Tile 进行中的 `B.ASSEMBLE` 构建,在发布之前可以由若干个指令束或参与的 PE 填充。 +本单元拥有清除、复位、查询和中止 Shared 代次记录的状态操作,并负责按 Core 与 invocation 清理实际 PE 请求元数据。Shared 代次是一个进行中的 `B.ASSEMBLE` 构建,可在发布前接收若干贡献。 ## 概念与可见状态 @@ -23,8 +23,8 @@ This page is a generated reference view of the normative ASL unit. `_SharedGenerations` 为每个 Shared Tile ID 保存一条记录,共 `PTO_SHARED_TILE_COUNT` 条记录。每条记录跟踪: - 生命周期标志 `open`、`closed` 和 `published`; -- Shared Tile ID、参与者掩码、父级大小码和父级单元数; -- `covered_cells` 和 `ready_cells` 位图,以及 `arrived_participants` 掩码; +- Shared Tile ID、逻辑参与者掩码、父级大小码和单元数,以及实际 PE 所有权、Core/invocation 身份、操作序号和请求来源; +- `covered_cells` 和 `ready_cells` 位图、`arrived_participants`、每 PE 请求令牌与程序顺序,以及 `released_participants`; - 专用的生产者输入和元数据,以及一个有效标志; - `last_seen`; - Tile 的一个工作副本(`working_tile`),以及 `working_valid` 和 `working_initialized_mask`。 @@ -32,34 +32,36 @@ This page is a generated reference view of the normative ASL unit. ## 规则与交互 -`ClearBundleSharedGenerationState(id)` 复位一个 ID 的记录:它保留 Shared Tile ID,其余所有标志、掩码、位图和输入都变为零或 false。`working_tile` 从当前已发布的 Shared Tile 重新加载。 +`ClearBundleSharedGenerationState(id)` 清除一个 ID 的活动记录,但保留其 `next_operation_ordinal`;它保留 Shared Tile ID,将其他活动标志、掩码、位图、身份和输入复位,并从当前已发布的 Shared Tile 重新加载 `working_tile`。 -`ResetBundleSharedGenerationState` 清除每条记录。`BundleSharedGenerationOpen(id)` 报告 `open` 标志。`AbortBundleSharedGeneration(id)` 与清除该记录相同。 +`ResetBundleSharedGenerationState` 清除每条记录,并将每个 `next_operation_ordinal` 初始化为零。`BundleSharedGenerationOpen(id)` 报告 `open` 标志。`AbortBundleSharedGeneration(id)` 清除一条活动代次记录并保留其下一个序号。 -设计要点:中止只丢弃工作副本。已发布的 Shared Tile 不受影响,工作副本从它重新加载。因此,被拒绝或发生故障的组装会让先前已发布的 Shared 对象保持原样,这正是 Shared 代次契约 `PTO-B-ASSEMBLE-SHARED-GENERATION-001` 所要求的。 +设计要点:中止会丢弃该记录的活动候选、身份、覆盖和释放记账,但不改变已发布的 Shared Tile,也不回退下一个序号。工作副本从已发布的 Tile 重新加载,因此被拒绝或故障的未完成组装会保留原有 Shared 对象,符合 `PTO-B-ASSEMBLE-SHARED-GENERATION-001`。 设计要点:挂起的 Shared 代次在完整的集体发布之前始终位于架构 `S` 寄存器堆之外。其他读者看到的要么是旧对象,要么是完整的新对象,永远不会看到部分组装的 Tile。 +请求 squash 所有者在中止未完成的实际 PE 候选前,会匹配 Core、invocation 和真实到达令牌。清除候选前,它会标记相应的活动及已保存 PE/陷阱绑定,因此上下文恢复无法复活该请求。Squash 会保留已发布代次及其待处理释放。另一个所有者 `RetirePEOwnedSharedGenerationsForInvocation` 会清理目标 Core 与 invocation 的实际 PE 记录,包括未消费的释放元数据,同时保留已发布 Shared Tile、下一个序号及其他 Core、invocation 和聚合记录;内核 End 和 Abort 会调用该清理所有者。 + ## 架构边界 -本单元不打开、扩展或发布代次。这些步骤以及覆盖和参与者检查由 Shared 代次操作数单元拥有。 +本单元不执行范围准入或候选发布。Shared 代次操作数单元拥有低层范围验证和聚合辅助操作;相邻的 per-PE 请求单元拥有编码请求身份、实际 PE 贡献和保留释放。相关所有者链接分别指向这两条路径。 -Shared 代次记录不会被 `ClearBundleHeaderState` 清除。它们在提交后保留,并通过中止、发布或复位关闭。 +Shared 代次记录不会被 `ClearBundleHeaderState` 清除。未完成记录由各自的操作级中止或发布路径关闭;实际 PE 请求元数据还会在 invocation End/Abort 时清理,而聚合记录和已发布 Shared Tile 仍由原有所有者管理。 ## 非规范阅读示例 本示例只用于演示当前 ASL 所有者,不替代规范操作。 -对 Shared Tile 3 的一个双指令束组装在第二个指令束发生故障时已覆盖一半单元。Tile 执行中止 ID 3 的代次。该记录的所有标志都回到 false,其覆盖为空,其工作副本等于已发布的 Shared Tile 3,Shared Tile 3 的读者仍然看到旧对象。 +对 Shared Tile 19 的四 PE 编码组装只有在第四个实际请求提供范围后才发布。如果中止未完成候选,其活动覆盖和请求/释放元数据会被清除,下一个操作序号会保留,先前发布的 Shared Tile 仍可读取。Invocation End 或 Abort 会清理该 Core 与 invocation 的实际 PE 释放记账,而不会清除已发布 Tile 或其他 invocation 的记录。 ## 相关所有者 -- [Shared 代次](../operands/shared-generation.md)打开、扩展并发布代次。 +- [Shared 代次](../operands/shared-generation.md)拥有低层范围和聚合操作;[per-PE Shared 代次请求](../operands/shared-generation-pe-requests.md)拥有编码捕获、贡献和释放。 - [Shared 寄存器](../../../tile/model/state/shared-registers.md)拥有已发布的 Shared Tile。 -- [Tile 执行](../dispatch/tile-execution.md)在操作失败后中止代次。 +- [Tile 执行](../dispatch/tile-execution.md)在操作失败后中止目标代次;[内核生命周期](../../../arch/state/kernel-lifecycle.md)在 invocation End/Abort 时清理实际 PE 请求元数据。 - [B.ASSEMBLE](../../operands/B.ASSEMBLE.md) 是命令页面。 @@ -67,20 +69,218 @@ Shared 代次记录不会被 `ClearBundleHeaderState` 清除。它们在提交 ```asl -// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS"]} +// PTO-UNIT: {"id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION","surface":"block","classification":["model","state","shared-generation-state"],"depends_on":["PTO-ARCH-STATE-PE-EXECUTION-CONTEXT","PTO-BLOCK-MODEL-STATE-CONTROL-STATE","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-DESCRIPTORS","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY"]} +readonly func BundleSharedGenerationStorageRow( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element DIVRM row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element MOD tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_row = (block DIVRM block_columns) + as integer {0..8191}; + let inner_row = (within_block MOD 16) + as integer {0..15}; + return (block_row * 16 + inner_row) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_row = (block MOD block_rows) as integer {0..8191}; + let inner_row = (within_block DIVRM inner_elements) + as integer {0..255}; + return (block_row * 16 + inner_row) as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageColumn( + tile: TileInfo, element: integer {0..524287}) + => integer {0..524287} +begin + if tile.layout == TileLayout_RowMajor then + let row_local_pairs = PackedTileDataTypeUsesRowLocalPairs( + tile.data_type) && tile.columns MOD 2 == 1; + let row_pitch = if row_local_pairs then + ((PackedTileRowPairColumns( + tile.columns as integer {1..65535}) * 2) + as integer {1..65536}) + else tile.columns as integer {1..65535}; + return (element MOD row_pitch) as integer {0..524287}; + elsif tile.layout == TileLayout_ColumnMajor then + return (element DIVRM tile.rows) as integer {0..524287}; + else + let inner_elements = TileFractalInnerElements(tile.data_type) + as integer {4..64}; + let block_rows = (tile.rows DIVRM 16) as integer {1..4096}; + let block_columns = (tile.columns DIVRM inner_elements) + as integer {1..16384}; + let block_elements = (16 * inner_elements) + as integer {64..1024}; + let block = (element DIVRM block_elements) + as integer {0..8191}; + let within_block = (element MOD block_elements) + as integer {0..1023}; + if tile.layout == TileLayout_ZN then + let block_column = (block MOD block_columns) + as integer {0..16383}; + let inner_column = (within_block DIVRM 16) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; + assert tile.layout == TileLayout_NZ; + let block_column = (block DIVRM block_rows) + as integer {0..8191}; + let inner_column = (within_block MOD inner_elements) + as integer {0..63}; + return (block_column * inner_elements + inner_column) + as integer {0..524287}; + end; +end; + +readonly func BundleSharedGenerationStorageCoordinateIsLogical( + tile: TileInfo, element: integer {0..524287}) => boolean +begin + return BundleSharedGenerationStorageRow(tile, element) < tile.rows && + BundleSharedGenerationStorageColumn(tile, element) < tile.columns; +end; + +readonly func BundleSharedGenerationPlacedExtent( + source: TileInfo, destination: TileInfo, + copied_elements: integer {0..524288}, + destination_offset: integer {0..524287}, + previous_extent: integer {0..65535}, + by_column: boolean) => integer {0..65535} +begin + var extent = previous_extent; + for row = 0 to source.valid_rows - 1 looplimit 65536 do + for column = 0 to source.valid_columns - 1 looplimit 65536 do + let source_element = TileLogicalLinearIndex(source, + row as integer {0..65535}, + column as integer {0..65535}) + as integer {0..524287}; + if source_element < copied_elements then + let destination_element = (destination_offset + source_element) + as integer {0..524287}; + if BundleSharedGenerationStorageCoordinateIsLogical( + destination, destination_element) then + let coordinate = if by_column then + BundleSharedGenerationStorageColumn( + destination, destination_element) + else BundleSharedGenerationStorageRow( + destination, destination_element); + if coordinate + 1 > extent then + extent = (coordinate + 1) as integer {0..65535}; + end; + end; + end; + end; + end; + return extent; +end; + +readonly func SharedGenerationPEBit(pe: MemoryAgentId) => bits(4) +begin + var participant = Zeros{4}; + participant[PTOPEMaskBitOfPEIdentity( + pe as integer {0..PTO_MODEL_MEMORY_AGENTS-1})] = '1'; + return participant; +end; + +readonly func BundleSharedGenerationReadyCellsWithRange( + tile: TileInfo, prior_ready: bits(8192), + offset_cells: integer {0..8192}, + coverage_cells: integer {0..8192}) => bits(8192) +begin + let element_bits = TileElementBits(tile.data_type) + as integer {1..64}; + let elements_per_cell = ((32 * 8) DIVRM element_bits) + as integer {1..256}; + let capacity_elements = TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type); + var ready = prior_ready; + for cell = 0 to 8191 do + if cell < coverage_cells then + let target_cell = (offset_cells + cell) as integer {0..8191}; + let first_element = (target_cell * elements_per_cell) + as integer {0..524287}; + var cell_ready = TRUE; + for lane = 0 to 255 do + if lane < elements_per_cell then + let element = (first_element + lane) + as integer {0..524287}; + if element < capacity_elements then + let row = BundleSharedGenerationStorageRow( + tile, element); + let column = BundleSharedGenerationStorageColumn( + tile, element); + if row < tile.valid_rows && + column < tile.valid_columns && + !TileLogicalElementDefined(tile, + element as PackedTileElementIndex) then + cell_ready = FALSE; + end; + end; + end; + end; + ready[target_cell] = if cell_ready then '1' else '0'; + end; + end; + return ready; +end; + func ClearBundleSharedGenerationState(shared_tile_id: SharedTileID) begin let index = SharedTileArrayIndex(shared_tile_id); + let next_operation_ordinal = + _SharedGenerations[[index]].next_operation_ordinal; _SharedGenerations[[index]].open = FALSE; _SharedGenerations[[index]].closed = FALSE; _SharedGenerations[[index]].published = FALSE; _SharedGenerations[[index]].shared_tile_id = shared_tile_id; _SharedGenerations[[index]].participant_mask = Zeros{4}; + _SharedGenerations[[index]].core_identity = 0 as PTOModelCoreIdentity; + _SharedGenerations[[index]].invocation_identity = 0; + _SharedGenerations[[index]].origin = MemoryEventOrigin_NonKernel; + _SharedGenerations[[index]].source_acr = 0 as AccessControlRing; + _SharedGenerations[[index]].producer_site = Zeros{PTO_XLEN}; + _SharedGenerations[[index]].start_instruction = Zeros{64}; + _SharedGenerations[[index]].operation_form = Zeros{7}; + _SharedGenerations[[index]].operation_selector = Zeros{10}; + _SharedGenerations[[index]].operation_ordinal = 0; + _SharedGenerations[[index]].next_operation_ordinal = + next_operation_ordinal; + _SharedGenerations[[index]].actual_pe_owned = FALSE; _SharedGenerations[[index]].parent_size_code = 0; _SharedGenerations[[index]].parent_cell_count = 0; _SharedGenerations[[index]].covered_cells = Zeros{8192}; _SharedGenerations[[index]].ready_cells = Zeros{8192}; _SharedGenerations[[index]].arrived_participants = Zeros{4}; + _SharedGenerations[[index]].released_participants = Zeros{4}; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + _SharedGenerations[[index]].arrival_request_tokens[[pe]] = 0; + _SharedGenerations[[index]].arrival_program_orders[[pe]] = 0; + end; _SharedGenerations[[index]].specialized_inputs_valid = FALSE; _SharedGenerations[[index]].specialized_input0 = Zeros{PTO_XLEN}; _SharedGenerations[[index]].specialized_input1 = Zeros{PTO_XLEN}; @@ -97,8 +297,10 @@ end; func ResetBundleSharedGenerationState() begin for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do - ClearBundleSharedGenerationState( - (Zeros{6} + raw_id) as SharedTileID); + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + ClearBundleSharedGenerationState(shared_tile_id); + _SharedGenerations[[SharedTileArrayIndex(shared_tile_id)]] + .next_operation_ordinal = 0; end; end; @@ -112,5 +314,196 @@ func AbortBundleSharedGeneration(shared_tile_id: SharedTileID) begin ClearBundleSharedGenerationState(shared_tile_id); end; + +// Invocation lifecycle retirement discards only the active-PE Shared +// operation metadata owned by the retiring Core and invocation. Clearing the +// candidate leaves its published Shared parent and monotonically increasing +// operation ordinal intact. Legacy aggregate records have no invocation +// identity and remain under their existing operation-specific owner. +func RetirePEOwnedSharedGenerationsForInvocation( + core: PTOModelCoreIdentity, invocation: integer) +begin + if invocation == 0 then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + if core != original_core then + // Shared-generation storage is in the Core context bank. Select the + // target bank explicitly; selection saves the caller's live PE/Core + // context and the restore below leaves it unchanged. + SelectExecutionContext(core, original_pe); + end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + ClearBundleSharedGenerationState(shared_tile_id); + end; + end; + SaveSelectedCoreExecutionContext(); + if core != original_core then + SelectExecutionContext(original_core, original_pe); + end; +end; + +// A squashed Shared request may also be present in a saved PE image or in a +// nested ACR trap image. Mark every retained copy by its globally unique +// execution-domain token so recovery cannot resurrect the canceled request. +func MarkBundleSharedRequestDomainSquashed(domain: integer) +begin + if domain == 0 then return; end; + for binding = 0 to 3 do + if _BundleSharedBindings[[binding]].valid && + _BundleSharedBindings[[binding]].destination_assemble.valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_identity_valid && + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_execution_domain == domain then + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_squashed = TRUE; + _BundleSharedBindings[[binding]].destination_assemble + .shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _TrapContexts[[acr]].bundle_shared_bindings[[binding]].valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _TrapContexts[[acr]].bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _PEContextBankValid[[core]][pe] == '1' then + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _PEExecutionContexts[[core]][[pe]].trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == + domain then + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _PEExecutionContexts[[core]][[pe]] + .trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; + end; + end; + end; + for binding = 0 to 3 do + if _DefaultPEExecutionContext.bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + for acr = 0 to PTO_ACR_COUNT - 1 do + for binding = 0 to 3 do + if _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]].destination_assemble.valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_identity_valid && + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_execution_domain == domain then + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_squashed = TRUE; + _DefaultPEExecutionContext.trap_contexts[[acr]] + .bundle_shared_bindings[[binding]] + .destination_assemble.shared_request_waiting = TRUE; + end; + end; + end; +end; + +// Squash invalidates a request identity everywhere it is retained before it +// aborts the matching incomplete candidate. Published generations remain +// irrevocable, including their outstanding per-PE completion tokens. +func SquashPEOwnedSharedGenerationRequest( + core: PTOModelCoreIdentity, invocation: integer, domain: integer) +begin + if domain == 0 || invocation == 0 then return; end; + for raw_id = 0 to PTO_SHARED_TILE_COUNT - 1 do + let shared_tile_id = (Zeros{6} + raw_id) as SharedTileID; + let index = SharedTileArrayIndex(shared_tile_id); + if _SharedGenerations[[index]].actual_pe_owned && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].core_identity == core && + _SharedGenerations[[index]].invocation_identity == invocation then + var matching_arrival = FALSE; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if _SharedGenerations[[index]].arrived_participants[ + PTOPEMaskBitOfPEIdentity(pe)] == '1' && + _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + domain then + matching_arrival = TRUE; + end; + end; + if matching_arrival then + MarkBundleSharedRequestDomainSquashed(domain); + AbortBundleSharedGeneration(shared_tile_id); + end; + end; + end; +end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/types.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/types.md index fb2eba286..28ce76719 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/types.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/types.md @@ -315,11 +315,25 @@ type SharedGenerationState of record { published: boolean, shared_tile_id: SharedTileID, participant_mask: bits(4), + core_identity: PTOModelCoreIdentity, + invocation_identity: integer, + origin: MemoryEventOrigin, + source_acr: AccessControlRing, + producer_site: Word, + start_instruction: bits(64), + operation_form: bits(7), + operation_selector: bits(10), + operation_ordinal: integer, + next_operation_ordinal: integer, + actual_pe_owned: boolean, parent_size_code: integer {0..12}, parent_cell_count: integer {0..8192}, covered_cells: bits(8192), ready_cells: bits(8192), arrived_participants: bits(4), + released_participants: bits(4), + arrival_request_tokens: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, + arrival_program_orders: array [[PTO_MODEL_MEMORY_AGENTS]] of integer, specialized_inputs_valid: boolean, specialized_input0: Word, specialized_input1: Word, @@ -347,6 +361,11 @@ type BundleRangeModifier of record { offset: Word, init: boolean, last: boolean, + shared_request_identity_valid: boolean, + shared_request_waiting: boolean, + shared_request_squashed: boolean, + shared_request_execution_domain: integer, + shared_request_operation_ordinal: integer, derived: BundleSubviewDescriptor, materialized: boolean, materialized_index: TileIndex diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/agu/memory.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/agu/memory.md index f58b0d507..0dfe18933 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/agu/memory.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/agu/memory.md @@ -109,6 +109,43 @@ begin right_start < left_start + left_size; end; +pure func ReservationGranuleAddressFor(address: Word) => Word +begin + return address - NaturalToWord( + (UInt(address) MOD PTO_RESERVATION_GRANULE_BYTES) as + integer {0..262144}); +end; + +func InvalidateReservationsForGMWrite(address: Word, + size_bytes: integer {0..262144}) +begin + if size_bytes == 0 then return; end; + if _ReservationValid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(_ReservationAddress), + PTO_RESERVATION_GRANULE_BYTES) then + _ReservationValid = FALSE; + end; + for core = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let saved = _PEExecutionContexts[[core]][[pe]]; + if saved.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(saved.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _PEExecutionContexts[[core]][[pe]].reservation_valid = FALSE; + end; + end; + end; + let default_context = _DefaultPEExecutionContext; + if default_context.reservation_valid && + RangesOverlap(address, size_bytes, + ReservationGranuleAddressFor(default_context.reservation_address), + PTO_RESERVATION_GRANULE_BYTES) then + _DefaultPEExecutionContext.reservation_valid = FALSE; + end; +end; + readonly func ReservationGranuleAddress() => Word begin return _ReservationAddress - NaturalToWord( @@ -256,12 +293,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[[byte_index]]); end; - if _ReservationValid && - RangesOverlap(original_address, 64, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, 64); end; func StoreTranslatedBytesBounded(original_address: Word, @@ -276,12 +308,7 @@ begin WriteMemoryByte(byte_address, value[[byte_index]]); end; end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslatedFillModelBounded( @@ -296,12 +323,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value); end; - if _ReservationValid && - RangesOverlap(original_address, byte_count, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, byte_count); end; func StoreTranslated(original_address: Word, translated_address: Word, @@ -312,12 +334,7 @@ begin NaturalToWord(byte_index as integer {0..262144}); WriteMemoryByte(byte_address, value[(byte_index * 8) +: 8]); end; - if _ReservationValid && - RangesOverlap(original_address, size_bytes, - ReservationGranuleAddress(), - PTO_RESERVATION_GRANULE_BYTES) then - _ReservationValid = FALSE; - end; + InvalidateReservationsForGMWrite(original_address, size_bytes); end; func LoadWithOrder(address: Word, size_bytes: integer {1,2,4,8}, diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/decode.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/decode.md index ffb1c79f8..cc5a360e4 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/decode.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/decode.md @@ -109,7 +109,8 @@ NDF 条款 PTO-REQ-AGU-SRCRTYPE-001 规定寄存器偏移 AGU 形式的原始 `1 type ScalarExecutionStatus of enumeration { ScalarExecution_Executed, - ScalarExecution_Rejected + ScalarExecution_Rejected, + ScalarExecution_Blocked }; pure func ScalarHandlerWritesTPC(handler: ScalarSemanticHandler) => boolean diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/sys.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/sys.md index e05340430..71eb33aed 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/sys.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/sys.md @@ -90,7 +90,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-SYS","surface":"scalar","classification":["model","dispatch","sys"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-SCALAR-ACRC","PTO-SCALAR-ACRE","PTO-SCALAR-ASSERT","PTO-SCALAR-BC-IALL","PTO-SCALAR-BC-IVA","PTO-SCALAR-BSE","PTO-SCALAR-BWE","PTO-SCALAR-BWI","PTO-SCALAR-BWT","PTO-SCALAR-C-EBREAK","PTO-SCALAR-C-SSRGET","PTO-SCALAR-DC-CISW","PTO-SCALAR-DC-CIVA","PTO-SCALAR-DC-CSW","PTO-SCALAR-DC-CVA","PTO-SCALAR-DC-IALL","PTO-SCALAR-DC-ISW","PTO-SCALAR-DC-IVA","PTO-SCALAR-DC-ZVA","PTO-SCALAR-EBREAK","PTO-SCALAR-FENCE-D","PTO-SCALAR-FENCE-I","PTO-SCALAR-HL-SSRGET","PTO-SCALAR-HL-SSRSET","PTO-SCALAR-IC-IALL","PTO-SCALAR-IC-IVA","PTO-SCALAR-LSRGET","PTO-SCALAR-MODEL-DISPATCH-DECODE","PTO-SCALAR-MODEL-SYS-REGISTERS","PTO-SCALAR-SETC-TGT","PTO-SCALAR-SSRGET","PTO-SCALAR-SSRSET","PTO-SCALAR-SSRSWAP","PTO-SCALAR-SYNC-CORE","PTO-SCALAR-TLB-IA","PTO-SCALAR-TLB-IALL","PTO-SCALAR-TLB-IAV","PTO-SCALAR-TLB-IV"]} func ExecuteDecodedSYSForm(instruction: bits(48), form: integer {0..PTO_SCALAR_FORM_COUNT-1}) begin @@ -175,6 +175,7 @@ begin ScalarDecodedBits4(instruction, form, ScalarField_PRED_IMM), ScalarDecodedBits4(instruction, form, ScalarField_SUCC_IMM)); when ScalarOperation_FENCE_I => FenceInstruction(); + when ScalarOperation_SYNC_CORE => ExecuteSyncCore(); when ScalarOperation_C_SSRGET => ExecuteCompressedSystemRegisterGet( diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/top-level.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/top-level.md index 112626fa1..38ba23aee 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/top-level.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/dispatch/top-level.md @@ -87,7 +87,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-FSU"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL","surface":"scalar","classification":["model","dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP","PTO-SCALAR-MODEL-DISPATCH-AGU","PTO-SCALAR-MODEL-DISPATCH-ALU","PTO-SCALAR-MODEL-DISPATCH-AMO","PTO-SCALAR-MODEL-DISPATCH-BRU","PTO-SCALAR-MODEL-DISPATCH-FSU","PTO-SCALAR-MODEL-DISPATCH-SYS","PTO-SCALAR-SYNC-CORE"],"catalog_projection":{"catalog":"scalar-forms","family_constraints":[],"isa":"PTO Instruction Set Architecture","schema_version":2,"reviewed_encoding_overlaps":[{"broad_form_id":"addtpc_32_e5aa0f0abca3","narrow_form_id":"setret_32_72003dcf3b59","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"c_movi_16_2c84faf1bc72","narrow_form_id":"c_setret_16_335651ef6c27","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"},{"broad_form_id":"hl_addtpc_48_2e8e692eea09","narrow_form_id":"hl_setret_48_302bb793a800","reason":"narrow form occupies RegDst == 10, which the broad form excludes via its not-equal constraint"}]}} // NDF-BEGIN: PTO-REQ-SCALAR-BODY-ENTRY-001 // ndf: kind=contract level=L1 layer=scalar status=accepted @@ -110,6 +110,10 @@ begin end; let form = decoded as integer {0..PTO_SCALAR_FORM_COUNT-1}; let operation = ScalarOperationOfForm(form); + if operation == ScalarOperation_SYNC_CORE && + !PreflightSyncCoreEnvelope(instruction, form, length_bits) then + return ScalarExecution_Rejected; + end; if BundleIsActive() && !BundleBodyIsActive() then EnterBundleBody(); end; @@ -129,6 +133,60 @@ begin SetFault(Fault_IllegalInstruction, ReadPC()); return ScalarExecution_Rejected; end; + var tracks_gm = FALSE; + var request_class = GMRequest_Scalar; + var gm_address = Zeros{PTO_XLEN}; + var gm_order = MemoryOrder_Relaxed; + if ScalarFamilyOfForm(form) == ScalarSemantic_AGU then + tracks_gm = TRUE; + let action = ScalarAGUActionOfForm(form); + let address_kind = ScalarAGUAddressKindOfForm(form); + let update_mode = ScalarAGUUpdateModeOfForm(form); + let base = ScalarDecodedAGUBase(instruction, form, action, + address_kind); + let offset = ScalarDecodedAGUOffset(instruction, form, + address_kind); + gm_address = if update_mode == AddressUpdate_PostIndex then base + else base + offset; + if action == ScalarAGU_Prefetch then + request_class = GMRequest_Prefetch; + end; + elsif ScalarFamilyOfForm(form) == ScalarSemantic_AMO then + tracks_gm = TRUE; + request_class = GMRequest_Atomic; + gm_order = ScalarDecodedMemoryOrder(instruction, form); + if operation == ScalarOperation_DMA then + gm_address = ReadDecodedScalarRegister(instruction, form, + ScalarField_SrcL); + else + gm_address = ScalarDecodedAtomicAddress(instruction, form, + ScalarField_SrcL); + end; + end; + var obligation_slot: GMObligationIndex = 0; + var obligation_identity : integer = 0; + var obligation_invocation : integer = 0; + let tracks_kernel_gm = tracks_gm && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0; + if tracks_kernel_gm then + obligation_slot = RegisterKernelGMObligation(request_class, + _CurrentEncodedInstruction, ReadPC(), _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, + 0 as TileIndex, Zeros{PTO_XLEN}, _Tiles[[0]], + _BundleExecutionMask, gm_address, Zeros{PTO_XLEN}, gm_order, + TRUE, FALSE, FALSE, FALSE, TRUE); + IssueGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + obligation_identity = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].identity; + obligation_invocation = + _GMObligations[[_CurrentModelCore]][[_CurrentMemoryAgent]] + [[obligation_slot]].invocation; + end; case ScalarFamilyOfForm(form) of when ScalarSemantic_AGU => ExecuteDecodedAGUForm(instruction, form); when ScalarSemantic_ALU => ExecuteDecodedALUForm(instruction, form); @@ -138,9 +196,22 @@ begin when ScalarSemantic_SYS => ExecuteDecodedSYSForm(instruction, form); otherwise => unreachable; end; + if tracks_kernel_gm then + if _LastFault == Fault_None then + CompleteGMObligationForIdentity(_CurrentModelCore, + _CurrentMemoryAgent, obligation_slot, + obligation_invocation, obligation_identity); + else + FaultGMObligation(_CurrentModelCore, _CurrentMemoryAgent, + obligation_slot); + end; + end; if _LastFault != Fault_None then return ScalarExecution_Rejected; end; + if _ScalarExecutionBlocked then + return ScalarExecution_Blocked; + end; if !ScalarHandlerWritesTPC(ScalarHandlerOfForm(form)) then WriteTPC(ReadTPC() + NaturalToWord(length_bits DIV 8)); end; diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/sys/semantics.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/sys/semantics.md index 9cd0e815a..248548a7b 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/sys/semantics.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/model/sys/semantics.md @@ -95,7 +95,7 @@ This page is a generated reference view of the normative ASL unit. ```asl -// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-SCALAR-MODEL-AMO-SEMANTICS","PTO-BLOCK-MODEL-STATE-BARG"]} +// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-SYS-SEMANTICS","surface":"scalar","classification":["model","sys","semantics"],"depends_on":["PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-STATE-BARG","PTO-SCALAR-MODEL-AMO-SEMANTICS"]} // PTO-REQ-SCALAR-SYS-001, PTO-REQ-MEMORY-RC-001: PTO base SSR access, // architectural time, and data/instruction fences. @@ -116,6 +116,10 @@ func BeginArchitecturalInstructionAttempt() begin _LastFault = Fault_None; _FaultAddress = Zeros{PTO_XLEN}; + _ScalarExecutionBlocked = FALSE; + _CurrentProgramOrder = _CurrentProgramOrder + 1; + _PEProgramOrder[[_CurrentModelCore]][[_CurrentMemoryAgent]] = + _CurrentProgramOrder; AdvanceArchitecturalTime(); end; @@ -336,6 +340,7 @@ begin ScalarOperation_DC_IVA, ScalarOperation_DC_ZVA, ScalarOperation_EBREAK, ScalarOperation_FENCE_D, ScalarOperation_FENCE_I, + ScalarOperation_SYNC_CORE, ScalarOperation_HL_SSRGET, ScalarOperation_HL_SSRSET, ScalarOperation_IC_IALL, ScalarOperation_IC_IVA, ScalarOperation_SSRGET, ScalarOperation_SSRSET, diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/sys/SYNC.CORE.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/sys/SYNC.CORE.md new file mode 100644 index 000000000..a6f44c0a6 --- /dev/null +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/scalar/sys/SYNC.CORE.md @@ -0,0 +1,138 @@ + +# SYNC.CORE + +**Normative ASL source:** `asl/scalar/sys/SYNC.CORE.asl` + +Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations. + +## Normative identity {#PTO-INST-SCALAR-SYNC-CORE} + + + +The current instruction contract is owned by the ASL source linked above. + +## Reader guide + +> **Non-normative explanation.** Exact behavior remains owned by the ASL source and generated contract on this page. + + + + + +## Assembly + +```asm +sync.core +``` + +## Encoding + +| Form | Kind | Bits | Match / mask | Constraints | +| --- | --- | ---: | --- | --- | +| sync_core_32_0330a02b7c32 | L32 | 32 | 0x0330a02b / 0xffffffff | [] | + +## Encoding class + +- **Class:** `standalone-encoded` +- **Standalone opcode:** `yes` + +## Operands and results + +This instruction has no explicit operand fields. + +## Decode + + +```asl +readonly func InstructionContractOperation_SYNC_CORE() => ScalarOperation +begin + return ScalarOperation_SYNC_CORE; +end; +``` + + +## Block composition + +```asm +The only canonical body is BSTART.SYS FALL, sync.core, BSTOP. +``` + +## Operation + + +```asl +readonly func InstructionContractHandler_SYNC_CORE() => ScalarSemanticHandler +begin + return ScalarHandler_SyncCore; +end; + +pure func InstructionContractRequiresSystemBlock_SYNC_CORE() => boolean +begin + return TRUE; +end; + +func ExecuteSyncCore() +begin + if _CurrentMemoryOrigin == MemoryEventOrigin_Handler then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !_KernelInvocationActiveByCore[[_CurrentModelCore]] || + _CurrentKernelInvocation == 0 then + SetFault(Fault_BundleControl, ReadTPC()); + return; + end; + if !VerificationGMProgressIsDeferred() then + ProgressKernelGMObligationsForCore(_CurrentModelCore, + _CurrentKernelInvocation); + end; + if _LastFault != Fault_None then return; end; + SyncCore(); +end; + +pure func InstructionContractParticipantCount_SYNC_CORE() => integer {4} +begin + return 4; +end; + +pure func InstructionContractExactMatch_SYNC_CORE() => bits(32) +begin + return '00000011001100001010000000101011'; +end; + +pure func InstructionContractExactMask_SYNC_CORE() => bits(32) +begin + return Ones{32}; +end; +``` + + +## Defaults and encoded zero + +- SYNC.CORE has no operands and includes PE0, PE1, PE2, and PE3. + +## Legality + +- Only the exact 32-bit word 0x0330a02b decodes as SYNC.CORE. The active bundle must be a Fallthrough SYS block with exactly one SYNC.CORE body operation and a required BSTOP. + +## State effects + +- A blocked PE does not advance its PC. On completion, the barrier generation is retained until each parked PE consumes its release once, and each participant's current local reservation is invalidated. + +## Memory effects and ordering + +### Memory effects + +- Completion orders earlier qualifying GM operations before later qualifying GM operations for every participant pair, after those earlier operations reach their existing completion and visibility point. + +### Ordering + +- A PE parks at SYNC.CORE until all four PEs have irrevocably arrived at the same static instruction in the same dynamic order and invocation and every earlier GM obligation has completed. Arrival cannot be irrevocable while older work may still fault or require recovery. + +## Exceptions + +- The complete SYS envelope is validated before collective arrival. Wrong block composition raises Fault_BundleControl; a nonmatching instruction encoding raises Fault_IllegalInstruction. + +## Examples + +- sync.core diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/load-store.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/load-store.md index 5334d9cbb..c92d009cb 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/load-store.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/load-store.md @@ -83,7 +83,7 @@ U4X2 Tile 的 `TSTORE` 以值 `0x5` 写入元素 `(0, 1)`。地址为行基址 ```asl -// 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","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA"]} +// PTO-UNIT: {"id":"PTO-TILE-MODEL-MEMORY-LOAD-STORE","surface":"tile","classification":["model","memory","load-store"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA","PTO-TILE-MODEL-MEMORY-STRIDE"]} pure func DecodeTileMemoryElementRaw(raw: Word, data_type: TileDataType, high_nibble: boolean) => Word @@ -231,6 +231,139 @@ begin CompleteMemoryReplay(); end; +readonly func TileStoreSourceGeneration(source: TileIndex) => Word +begin + let slot = BundleLocalGenerationSlotForSource(source); + if slot < 64 && _LocalGenerations[[slot]].generation_identity_valid then + return _LocalGenerations[[slot]].generation_instance; + end; + return Zeros{PTO_XLEN}; +end; + +readonly func TileStoreHasActiveElements(tile: TileInfo, + execution_mask: + BundleExecutionMaskBinding) + => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then return TRUE; end; + end; + end; + return FALSE; +end; + +func TileStoreFootprintIsValidated(tile: TileInfo, + base_address: Word, row_stride_bytes: Word, + execution_mask: BundleExecutionMaskBinding) => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + 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 probe.fault != Fault_None then return FALSE; end; + end; + end; + end; + return TRUE; +end; + +type TileStoreProgressResult of enumeration { + TileStoreProgress_Faulted, + TileStoreProgress_Pending, + TileStoreProgress_Completed +}; + +func ExecuteTileStoreSnapshotProgress(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + start_element: integer {0..32768}, + beat_budget: integer {0..32768}, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => TileStoreProgressResult +begin + BeginMemoryReplay(request_pc); + var committed_beats : integer {0..32768} = 0; + var next_element = start_element; + var progress_budget_reached = FALSE; + var logical_element : integer {0..32768} = 0; + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if logical_element >= start_element && + !progress_budget_reached && + BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + if beat_budget != 0 && committed_beats >= beat_budget then + progress_budget_reached = TRUE; + else + 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 + FlushMemoryReplay(); + return TileStoreProgress_Faulted; + end; + let translated = probe.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, + memory_order); + CommitMemoryReplayEffect(); + next_element = (logical_element + 1) + as integer {0..32768}; + committed_beats = (committed_beats + 1) + as integer {0..32768}; + if tracked then + _GMObligations[[core]][[pe]][[obligation_slot]] + .progress_element = next_element; + MarkGMObligationIrrevocable(core, pe, + obligation_slot); + end; + if beat_budget != 0 && + committed_beats >= beat_budget then + progress_budget_reached = TRUE; + end; + end; + end; + logical_element = (logical_element + 1) + as integer {0..32768}; + end; + end; + CompleteMemoryReplay(); + return if progress_budget_reached && next_element < logical_element then + TileStoreProgress_Pending else TileStoreProgress_Completed; +end; + +func ExecuteTileStoreSnapshot(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => boolean +begin + let result = ExecuteTileStoreSnapshotProgress(tile, base_address, + row_stride_bytes, request_pc, memory_order, 0, 0, tracked, core, pe, + obligation_slot); + return result == TileStoreProgress_Completed; +end; + func TSTORE(base_address: Word, row_stride_bytes: Word, source: TileIndex) begin let tile = _Tiles[[source]]; @@ -243,36 +376,143 @@ begin if TileLayoutIsCube(tile.layout) then assert TileCubeDescriptorLegal(tile); end; - BeginMemoryReplay(ReadBPC()); - for row = 0 to tile.valid_rows - 1 looplimit 65536 do - for column = 0 to tile.valid_columns - 1 looplimit 65536 do - if BundleExecutionMaskActiveAt( - tile.layout, row as integer {0..65535}, - column as integer {0..65535}) then - 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 - FlushMemoryReplay(); - return; - end; - let translated = probe.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()); - CommitMemoryReplayEffect(); + let request_pc = ReadBPC(); + let order = CurrentBundleMemoryOrder(); + let tracked = _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0 && + TileStoreHasActiveElements(tile, _BundleExecutionMask); + if !tracked then + let completed = ExecuteTileStoreSnapshot(tile, + base_address, row_stride_bytes, + request_pc, order, FALSE, _CurrentModelCore, + _CurrentMemoryAgent, 0 as GMObligationIndex); + return; + end; + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let slot = RegisterKernelGMObligation(GMRequest_Tile, + _BundleStartEncodedInstruction, request_pc, _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + TileStoreSourceGeneration(source), tile, _BundleExecutionMask, + base_address, row_stride_bytes, order, TRUE, FALSE, FALSE, + FALSE, TRUE); + if VerificationGMProgressIsDeferred() && + TileStoreFootprintIsValidated(tile, base_address, row_stride_bytes, + _BundleExecutionMask) then + ResolveGMObligationFaultRisk(core, pe, slot); + MarkGMObligationCapturedTStoreProgress(core, pe, slot); + return; + end; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + IssueGMObligation(core, pe, slot); + if ExecuteTileStoreSnapshot(tile, base_address, row_stride_bytes, + request_pc, order, TRUE, core, pe, slot) then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + else + FaultGMObligation(core, pe, slot); + end; +end; + +func ProgressKernelGMObligationsForCore(core: PTOModelCoreIdentity, + invocation: integer) +begin + if VerificationGMProgressIsDeferred() then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + let original_invocation = _CurrentKernelInvocation; + let original_history_override_valid = + _MemoryEventCollectiveHistoryOverrideValid; + let original_history_override = _MemoryEventCollectiveHistoryOverride; + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + for slot_number = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let slot = slot_number as GMObligationIndex; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.captured_tstore_progress && + obligation.request_class == GMRequest_Tile && + (obligation.state == GMObligation_Validated || + obligation.state == GMObligation_Issued) then + SelectExecutionContext(core, pe); + SaveSelectedPEExecutionContext(); + var request_context = + _PEExecutionContexts[[core]][[pe]]; + _CurrentKernelInvocation = obligation.invocation; + _CurrentProgramOrder = obligation.submission_order; + _CurrentCollectiveEpoch = obligation.collective_epoch; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _MemoryEventCollectiveHistoryOverrideValid = TRUE; + _MemoryEventCollectiveHistoryOverride = + obligation.collective_history_sequence; + _CurrentEncodedInstruction = obligation.encoded_request; + _BundleStartEncodedInstruction = obligation.encoded_request; + _BundleArgument = obligation.bundle_argument; + _BundleOperation = obligation.descriptor; + _BundleTileBindings = obligation.bundle_tile_bindings; + _BundleScalarBindings = obligation.bundle_scalar_bindings; + _BundleSharedBindings = obligation.bundle_shared_bindings; + _BundleDimensions = obligation.bundle_dimensions; + _BundleExecutionMask = obligation.execution_mask; + _BPC = obligation.instruction_pc; + SetCurrentACR(obligation.submission_acr); + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + if obligation.state == GMObligation_Validated then + IssueGMObligation(core, pe, slot); + end; + let result = ExecuteTileStoreSnapshotProgress( + obligation.source_snapshot, + obligation.base_address, + obligation.row_stride_bytes, + obligation.instruction_pc, + obligation.memory_order, + obligation.progress_element, + _VerificationGMProgressBeatBudget, + TRUE, core, pe, slot); + if result == TileStoreProgress_Completed then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + elsif result == TileStoreProgress_Faulted then + FaultGMObligation(core, pe, slot); + end; + if _LastFault == Fault_None then + // The scheduler temporarily installed the captured + // request. Restore the owner's live kernel/parked/handler + // context, while carrying forward reservation invalidation + // caused by its real GM writes. + request_context.reservation_valid = _ReservationValid; + LoadPEExecutionContext(request_context); + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + end; + _CurrentKernelInvocation = original_invocation; + else + // A real service fault belongs to the captured request + // owner. Persist its trap/restart state before restoring + // the caller's selected context. + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + _CurrentKernelInvocation = original_invocation; + end; + end; + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = + original_history_override; end; end; end; - CompleteMemoryReplay(); + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = original_history_override; + _CurrentKernelInvocation = original_invocation; end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/shared-movement.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/shared-movement.md index be0b91745..e836bbe01 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/shared-movement.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/memory/shared-movement.md @@ -210,6 +210,40 @@ begin return; end; let single_issuer = PEMaskPopulation(pe_mask) == 1; + let actual_pe_assembly = _CurrentPEContextValid && + _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble.init; + var range_payload_elements: integer {0..524288} = 0; + var actual_pe_source_offset_elements: integer {0..524287} = 0; + if actual_pe_assembly then + let assemble = _BundleSharedBindings[[0]].destination_assemble; + let writer_size = assemble.size_code as integer {1..12}; + let writer_cells = ((TileSizeCodeBytes(writer_size) DIVRM + PTO_TILE_CELL_BYTES) * 4) as integer {4..8192}; + let element_bits = TileElementBits(data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + range_payload_elements = if single_issuer then + TileLogicalElementCapacity(tile.capacity_bytes, tile.data_type) + else writer_payload_elements; + // The PE's logical source stripe follows the retained PE_MASK shape. + // B.ASSEMBLE.offset is a destination range and is applied later by the + // Shared candidate owner; it does not change which GM elements this PE + // reads or the local index of that source fragment. + let elements_per_pe_region = (TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type) DIVRM 4) + as integer {0..131072}; + // A singleton issuer retains PTO-TLOAD-MEMORY-001's whole-parent + // source range even when it uses B.ASSEMBLE for the destination. + // Only a multi-PE assembly maps each executing PE to its own logical + // source stripe; the explicit B.ASSEMBLE offset remains destination + // range metadata in either case. + actual_pe_source_offset_elements = if single_issuer then 0 else + ((_CurrentMemoryAgent as integer {0..3}) * + elements_per_pe_region) as integer {0..524287}; + end; var single_agent: MemoryAgentId = 0; if single_issuer then for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do @@ -223,6 +257,7 @@ begin // record. Check every participating issuer through the ordinary // translated probe before publishing the complete carrier state. var packed_zero_fast = PackedTileDataTypeIsFourBit(tile.data_type) && + !actual_pe_assembly && !_MemoryEventCaptureEnabled && !SharedTileRecord(shared_tile_id).descriptor_valid && tile.valid_rows == tile.rows && @@ -272,11 +307,24 @@ begin 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 element_index = element as integer {0..524287}; let region = SharedTileElementRegion(tile, element); - let selected = single_issuer || - pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; + let actual_pe = _CurrentMemoryAgent as integer {0..3}; + let in_actual_pe_source_range = !actual_pe_assembly || + (element_index >= actual_pe_source_offset_elements && + element_index < actual_pe_source_offset_elements + + range_payload_elements); + let selected = if _CurrentPEContextValid then + (single_issuer || + (region == actual_pe && + pe_mask[PTOPEMaskBitOfPEIdentity(actual_pe)] == '1')) && + in_actual_pe_source_range + else single_issuer || + pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; if selected then - let agent = if single_issuer then single_agent + let agent = if _CurrentPEContextValid then + _CurrentMemoryAgent + else if single_issuer then single_agent else region as MemoryAgentId; let high_nibble = TileMemoryStridedByteHighNibble( column as integer {0..65535}, tile.data_type); @@ -298,7 +346,11 @@ begin RecordLoadEventForAgent(agent, translated, TileMemoryElementBytes(tile.data_type), raw, CurrentBundleMemoryOrder()); - tile = TileInfoWithLogicalElement(tile, element, + let destination_element = if actual_pe_assembly then + (element_index - actual_pe_source_offset_elements) + as PackedTileElementIndex + else element; + tile = TileInfoWithLogicalElement(tile, destination_element, LoadTileMemoryElement(translated, tile.data_type, high_nibble)); tile.defined_valid_elements = @@ -307,7 +359,7 @@ begin end; end; end; - if single_issuer || pe_mask == '1111' then + if !actual_pe_assembly && (single_issuer || pe_mask == '1111') then tile.defined_valid_elements = (tile.valid_rows * tile.valid_columns) as integer {0..524288}; tile.contents_defined = TRUE; @@ -326,7 +378,13 @@ begin assert tile.allocated; // PE_MASK selects consumer PEs. The first fault stops the request and // stores completed before it remain visible. - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then for row = 0 to tile.valid_rows - 1 looplimit 65536 do @@ -362,7 +420,16 @@ func TMOVSharedToLocalPerPE(destination: TileIndex, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + // A real PE request may materialize all peers' eligible descriptors for + // preflight, but it writes only its own private Local bank. The contextless + // aggregate helper retains its established all-selected batch behavior. + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let source_tile = per_pe_tiles[[agent]]; @@ -395,7 +462,13 @@ func TSTORESharedPerPE(base_addresses: CorePEWords, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let tile = per_pe_tiles[[agent]]; @@ -470,12 +543,9 @@ end; // resolved from the four PE-private peer_tid values. The bundle dispatcher // performs collective readiness and peer-range preflight before this read-old, // write-new local copy. No Shared register or global-memory event is involved. -func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +func GMOVFromSourceTile(destination: TileIndex, source_tile: TileInfo) begin - assert UInt(peer_tid) < 4; - let source_tile = _Tiles[[source]]; - let source_payload = source_tile.payload; - _Tiles[[destination]].payload = source_payload; + _Tiles[[destination]].payload = source_tile.payload; _Tiles[[destination]].defined_elements = source_tile.defined_elements; _Tiles[[destination]].packed_defined_elements = source_tile.packed_defined_elements; @@ -483,5 +553,11 @@ begin source_tile.defined_valid_elements; _Tiles[[destination]].contents_defined = source_tile.contents_defined; end; + +func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +begin + assert UInt(peer_tid) < 4; + GMOVFromSourceTile(destination, _Tiles[[source]]); +end; ``` diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/feature-map-descriptors.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/feature-map-descriptors.md index 5f74010de..e36d650b6 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/feature-map-descriptors.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/feature-map-descriptors.md @@ -82,7 +82,7 @@ This page is a generated reference view of the normative ASL unit. ```asl // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","surface":"tile","classification":["model","state","feature-map-descriptors"],"depends_on":["PTO-TILE-MODEL-STATE-LOCAL-REGISTERS"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} type TileFeatureMapLayout of enumeration { TileFeatureMapLayout_NC1HWC0, @@ -113,8 +113,10 @@ type TileFeatureMapDescriptor of record { transposed: boolean }; -var _TileFeatureMapDescriptors : - array [[PTO_TILE_REGISTER_COUNT]] of TileFeatureMapDescriptor; +type TileFeatureMapDescriptorSnapshot of array [[PTO_TILE_REGISTER_COUNT]] + of TileFeatureMapDescriptor; + +var _TileFeatureMapDescriptors : TileFeatureMapDescriptorSnapshot; readonly func ReadTileFeatureMapDescriptor( index: TileIndex) => TileFeatureMapDescriptor diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/local-registers.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/local-registers.md index d565f145f..15b2662c1 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/local-registers.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/local-registers.md @@ -81,12 +81,13 @@ This page is a generated reference view of the normative ASL unit. ```asl // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","surface":"tile","classification":["model","state","local-registers"],"depends_on":["PTO-TILE-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-TILE-SHARED","classification":["tile","shared"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_SharedTiles"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-TILE-001 // ndf: kind=contract level=L1 layer=tile status=accepted -// Local Tile registers and their allocation masks MUST be the state defined by +// Each Core has four independent PE-owned Local Tile register banks. Local +// Tile registers and their allocation masks MUST be the state defined by // [[PTO-STATE-TILE-LOCAL]]. Each T/U/M/N hand MUST resolve #1 as its newest // published generation and shift older live generations toward #16 whenever // a new destination for that hand publishes. Source generations MUST persist. diff --git a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/shared-registers.md b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/shared-registers.md index 08ca6ee9b..bc342cec8 100644 --- a/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/shared-registers.md +++ b/docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/tile/model/state/shared-registers.md @@ -92,7 +92,12 @@ S5 为空。PE0 以掩码 `1000` 并请求发布,向其写入一个已定义 // published visibility MUST remain distinct. Every Shared source consumer MUST // wait/no-op before payload access until whole_parent_ready and published are // both true; producer and consumer masks are independent. +// Independently executed direct producers MUST capture actual PE-owned +// fragments under an operation identity and MUST publish only through the +// existing atomic update. A completed Shared initialized_mask MUST NOT be +// reused as contribution state for a later dynamic operation. // NDF-END: PTO-B-SHARED-WHOLE-PARENT-READY-001 + pure func SharedTileArrayIndex(shared_tile_id: SharedTileID) => SharedTileIndex begin return UInt(shared_tile_id) as SharedTileIndex; diff --git a/docs/site/src/components/encodingModel.test.ts b/docs/site/src/components/encodingModel.test.ts index 7c9e42ef8..887e734ad 100644 --- a/docs/site/src/components/encodingModel.test.ts +++ b/docs/site/src/components/encodingModel.test.ts @@ -23,7 +23,7 @@ function range(bits: string): {lsb: number; msb: number} { test('all released catalog encodings have exact exhaustive WaveDrom segments', () => { const forms = catalogForms(); - assert.equal(forms.length, 562); + assert.equal(forms.length, 563); const lengthCounts = new Map(); let encodingWordCount = 0; let multiwordCount = 0; @@ -77,9 +77,9 @@ test('all released catalog encodings have exact exhaustive WaveDrom segments', ( } } - assert.equal(encodingWordCount, 563); + assert.equal(encodingWordCount, 564); assert.equal(multiwordCount, 1); - assert.deepEqual(Object.fromEntries(lengthCounts), {16: 34, 32: 337, 48: 190, 64: 1}); + assert.deepEqual(Object.fromEntries(lengthCounts), {16: 34, 32: 338, 48: 190, 64: 1}); }); test('B.FPATR retains names for mask-fixed operand pieces', () => { diff --git a/docs/status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md b/docs/status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md new file mode 100644 index 000000000..84ab11454 --- /dev/null +++ b/docs/status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md @@ -0,0 +1,177 @@ +--- +{ + "id": "ADR-SCALAR-0007", + "title": "SYNC.CORE collective architectural phase barrier", + "title_zh": "SYNC.CORE 集合式架构阶段屏障", + "status": "accepted", + "authors": [ + "ckwllawliet <641433195@qq.com>" + ], + "approvers": [ + "ckwllawliet <641433195@qq.com>" + ], + "created": "2026-10-08", + "accepted": "2026-10-08", + "rejected": null, + "superseded": null, + "baseline": "e182c9b70d54a3a264bac54af9b915a0e43bb519", + "target_releases": [ + "unassigned" + ], + "affected_ndf": [ + "PTO-SYNC-CORE-DECISION-BINDING-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001", + "PTO-REQ-STATE-001", + "PTO-REQ-TILE-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SPECULATION-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001", + "PTO-TLOAD-MEMORY-001", + "PTO-TMOV-CONTRACT-001", + "PTO-BSTART-TLOAD-WEIGHT-COOPERATIVE-001", + "PTO-BSTART-TIMG2COL-COOPERATIVE-001" + ], + "affected_units": [ + "PTO-SCALAR-SYNC-CORE", + "PTO-ARCH-DATA-TYPES-MEMORY-MODEL", + "PTO-ARCH-DATA-TYPES-TRAP-CONTEXT", + "PTO-ARCH-DISPATCH-TOP-LEVEL", + "PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION", + "PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS", + "PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS", + "PTO-ARCH-MEMORY-MODEL-ORDERING", + "PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY", + "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT", + "PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS", + "PTO-ARCH-STATE-PE-EXECUTION-CONTEXT", + "PTO-ARCH-STATE-CORE-SYNCHRONIZATION", + "PTO-ARCH-STATE-KERNEL-LIFECYCLE", + "PTO-ARCH-STATE-TRAP-CONTEXT", + "PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING", + "PTO-BLOCK-MODEL-COMMIT-VALIDATION", + "PTO-BLOCK-MODEL-DISPATCH-START", + "PTO-BLOCK-MODEL-LIFECYCLE-RESET", + "PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS", + "PTO-BLOCK-MODEL-STATE-CONTROL-STATE", + "PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE", + "PTO-SCALAR-MODEL-DISPATCH-DECODE", + "PTO-SCALAR-MODEL-DISPATCH-SYS", + "PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL", + "PTO-SCALAR-MODEL-SYS-SEMANTICS", + "PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS", + "PTO-TILE-MODEL-STATE-LOCAL-REGISTERS", + "PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP", + "PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION", + "PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH", + "PTO-TILE-MODEL-MEMORY-LOAD-STORE", + "PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU", + "PTO-BLOCK-MODEL-DISPATCH-TLSU-GMOV", + "PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS", + "PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR", + "PTO-BLOCK-MODEL-STATE-SHARED-GENERATION", + "PTO-BLOCK-MODEL-DISPATCH-WEIGHT-SHARED-EXEC", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-EXECUTION", + "PTO-BLOCK-MODEL-STATE-TYPES", + "PTO-SCALAR-MODEL-AGU-MEMORY", + "PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT", + "PTO-TILE-TLOAD", + "PTO-TILE-TMOV", + "PTO-TILE-MODEL-STATE-SHARED-REGISTERS", + "PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-SCHEMA" + ], + "resolves": [], + "supersedes": [], + "superseded_by": [], + "implementation_issue": "https://github.com/PTO-ISA/pto-spec/issues/360", + "release_impact": "required", + "release_boundary": false, + "interface_change": true, + "amendments": [], + "legacy_ids": [] +} +--- + +# ADR-SCALAR-0007: SYNC.CORE collective architectural phase barrier + +## Summary + +Introduce one ordinary Scalar SYS collective synchronization interface. Its current meaning belongs to the named ASL/NDF owners, not this decision record. [Issue #360’s accepted r2 design comment](https://github.com/PTO-ISA/pto-spec/issues/360#issuecomment-6052737773) records the immutable baseline, decisions, executable witnesses, compatibility, and remaining downstream obligations. + +## Context and baseline + +The baseline has a local FENCE.D interface and operation-specific Tile collectives, but no general four-PE execution rendezvous. Four PE-private GPR files coexist with a singleton executable program-control/trap context. That carrier cannot alone prove independent peer arrival, waiting, interrupt return, or repeated-generation release. The user confirmed shared program code and an identical initial entry, with independent subsequent PE execution contexts. + +## Decision and ownership + +Select the new SYNC.CORE interface and exact encoding in the linked accepted design. Complete independent PE context, shared Core synchronization, kernel lifecycle, earlier GM obligations, and cross-agent memory relation owners together. Existing single-selected-context helpers may remain compatibility accessors only when they operate on the selected PE's authoritative context. + +This is one new Scalar public decision boundary with secondary state, Block, and memory impacts. ADR-SCALAR-0006 remains the owner of pre-existing local fences and other Scalar operations; it does not acquire collective fence semantics. No duplicate STATE/MEM ADR is allocated for this interface. ADR-GOV-0012 remains protected: do not restore a target-profile selection layer. Downstream V5 lowering is an integration mapping, not an architecture applicability switch. + +The executable representation uses four PE contexts in each finite verification Core instance. The request-obligation ledger and progress scheduler live outside instruction bodies; its default is immediate progress. Deferred TSTORE evidence advances captured requests through the same producer, probe, store, event, replay, and completion path. A completed collective's ordering provenance is stamped into retained memory events with Core, invocation, and origin identity plus a monotonic completed-collective sequence, so reuse of active generation records cannot erase established memory history. Selective replay discard retains peer event indices and read-from links; scoped Local-generation squash retains peer writers and shares a Core-wide token allocator. + +Actual independently executed Shared B.ASSEMBLE contributions use a Core-owned candidate matched by Core, invocation, producer site, dynamic ordinal, target and existing descriptor metadata, while each contribution captures only its actual eligible PE's private source. Existing INIT/LAST/CELL coverage and atomic publication rules remain the owner; direct singleton operations retain their immediate whole-parent path. An execution-domain squash invalidates only the exact incomplete candidate and marks its retained live, PE-bank and trap copies so restoring an old frame cannot revive it. A legal replay is an architectural saved-context redirect followed by encoded BSTART with a fresh token. Successful End and Abort retire invocation-owned candidate/release metadata while preserving published Shared payloads, committed effects and the next operation ordinal. These are model representations of the accepted contract, not new software-visible state, publication conditions, or scheduling controls. + +The approved interrupt, exception, invocation, and abort rules are part of the linked design. Preserve existing memory atomicity, shareability, fault precision, committed effects, Local/Shared Tile ownership, FENCE.D/FENCE.I encodings, and unrelated scheduling-request behavior. + +## Alternatives and rationale + +- Local fences plus a software barrier remain available but do not supply this instruction's rendezvous or preceding unissued-GM obligations. +- FENCE.D.CORE4 with variable predecessor/successor operands and a dsb.core4 alias were rejected: one operand-free exact form expresses the accepted phase boundary without introducing a second interface. +- Already-issued-request draining was rejected because it omits earlier program-order work still waiting for a producer. +- Speculative arrival with rollback was rejected because released peers cannot be undone. +- Target-profile gating and a new selectable Core4 architecture were rejected; this is an ordinary Scalar SYS instruction. +- Multiple active kernels, kernel switching, and migration remain outside V1. + +## Compatibility and release boundary + +The instruction allocation is additive. Independent PE-context closure corrects the baseline model's missing multi-PE carrier; an existing single selected PE run retains its behavior. Any conflict with a prior accepted clause must be reported and reconciled explicitly, rather than hidden in a generated projection. This is a V1 specification PR with release impact required, not release verification, tagging, or publication. No ASLRef pin or external runtime/backend change is authorized by this ADR. + +## Evidence and residuals + +Focused executable evidence must exercise encoded dispatch and actual context transitions, not only a barrier helper. Cover four-way arrival, older not-issued and outstanding GM work, independent cross-agent memory rejection, precise faults, interrupt return, handler exclusion, reservations, generations, abort/quiescence, next invocation, and illegal placement/encoding. The ring-reuse witness proves the original event relation after its active record is evicted, after Core selection, and after a later invocation; new-invocation, cross-Core, and handler events remain excluded. Model bounds are verification bounds. Generate direct documentation, decode/catalog/witness, AVS, ADR/NDF, coverage, and traceability projections after final sources. + +LLVM, SuperScalarModel, benchmark adoption, and ASL-MODEL compile/link integration remain downstream obligations; this PR cannot claim their completion. Acceptance recorded here comes from the user's design review, not an authenticated GitHub approval or a PR validation receipt. + +## Bilingual decision detail / 双语决策详述 + +### Why this decision / 为什么做出此决策 + +**English.** A program-order phase boundary must wait for every participating PE and all preceding GM effects, including requests not yet issued. An agent-local fence or an empty request queue cannot establish that contract. + +**中文。** 程序顺序上的阶段边界必须等待四个参与 PE 和全部前序 GM 效果,包括尚未发出的请求。本地 fence 或瞬时空队列不足以表达该契约。 + +### Detailed decision / 详细决策 + +**English.** Use one ordinary Scalar SYS interface with secondary executable state and memory owners. Encoded Shared generation participants contribute from their real per-PE private contexts to the existing Core-owned INIT/LAST candidate, which publishes under its existing coverage and atomic-commit rules. Squash cancels only the matching incomplete request identity, including saved trap copies; an explicit architectural restart and a new encoded BSTART establish a fresh request. Lifecycle cleanup reclaims matching active/release bookkeeping without erasing a published parent or its history. The linked issue design owns the accepted decision inventory; current semantics remain in the named ASL/NDF units. No target-profile selection layer is introduced. + +**中文。** 使用一个普通 Scalar SYS 接口,并补全相关可执行状态及内存 owner。编码执行的 Shared 代次由真实 PE 私有上下文提供贡献,并遵守现有 Core INIT/LAST 候选、coverage 与原子提交规则。撤销仅取消匹配的未完成请求身份,包括已保存的 trap 副本;显式架构重启及新的编码 BSTART 才建立新请求。生命周期清理回收匹配的活动/释放元数据,同时保留已发布父对象及其历史。关联 issue 记录已接受的决策清单;当前语义由列出的 ASL/NDF 单元负责。不新增 target profile 选择层。 + +### What changed / 改动内容 + +#### English + +- Added the accepted `SYNC.CORE` interface and identified its connected architectural owners without introducing a target-profile switch. +- Completed the PE-context, Core synchronization, invocation lifecycle, GM obligation, memory-history, and actual-PE Shared candidate/replay owner inventory, with encoded execution evidence and generated projections. +- Recorded the finite verification-model boundary and downstream compiler/simulator integration obligations; the published release version, manifest, and ABI remain unchanged. + +#### 中文 + +- 增加已接受的 `SYNC.CORE` 接口,并明确关联的架构 owner,不引入 target profile 开关。 +- 完成 PE context、Core synchronization、invocation lifecycle、GM obligation、memory history 及实际 PE Shared candidate/replay 的 owner 盘点,并补齐编码执行证据与生成投影。 +- 记录有限验证模型边界及下游编译器/模拟器集成义务;已发布的版本、manifest 和 ABI 保持不变。 + +### Scope and boundaries / 范围与边界 + +**English.** V1 covers the specification, its tests and projections. Preserve existing local fences, memory/recovery contracts, and Tile collectives. External compiler/simulator changes and exact-commit release validation remain separate. + +**中文。** V1 范围为规范、测试和直接投影。保留既有本地 fence、内存和恢复契约及 Tile collective。外部编译器或模拟器修改以及精确提交的发布验证另行处理。 diff --git a/docs/tile/model/memory/load-store.md b/docs/tile/model/memory/load-store.md index 0e9e46f0c..0be42e9eb 100644 --- a/docs/tile/model/memory/load-store.md +++ b/docs/tile/model/memory/load-store.md @@ -83,7 +83,7 @@ For an S16 `TLOAD` at an address ending in `0x...1`, the two-byte alignment prob ```asl -// 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","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA"]} +// PTO-UNIT: {"id":"PTO-TILE-MODEL-MEMORY-LOAD-STORE","surface":"tile","classification":["model","memory","load-store"],"depends_on":["PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION","PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS","PTO-ARCH-STATE-CORE-SYNCHRONIZATION","PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS","PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA","PTO-TILE-MODEL-MEMORY-STRIDE"]} pure func DecodeTileMemoryElementRaw(raw: Word, data_type: TileDataType, high_nibble: boolean) => Word @@ -231,6 +231,139 @@ begin CompleteMemoryReplay(); end; +readonly func TileStoreSourceGeneration(source: TileIndex) => Word +begin + let slot = BundleLocalGenerationSlotForSource(source); + if slot < 64 && _LocalGenerations[[slot]].generation_identity_valid then + return _LocalGenerations[[slot]].generation_instance; + end; + return Zeros{PTO_XLEN}; +end; + +readonly func TileStoreHasActiveElements(tile: TileInfo, + execution_mask: + BundleExecutionMaskBinding) + => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then return TRUE; end; + end; + end; + return FALSE; +end; + +func TileStoreFootprintIsValidated(tile: TileInfo, + base_address: Word, row_stride_bytes: Word, + execution_mask: BundleExecutionMaskBinding) => boolean +begin + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + 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 probe.fault != Fault_None then return FALSE; end; + end; + end; + end; + return TRUE; +end; + +type TileStoreProgressResult of enumeration { + TileStoreProgress_Faulted, + TileStoreProgress_Pending, + TileStoreProgress_Completed +}; + +func ExecuteTileStoreSnapshotProgress(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + start_element: integer {0..32768}, + beat_budget: integer {0..32768}, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => TileStoreProgressResult +begin + BeginMemoryReplay(request_pc); + var committed_beats : integer {0..32768} = 0; + var next_element = start_element; + var progress_budget_reached = FALSE; + var logical_element : integer {0..32768} = 0; + for row = 0 to tile.valid_rows - 1 looplimit 65536 do + for column = 0 to tile.valid_columns - 1 looplimit 65536 do + if logical_element >= start_element && + !progress_budget_reached && + BundleExecutionMaskActiveAt(tile.layout, + row as integer {0..65535}, + column as integer {0..65535}) then + if beat_budget != 0 && committed_beats >= beat_budget then + progress_budget_reached = TRUE; + else + 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 + FlushMemoryReplay(); + return TileStoreProgress_Faulted; + end; + let translated = probe.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, + memory_order); + CommitMemoryReplayEffect(); + next_element = (logical_element + 1) + as integer {0..32768}; + committed_beats = (committed_beats + 1) + as integer {0..32768}; + if tracked then + _GMObligations[[core]][[pe]][[obligation_slot]] + .progress_element = next_element; + MarkGMObligationIrrevocable(core, pe, + obligation_slot); + end; + if beat_budget != 0 && + committed_beats >= beat_budget then + progress_budget_reached = TRUE; + end; + end; + end; + logical_element = (logical_element + 1) + as integer {0..32768}; + end; + end; + CompleteMemoryReplay(); + return if progress_budget_reached && next_element < logical_element then + TileStoreProgress_Pending else TileStoreProgress_Completed; +end; + +func ExecuteTileStoreSnapshot(tile: TileInfo, base_address: Word, + row_stride_bytes: Word, request_pc: Word, memory_order: MemoryOrder, + tracked: boolean, core: PTOModelCoreIdentity, pe: MemoryAgentId, + obligation_slot: GMObligationIndex) => boolean +begin + let result = ExecuteTileStoreSnapshotProgress(tile, base_address, + row_stride_bytes, request_pc, memory_order, 0, 0, tracked, core, pe, + obligation_slot); + return result == TileStoreProgress_Completed; +end; + func TSTORE(base_address: Word, row_stride_bytes: Word, source: TileIndex) begin let tile = _Tiles[[source]]; @@ -243,36 +376,143 @@ begin if TileLayoutIsCube(tile.layout) then assert TileCubeDescriptorLegal(tile); end; - BeginMemoryReplay(ReadBPC()); - for row = 0 to tile.valid_rows - 1 looplimit 65536 do - for column = 0 to tile.valid_columns - 1 looplimit 65536 do - if BundleExecutionMaskActiveAt( - tile.layout, row as integer {0..65535}, - column as integer {0..65535}) then - 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 - FlushMemoryReplay(); - return; - end; - let translated = probe.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()); - CommitMemoryReplayEffect(); + let request_pc = ReadBPC(); + let order = CurrentBundleMemoryOrder(); + let tracked = _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _KernelInvocationActiveByCore[[_CurrentModelCore]] && + _CurrentKernelInvocation != 0 && + TileStoreHasActiveElements(tile, _BundleExecutionMask); + if !tracked then + let completed = ExecuteTileStoreSnapshot(tile, + base_address, row_stride_bytes, + request_pc, order, FALSE, _CurrentModelCore, + _CurrentMemoryAgent, 0 as GMObligationIndex); + return; + end; + let core = _CurrentModelCore; + let pe = _CurrentMemoryAgent; + let slot = RegisterKernelGMObligation(GMRequest_Tile, + _BundleStartEncodedInstruction, request_pc, _BundleOperation, + _BundleArgument, _BundleTileBindings, _BundleScalarBindings, + _BundleSharedBindings, _BundleDimensions, source, + TileStoreSourceGeneration(source), tile, _BundleExecutionMask, + base_address, row_stride_bytes, order, TRUE, FALSE, FALSE, + FALSE, TRUE); + if VerificationGMProgressIsDeferred() && + TileStoreFootprintIsValidated(tile, base_address, row_stride_bytes, + _BundleExecutionMask) then + ResolveGMObligationFaultRisk(core, pe, slot); + MarkGMObligationCapturedTStoreProgress(core, pe, slot); + return; + end; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + IssueGMObligation(core, pe, slot); + if ExecuteTileStoreSnapshot(tile, base_address, row_stride_bytes, + request_pc, order, TRUE, core, pe, slot) then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + else + FaultGMObligation(core, pe, slot); + end; +end; + +func ProgressKernelGMObligationsForCore(core: PTOModelCoreIdentity, + invocation: integer) +begin + if VerificationGMProgressIsDeferred() then return; end; + let original_core = _CurrentModelCore; + let original_pe = _CurrentMemoryAgent; + let original_invocation = _CurrentKernelInvocation; + let original_history_override_valid = + _MemoryEventCollectiveHistoryOverrideValid; + let original_history_override = _MemoryEventCollectiveHistoryOverride; + SaveSelectedPEExecutionContext(); + SaveSelectedCoreExecutionContext(); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + for slot_number = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let slot = slot_number as GMObligationIndex; + let obligation = _GMObligations[[core]][[pe]][[slot]]; + if obligation.active && obligation.invocation == invocation && + obligation.captured_tstore_progress && + obligation.request_class == GMRequest_Tile && + (obligation.state == GMObligation_Validated || + obligation.state == GMObligation_Issued) then + SelectExecutionContext(core, pe); + SaveSelectedPEExecutionContext(); + var request_context = + _PEExecutionContexts[[core]][[pe]]; + _CurrentKernelInvocation = obligation.invocation; + _CurrentProgramOrder = obligation.submission_order; + _CurrentCollectiveEpoch = obligation.collective_epoch; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _MemoryEventCollectiveHistoryOverrideValid = TRUE; + _MemoryEventCollectiveHistoryOverride = + obligation.collective_history_sequence; + _CurrentEncodedInstruction = obligation.encoded_request; + _BundleStartEncodedInstruction = obligation.encoded_request; + _BundleArgument = obligation.bundle_argument; + _BundleOperation = obligation.descriptor; + _BundleTileBindings = obligation.bundle_tile_bindings; + _BundleScalarBindings = obligation.bundle_scalar_bindings; + _BundleSharedBindings = obligation.bundle_shared_bindings; + _BundleDimensions = obligation.bundle_dimensions; + _BundleExecutionMask = obligation.execution_mask; + _BPC = obligation.instruction_pc; + SetCurrentACR(obligation.submission_acr); + _LastFault = Fault_None; + _FaultAddress = Zeros{PTO_XLEN}; + if obligation.state == GMObligation_Validated then + IssueGMObligation(core, pe, slot); + end; + let result = ExecuteTileStoreSnapshotProgress( + obligation.source_snapshot, + obligation.base_address, + obligation.row_stride_bytes, + obligation.instruction_pc, + obligation.memory_order, + obligation.progress_element, + _VerificationGMProgressBeatBudget, + TRUE, core, pe, slot); + if result == TileStoreProgress_Completed then + CompleteGMObligationForIdentity(core, pe, slot, + obligation.invocation, obligation.identity); + elsif result == TileStoreProgress_Faulted then + FaultGMObligation(core, pe, slot); + end; + if _LastFault == Fault_None then + // The scheduler temporarily installed the captured + // request. Restore the owner's live kernel/parked/handler + // context, while carrying forward reservation invalidation + // caused by its real GM writes. + request_context.reservation_valid = _ReservationValid; + LoadPEExecutionContext(request_context); + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + end; + _CurrentKernelInvocation = original_invocation; + else + // A real service fault belongs to the captured request + // owner. Persist its trap/restart state before restoring + // the caller's selected context. + SaveSelectedPEExecutionContext(); + if core != original_core || pe != original_pe then + SelectExecutionContext(original_core, original_pe); + _CurrentKernelInvocation = original_invocation; + end; + end; + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = + original_history_override; end; end; end; - CompleteMemoryReplay(); + _MemoryEventCollectiveHistoryOverrideValid = + original_history_override_valid; + _MemoryEventCollectiveHistoryOverride = original_history_override; + _CurrentKernelInvocation = original_invocation; end; ``` diff --git a/docs/tile/model/memory/shared-movement.md b/docs/tile/model/memory/shared-movement.md index 813d3755d..ad907fb79 100644 --- a/docs/tile/model/memory/shared-movement.md +++ b/docs/tile/model/memory/shared-movement.md @@ -210,6 +210,40 @@ begin return; end; let single_issuer = PEMaskPopulation(pe_mask) == 1; + let actual_pe_assembly = _CurrentPEContextValid && + _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].destination_assemble.init; + var range_payload_elements: integer {0..524288} = 0; + var actual_pe_source_offset_elements: integer {0..524287} = 0; + if actual_pe_assembly then + let assemble = _BundleSharedBindings[[0]].destination_assemble; + let writer_size = assemble.size_code as integer {1..12}; + let writer_cells = ((TileSizeCodeBytes(writer_size) DIVRM + PTO_TILE_CELL_BYTES) * 4) as integer {4..8192}; + let element_bits = TileElementBits(data_type) + as integer {1..64}; + let writer_payload_elements = ((writer_cells * 32 * 8) DIVRM + element_bits) as integer {1..524288}; + range_payload_elements = if single_issuer then + TileLogicalElementCapacity(tile.capacity_bytes, tile.data_type) + else writer_payload_elements; + // The PE's logical source stripe follows the retained PE_MASK shape. + // B.ASSEMBLE.offset is a destination range and is applied later by the + // Shared candidate owner; it does not change which GM elements this PE + // reads or the local index of that source fragment. + let elements_per_pe_region = (TileLogicalElementCapacity( + tile.capacity_bytes, tile.data_type) DIVRM 4) + as integer {0..131072}; + // A singleton issuer retains PTO-TLOAD-MEMORY-001's whole-parent + // source range even when it uses B.ASSEMBLE for the destination. + // Only a multi-PE assembly maps each executing PE to its own logical + // source stripe; the explicit B.ASSEMBLE offset remains destination + // range metadata in either case. + actual_pe_source_offset_elements = if single_issuer then 0 else + ((_CurrentMemoryAgent as integer {0..3}) * + elements_per_pe_region) as integer {0..524287}; + end; var single_agent: MemoryAgentId = 0; if single_issuer then for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do @@ -223,6 +257,7 @@ begin // record. Check every participating issuer through the ordinary // translated probe before publishing the complete carrier state. var packed_zero_fast = PackedTileDataTypeIsFourBit(tile.data_type) && + !actual_pe_assembly && !_MemoryEventCaptureEnabled && !SharedTileRecord(shared_tile_id).descriptor_valid && tile.valid_rows == tile.rows && @@ -272,11 +307,24 @@ begin 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 element_index = element as integer {0..524287}; let region = SharedTileElementRegion(tile, element); - let selected = single_issuer || - pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; + let actual_pe = _CurrentMemoryAgent as integer {0..3}; + let in_actual_pe_source_range = !actual_pe_assembly || + (element_index >= actual_pe_source_offset_elements && + element_index < actual_pe_source_offset_elements + + range_payload_elements); + let selected = if _CurrentPEContextValid then + (single_issuer || + (region == actual_pe && + pe_mask[PTOPEMaskBitOfPEIdentity(actual_pe)] == '1')) && + in_actual_pe_source_range + else single_issuer || + pe_mask[PTOPEMaskBitOfPEIdentity(region)] == '1'; if selected then - let agent = if single_issuer then single_agent + let agent = if _CurrentPEContextValid then + _CurrentMemoryAgent + else if single_issuer then single_agent else region as MemoryAgentId; let high_nibble = TileMemoryStridedByteHighNibble( column as integer {0..65535}, tile.data_type); @@ -298,7 +346,11 @@ begin RecordLoadEventForAgent(agent, translated, TileMemoryElementBytes(tile.data_type), raw, CurrentBundleMemoryOrder()); - tile = TileInfoWithLogicalElement(tile, element, + let destination_element = if actual_pe_assembly then + (element_index - actual_pe_source_offset_elements) + as PackedTileElementIndex + else element; + tile = TileInfoWithLogicalElement(tile, destination_element, LoadTileMemoryElement(translated, tile.data_type, high_nibble)); tile.defined_valid_elements = @@ -307,7 +359,7 @@ begin end; end; end; - if single_issuer || pe_mask == '1111' then + if !actual_pe_assembly && (single_issuer || pe_mask == '1111') then tile.defined_valid_elements = (tile.valid_rows * tile.valid_columns) as integer {0..524288}; tile.contents_defined = TRUE; @@ -326,7 +378,13 @@ begin assert tile.allocated; // PE_MASK selects consumer PEs. The first fault stops the request and // stores completed before it remain visible. - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then for row = 0 to tile.valid_rows - 1 looplimit 65536 do @@ -362,7 +420,16 @@ func TMOVSharedToLocalPerPE(destination: TileIndex, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + // A real PE request may materialize all peers' eligible descriptors for + // preflight, but it writes only its own private Local bank. The contextless + // aggregate helper retains its established all-selected batch behavior. + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let source_tile = per_pe_tiles[[agent]]; @@ -395,7 +462,13 @@ func TSTORESharedPerPE(base_addresses: CorePEWords, pe_mask: bits(4)) begin if pe_mask == Zeros{4} then return; end; - for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + var first_pe : integer {0..3} = 0; + var last_pe : integer {0..3} = 3; + if _CurrentPEContextValid then + first_pe = _CurrentMemoryAgent as integer {0..3}; + last_pe = first_pe; + end; + for pe = first_pe to last_pe do let agent = pe as MemoryAgentId; if pe_mask[PTOPEMaskBitOfPEIdentity(agent)] == '1' then let tile = per_pe_tiles[[agent]]; @@ -470,12 +543,9 @@ end; // resolved from the four PE-private peer_tid values. The bundle dispatcher // performs collective readiness and peer-range preflight before this read-old, // write-new local copy. No Shared register or global-memory event is involved. -func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +func GMOVFromSourceTile(destination: TileIndex, source_tile: TileInfo) begin - assert UInt(peer_tid) < 4; - let source_tile = _Tiles[[source]]; - let source_payload = source_tile.payload; - _Tiles[[destination]].payload = source_payload; + _Tiles[[destination]].payload = source_tile.payload; _Tiles[[destination]].defined_elements = source_tile.defined_elements; _Tiles[[destination]].packed_defined_elements = source_tile.packed_defined_elements; @@ -483,5 +553,11 @@ begin source_tile.defined_valid_elements; _Tiles[[destination]].contents_defined = source_tile.contents_defined; end; + +func GMOV(destination: TileIndex, source: TileIndex, peer_tid: Word) +begin + assert UInt(peer_tid) < 4; + GMOVFromSourceTile(destination, _Tiles[[source]]); +end; ``` diff --git a/docs/tile/model/state/feature-map-descriptors.md b/docs/tile/model/state/feature-map-descriptors.md index 50806f87c..649d9a0d7 100644 --- a/docs/tile/model/state/feature-map-descriptors.md +++ b/docs/tile/model/state/feature-map-descriptors.md @@ -82,7 +82,7 @@ The descriptor is structurally valid. Reallocating the register makes it invalid ```asl // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","surface":"tile","classification":["model","state","feature-map-descriptors"],"depends_on":["PTO-TILE-MODEL-STATE-LOCAL-REGISTERS"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} +// PTO-STATE: {"id":"PTO-STATE-TILE-FEATURE-MAP","classification":["tile","feature-map"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS","members":["_TileFeatureMapDescriptors"],"depends_on":["PTO-STATE-TILE-LOCAL"]} type TileFeatureMapLayout of enumeration { TileFeatureMapLayout_NC1HWC0, @@ -113,8 +113,10 @@ type TileFeatureMapDescriptor of record { transposed: boolean }; -var _TileFeatureMapDescriptors : - array [[PTO_TILE_REGISTER_COUNT]] of TileFeatureMapDescriptor; +type TileFeatureMapDescriptorSnapshot of array [[PTO_TILE_REGISTER_COUNT]] + of TileFeatureMapDescriptor; + +var _TileFeatureMapDescriptors : TileFeatureMapDescriptorSnapshot; readonly func ReadTileFeatureMapDescriptor( index: TileIndex) => TileFeatureMapDescriptor diff --git a/docs/tile/model/state/local-registers.md b/docs/tile/model/state/local-registers.md index 33ee5d787..30e6b8b28 100644 --- a/docs/tile/model/state/local-registers.md +++ b/docs/tile/model/state/local-registers.md @@ -81,12 +81,13 @@ To answer "what does `#2` in hand U mean?", read hand 1 distance 1 of `_TileRela ```asl // PTO-UNIT: {"id":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","surface":"tile","classification":["model","state","local-registers"],"depends_on":["PTO-TILE-MODEL-STATE-TYPES"]} -// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} +// PTO-STATE: {"id":"PTO-STATE-TILE-LOCAL","classification":["tile","local"],"scope":"pe","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_Tiles","_TileAllocationMasks","_TileRelativeOrder","_TileRelativeValid"],"depends_on":[]} // PTO-STATE: {"id":"PTO-STATE-TILE-SHARED","classification":["tile","shared"],"scope":"core","owner":"PTO-TILE-MODEL-STATE-LOCAL-REGISTERS","members":["_SharedTiles"],"depends_on":[]} // NDF-BEGIN: PTO-REQ-TILE-001 // ndf: kind=contract level=L1 layer=tile status=accepted -// Local Tile registers and their allocation masks MUST be the state defined by +// Each Core has four independent PE-owned Local Tile register banks. Local +// Tile registers and their allocation masks MUST be the state defined by // [[PTO-STATE-TILE-LOCAL]]. Each T/U/M/N hand MUST resolve #1 as its newest // published generation and shift older live generations toward #16 whenever // a new destination for that hand publishes. Source generations MUST persist. diff --git a/docs/tile/model/state/shared-registers.md b/docs/tile/model/state/shared-registers.md index ce9465513..20501f620 100644 --- a/docs/tile/model/state/shared-registers.md +++ b/docs/tile/model/state/shared-registers.md @@ -92,7 +92,12 @@ If instead the first write had used mask `1100`, the record would be installed w // published visibility MUST remain distinct. Every Shared source consumer MUST // wait/no-op before payload access until whole_parent_ready and published are // both true; producer and consumer masks are independent. +// Independently executed direct producers MUST capture actual PE-owned +// fragments under an operation identity and MUST publish only through the +// existing atomic update. A completed Shared initialized_mask MUST NOT be +// reused as contribution state for a later dynamic operation. // NDF-END: PTO-B-SHARED-WHOLE-PARENT-READY-001 + pure func SharedTileArrayIndex(shared_tile_id: SharedTileID) => SharedTileIndex begin return UInt(shared_tile_id) as SharedTileIndex; diff --git a/scripts/check-binary-closure b/scripts/check-binary-closure index 52c77762c..a5378520b 100755 --- a/scripts/check-binary-closure +++ b/scripts/check-binary-closure @@ -11,11 +11,11 @@ import subprocess ROOT = Path(__file__).resolve().parent.parent -EXPECTED_FORM_COUNT = 562 +EXPECTED_FORM_COUNT = 563 # Version-neutral fingerprint for the reviewed current draft; --release checks # the separately published manifest identity. EXPECTED_FINGERPRINT = ( - "d9c527668bbca3a9bcee33f908ae1a897bec3c2e6eb587b0e0c96982edea8355" + "bffde68edb86633bcd5ddf93ba93d8818d06fda68aeb6a8022851091eb587ddc" ) EXPECTED_RELEASE = "0.58.7" EXPECTED_ENCODING_ABI = "pto-isa-0.58.7-mode-function-v1" diff --git a/scripts/generate-asl-decoders b/scripts/generate-asl-decoders index de0aa60e1..cc349bfb1 100755 --- a/scripts/generate-asl-decoders +++ b/scripts/generate-asl-decoders @@ -225,6 +225,7 @@ SCALAR_SYS_EFFECT_CLASS_COUNTS = { "scalar-architecture-close-request": 1, "scalar-architecture-enter-request": 1, "scalar-set-commit-target": 1, + "scalar-core-collective-barrier": 1, } SCALAR_AGU_EFFECT_CLASS_COUNTS = { "scalar-agu-load": 47, @@ -410,6 +411,8 @@ def scalar_sys_effect_class(row: dict) -> str | None: return "scalar-architecture-enter-request" if handler == "SetCommitTarget": return "scalar-set-commit-target" + if handler == "SyncCore": + return "scalar-core-collective-barrier" raise ValueError(f"SYS form has no reviewed effect class: {row['form_id']}") @@ -10952,6 +10955,20 @@ def _emit_monolithic() -> None: print(" assert ReadTPC() == Zeros{PTO_XLEN} + 0x104;") print(" assert _SystemRegisters.cycle == Zeros{PTO_XLEN} + 1;") + elif class_id == "scalar-core-collective-barrier": + print( + f" assert DecodeScalarForm({bit_literal(witness, 48)}, " + f"{row['length_bits']}) == {row['_form_index']};" + ) + print( + f" assert ScalarOperationOfForm({row['_form_index']}) == " + "ScalarOperation_SYNC_CORE;" + ) + print( + f" assert ScalarHandlerOfForm({row['_form_index']}) == " + "ScalarHandler_SyncCore;" + ) + else: raise ValueError(f"unhandled SYS effect class: {class_id}") print(" ResetProfileState();") diff --git a/scripts/generate-mnemonic-avs.py b/scripts/generate-mnemonic-avs.py index 4441a5a97..24db69f10 100644 --- a/scripts/generate-mnemonic-avs.py +++ b/scripts/generate-mnemonic-avs.py @@ -2068,6 +2068,10 @@ def render_concept_avs(root: Path, unit: AslUnit) -> tuple[Path, str]: identity = sanitize(unit.unit_id.removeprefix("PTO-")) test_id = f"PTO-AVS-{identity}-STATIC-001" if len(test_id) > 64: + identity = identity.replace( + "BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS", + "BLOCK-SHARED-GENERATION-PE-REQUESTS", + ) identity = identity.replace("CELL-REARRANGEMENT", "CELL-REARR") identity = identity.replace("TILE-INSTRUCTION-OPERANDS", "TILE-INST-OPERANDS") identity = identity.replace("EXECUTION-MASK-SOURCE-SCHEMA", "EXEC-MASK-SRC-SCHEMA") diff --git a/scripts/generate-release-manifest b/scripts/generate-release-manifest index 6f7a910f9..799d791f2 100755 --- a/scripts/generate-release-manifest +++ b/scripts/generate-release-manifest @@ -32,7 +32,7 @@ NUMERIC_VECTORS_PATH = Path("spec/evidence/pto-isa-0587-hardware-numeric-vectors NUMERIC_PROFILE_ID = "pto-hardware-numeric-0.58.7-ieee-v1" NUMERIC_PROFILE_RELEASE = "0.58.7" -FAMILY_COUNTS = {'TEPL': 79, 'TLSU': 28, 'CUBE': 12} +FAMILY_COUNTS = {'TEPL': 78, 'TLSU': 28, 'CUBE': 12} FORM_COUNTS = {'scalar_forms': 466, 'command_forms': 96} COMMAND_FAMILY_COUNTS = {'CMD': 92, 'BBD': 4} VALID_DATATYPES = tuple(range(0, 15)) + tuple(range(16, 21)) + tuple(range(24, 29)) @@ -73,7 +73,7 @@ EXPECTED_TEPL_MAP_TEXT = """ 009:TSHL 00A:TSHR 00B:TMAX 00C:TMIN 00D:TCMP 00F:TABS 010:TNOT 011:TNEG 012:TEXP 013:TLOG 014:TRECIP 015:TSQRT 016:TRSQRT 017:TRELU 01A:TSEL 01B:TCVT 01C:TFMA 01D:TEXPDIF 020:TADDS 021:TSUBS 022:TMULS 023:TDIVS 024:TREMS 026:TANDS 027:TORS -028:TXORS 029:TSHLS 02A:TSHRS 02B:TMAXS 02C:TMINS 02D:TCMPS 02E:TLEA 03A:TSELS 03B:TEXPANDS +028:TXORS 029:TSHLS 02A:TSHRS 02B:TMAXS 02C:TMINS 02D:TCMPS 03A:TSELS 03B:TEXPANDS 040:TROWSUM 041:TROWMAX 042:TROWMIN 043:TROWPROD 044:TROWEXPAND 045:TROWEXPANDADD 046:TROWEXPANDSUB 047:TROWEXPANDMUL 048:TROWEXPANDDIV 049:TROWEXPANDMAX 04A:TROWEXPANDMIN 04B:TROWEXPANDEXPDIF 04C:TROWARGMAX 04D:TROWARGMIN 050:TCOLSUM 051:TCOLMAX 052:TCOLMIN 053:TCOLPROD 054:TCOLEXPAND 055:TCOLEXPANDADD 056:TCOLEXPANDSUB 057:TCOLEXPANDMUL 058:TCOLEXPANDDIV 059:TCOLEXPANDMAX diff --git a/scripts/layout_relation_census.py b/scripts/layout_relation_census.py index 7eb1fd164..5e6fdfaa3 100755 --- a/scripts/layout_relation_census.py +++ b/scripts/layout_relation_census.py @@ -468,6 +468,198 @@ FPATR_EFFECTIVE_TYPE_CLASSIFICATION = ( "B.FPATR final-D effective data-type resolution (Issue #345 / ADR-NUM-0012)" ) +# Issue #360 adds Core-scoped GM obligation capture/TSTORE progress and +# actual-PE Shared request completion/eligibility helpers. These helpers are +# visible to this census because their names/call graph overlap the bundle and +# Tile execution roots, but they carry no portable-layout relation. Keep the +# exact owner paths, empty layout sets, and direct caller closure here so the +# accepted request bookkeeping cannot authorize unrelated layout edits. +ISSUE360_GM_OBLIGATION_HELPERS = { + "BundleFirstGMSourceTile": { + "before": [], + "after": [("asl/block/model/dispatch/gm-obligation-dispatch.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "BundleGMOVPESourceTile": { + "before": [], + "after": [("asl/block/model/dispatch/tlsu-gmov.asl", set())], + "before_callers": set(), + "after_callers": { + ("BundleGMOVCore4SourceReady", "asl/block/model/dispatch/tlsu-gmov.asl"), + ("ExecuteBundleGMOVOperation", "asl/block/model/dispatch/tlsu-gmov.asl"), + }, + }, + "BundleGMOVPESourceTileReady": { + "before": [], + "after": [("asl/block/model/dispatch/tlsu-gmov.asl", set())], + "before_callers": set(), + "after_callers": { + ("BundleGMOVCore4SourceReady", "asl/block/model/dispatch/tlsu-gmov.asl"), + ("ExecuteBundleGMOVOperation", "asl/block/model/dispatch/tlsu-gmov.asl"), + }, + }, + "BundleGMOVSourceDescriptorsMatch": { + "before": [], + "after": [("asl/block/model/dispatch/tlsu-gmov.asl", set())], + "before_callers": set(), + "after_callers": { + ("BundleGMOVCore4SourceReady", "asl/block/model/dispatch/tlsu-gmov.asl"), + }, + }, + "BundleLocalGenerationSlotForDestination": { + "before": [], + "after": [("asl/block/model/operands/local-generation.asl", set())], + "before_callers": { + ("AbortBundleLocalGenerationsForBundle", "asl/block/model/operands/local-generation.asl"), + ("BundleLocalGenerationQueueInsertionLegal", "asl/block/model/operands/local-generation.asl"), + ("BundleLocalGenerationSlotForSource", "asl/block/model/operands/portable-carriers.asl"), + ("CommitBundleLocalGeneration", "asl/block/model/operands/local-generation.asl"), + ("ReuseBundleLocalGenerationDestination", "asl/block/model/operands/local-generation.asl"), + ("ValidateBundleLocalGeneration", "asl/block/model/operands/local-generation.asl"), + }, + "after_callers": { + ("AbortBundleLocalGenerationsForBundle", "asl/block/model/operands/local-generation.asl"), + ("BundleLocalGenerationQueueInsertionLegal", "asl/block/model/operands/local-generation.asl"), + ("BundleLocalGenerationSlotForSource", "asl/block/model/operands/portable-carriers.asl"), + ("CommitBundleLocalGeneration", "asl/block/model/operands/local-generation.asl"), + ("ReuseBundleLocalGenerationDestination", "asl/block/model/operands/local-generation.asl"), + ("ValidateBundleLocalGenerationStructure", "asl/block/model/operands/local-generation.asl"), + ("ValidateBundleLocalGenerationWriters", "asl/block/model/operands/local-generation-cube.asl"), + }, + }, + "BundleLocalGenerationSlotForSource": { + "before": [], + "after": [("asl/block/model/operands/portable-carriers.asl", set())], + "before_callers": { + ("BundlePrepareConsumerSource", "asl/block/model/operands/portable-carriers.asl"), + }, + "after_callers": { + ("BundlePrepareConsumerSource", "asl/block/model/operands/portable-carriers.asl"), + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + ("TileStoreSourceGeneration", "asl/tile/model/memory/load-store.asl"), + }, + }, + "BundleTileGMRequestClass": { + "before": [], + "after": [("asl/block/model/dispatch/gm-obligation-dispatch.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "BundleTileOperationHasGMEffect": { + "before": [], + "after": [("asl/block/model/dispatch/gm-obligation-dispatch.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "BundleSharedGenerationRequestWaiting": { + "before": [], + "after": [("asl/block/model/operands/shared-generation-pe-requests.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteBundleSharedTLSUOperation", "asl/block/model/dispatch/shared-tlsu.asl"), + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + ("RetireFailedEarlySharedGenerationRequest", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "BundleCurrentPEIsNonparticipantSharedAssembly": { + "before": [], + "after": [("asl/block/model/operands/shared-generation-pe-requests.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + ("PrepareSelectedBundleStage2", + "asl/block/model/operands/subview-descriptor.asl"), + ("ValidateSharedGenerationEarlyRetirementStructure", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "BundleSharedGenerationCompletionAvailableForCurrentPE": { + "before": [], + "after": [("asl/block/model/operands/shared-generation-pe-requests.asl", set())], + "before_callers": set(), + "after_callers": { + ("ConsumeBundleSharedGenerationCompletionForCurrentPE", + "asl/block/model/operands/shared-generation-pe-requests.asl"), + ("ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + ("PrepareSelectedBundleStage2", + "asl/block/model/operands/subview-descriptor.asl"), + ("ValidateSharedGenerationEarlyRetirementStructure", + "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules": { + "before": [("asl/block/model/dispatch/tile-execution.asl", set())], + "after": [("asl/block/model/dispatch/gm-obligation-dispatch.asl", set())], + "before_callers": { + ("CompleteBundleAtWithAcceptedApplicabilityRules", "asl/block/model/commit/validation.asl"), + ("ExecuteBundleTileOperation", "asl/block/model/dispatch/tile-execution.asl"), + }, + "after_callers": { + ("CompleteBundleAtWithAcceptedApplicabilityRules", "asl/block/model/commit/validation.asl"), + ("ExecuteBundleTileOperation", "asl/block/model/dispatch/gm-obligation-dispatch.asl"), + }, + }, + "ExecuteTileStoreSnapshot": { + "before": [], + "after": [("asl/tile/model/memory/load-store.asl", set())], + "before_callers": set(), + "after_callers": { + ("TSTORE", "asl/tile/model/memory/load-store.asl"), + }, + }, + "ExecuteTileStoreSnapshotProgress": { + "before": [], + "after": [("asl/tile/model/memory/load-store.asl", set())], + "before_callers": set(), + "after_callers": { + ("ExecuteTileStoreSnapshot", "asl/tile/model/memory/load-store.asl"), + ("ProgressKernelGMObligationsForCore", "asl/tile/model/memory/load-store.asl"), + }, + }, + "TileStoreFootprintIsValidated": { + "before": [], + "after": [("asl/tile/model/memory/load-store.asl", set())], + "before_callers": set(), + "after_callers": { + ("TSTORE", "asl/tile/model/memory/load-store.asl"), + }, + }, + "TileStoreHasActiveElements": { + "before": [], + "after": [("asl/tile/model/memory/load-store.asl", set())], + "before_callers": set(), + "after_callers": { + ("TSTORE", "asl/tile/model/memory/load-store.asl"), + }, + }, + "TileStoreSourceGeneration": { + "before": [], + "after": [("asl/tile/model/memory/load-store.asl", set())], + "before_callers": set(), + "after_callers": { + ("TSTORE", "asl/tile/model/memory/load-store.asl"), + }, + }, +} +ISSUE360_GM_OBLIGATION_HELPER_CLASSIFICATION = ( + "Issue #360 Core-scoped GM and Shared request plumbing " + "(layout-neutral)" +) # Issue #277/#349 adds a carrier-independent ExecutionMask to existing Local # CUBE operations. These definitions enter or leave the shared-helper closure # without changing any operation's accepted layout tuple or same-layout @@ -2320,6 +2512,47 @@ def _helper_deltas(before: dict[str, Any], after: dict[str, Any], before_defs: d "owner_decision": ISSUE356_REDUCTION_CLASSIFICATION, }) continue + if name in ISSUE360_GM_OBLIGATION_HELPERS: + spec = ISSUE360_GM_OBLIGATION_HELPERS[name] + old_shape = sorted( + (row["path"], tuple(sorted(row["layouts"]))) + for row in old_defs + ) + new_shape = sorted( + (row["path"], tuple(sorted(row["layouts"]))) + for row in new_defs + ) + expected_old_shape = sorted( + (path, tuple(sorted(layouts))) + for path, layouts in spec["before"] + ) + expected_new_shape = sorted( + (path, tuple(sorted(layouts))) + for path, layouts in spec["after"] + ) + before_callers = _direct_callers(before_defs, name) + after_callers = _direct_callers(after_defs, name) + valid = ( + old_shape == expected_old_shape and + new_shape == expected_new_shape and + before_callers == spec["before_callers"] and + after_callers == spec["after_callers"] + ) + if not valid: + errors.append( + f"Issue #360 GM-obligation helper owner/layout/caller closure mismatch: {name}" + ) + rows.append({ + "name": name, + "classification": ISSUE360_GM_OBLIGATION_HELPER_CLASSIFICATION + if valid else "UNCLASSIFIED", + "before": old_defs, + "after": new_defs, + "before_callers": sorted(before_callers), + "after_callers": sorted(after_callers), + "owner_decision": ISSUE360_GM_OBLIGATION_HELPER_CLASSIFICATION, + }) + continue if name in EXECUTION_MASK_HELPER_DEFINITION_DELTAS: spec = EXECUTION_MASK_HELPER_DEFINITION_DELTAS[name] old_shape = sorted( @@ -3632,6 +3865,62 @@ def _issue356_reduction_source_mutation_canaries() -> None: raise AssertionError("unlisted #338 expansion caller did not fail closed") +def _issue360_gm_obligation_helper_mutation_canaries() -> None: + """Keep the #360 layout-neutral helper owner/caller inventory exact.""" + paths = source_paths(BASELINE_OBJECT, "working-tree") + baseline = _ref_texts(BASELINE_OBJECT, paths) + candidate = _ref_texts("working-tree", paths) + result = _census_texts( + baseline, candidate, BASELINE_OBJECT, + "real-issue360-gm-obligation-helper-candidate", enforce_closure=True, + ) + classified = { + row["name"] for row in result["common_helper_deltas"] + if row.get("classification") == ISSUE360_GM_OBLIGATION_HELPER_CLASSIFICATION + } + if not result["pass"] or not set(ISSUE360_GM_OBLIGATION_HELPERS).issubset(classified): + raise AssertionError( + "Issue #360 helper owner/layout/caller inventory is incomplete: " + + "; ".join(result["errors"][:12]) + ) + + gmov_path = "asl/block/model/dispatch/tlsu-gmov.asl" + mutated = dict(candidate) + mutated[gmov_path] += ( + "\nreadonly func BundleUnlistedGMOVSourceCaller() => boolean\n" + "begin\n" + " return BundleGMOVPESourceTileReady(_Tiles[[0]]);\n" + "end;\n" + ) + result = _census_texts( + baseline, mutated, BASELINE_OBJECT, + "real-mutated-issue360-gmov-source-caller", enforce_closure=False, + ) + if result["pass"] or not any( + "Issue #360 GM-obligation helper owner/layout/caller closure mismatch: " + "BundleGMOVPESourceTileReady" in error + for error in result["errors"] + ): + raise AssertionError("unlisted #360 GMOV source helper caller did not fail closed") + + mutated = dict(candidate) + marker = "return TileInfoDescriptorLegal(tile);" + replacement = "return TileInfoDescriptorLegal(tile) && tile.layout == TileLayout_RowMajor;" + if marker not in mutated[gmov_path]: + raise AssertionError("#360 GMOV source helper layout canary source is missing") + mutated[gmov_path] = mutated[gmov_path].replace(marker, replacement, 1) + result = _census_texts( + baseline, mutated, BASELINE_OBJECT, + "real-mutated-issue360-gmov-source-layout", enforce_closure=False, + ) + if result["pass"] or not any( + "Issue #360 GM-obligation helper owner/layout/caller closure mismatch: " + "BundleGMOVPESourceTileReady" in error + for error in result["errors"] + ): + raise AssertionError("layout-bearing #360 GMOV source helper did not fail closed") + + def self_test() -> None: base = _fixture() good = _census_texts(base, base, "fixture-baseline", "fixture-candidate", enforce_closure=False) @@ -3709,8 +3998,9 @@ def self_test() -> None: _real_relation_mutation_canaries() _execution_mask_support_mutation_canaries() _issue371_b64_mutation_canaries() + _issue360_gm_obligation_helper_mutation_canaries() _issue356_reduction_source_mutation_canaries() - print("layout-relation census end-to-end canaries passed: same-layout/Bias/helper/inventory/real-relation/indexed-domain/r4 owner, ExecutionMask, Issue #207 selector, Issue #371 M32 b64 double-CELL, and bounded reduction-source mutations rejected") + print("layout-relation census end-to-end canaries passed: same-layout/Bias/helper/inventory/real-relation/indexed-domain/r4 owner, ExecutionMask, Issue #207 selector, Issue #371 M32 b64 double-CELL, Issue #360 GM-obligation helper owner/caller/layout, and bounded reduction-source mutations rejected") def main() -> int: diff --git a/spec/catalog/scalar-forms.json b/spec/catalog/scalar-forms.json index 72a4735be..a2ae7a54c 100644 --- a/spec/catalog/scalar-forms.json +++ b/spec/catalog/scalar-forms.json @@ -3,7 +3,7 @@ "family_constraint_count": 0, "family_constraints": [], "form_constraint_count": 98, - "form_count": 466, + "form_count": 467, "forms": [ { "asm": "acrc rst_type", @@ -34220,6 +34220,28 @@ "semantic_handler": "ScalarBinaryW", "semantic_summary": "XORW applies the selected right-source transformation before its encoded logical left shift, performs word bitwise exclusive OR, and publishes the low 32-bit result sign-extended to XLEN.", "status": "accepted" + }, + { + "asm": "sync.core", + "constraints": [], + "encoding": [ + { + "index": 0, + "mask": "0xffffffff", + "match": "0x0330a02b", + "width_bits": 32 + } + ], + "encoding_kind": "L32", + "fields": [], + "length_bits": 32, + "mnemonic": "SYNC.CORE", + "semantic_family": "SYS", + "semantic_group": "SYS", + "semantic_handler": "SyncCore", + "semantic_summary": "Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations.", + "status": "accepted", + "form_id": "sync_core_32_0330a02b7c32" } ], "isa": "PTO Instruction Set Architecture", @@ -34243,5 +34265,5 @@ } ], "schema_version": 2, - "semantic_handler_count": 72 + "semantic_handler_count": 73 } diff --git a/spec/evidence/adr-index.json b/spec/evidence/adr-index.json index 3a9620097..66750f862 100644 --- a/spec/evidence/adr-index.json +++ b/spec/evidence/adr-index.json @@ -9301,6 +9301,105 @@ "title": "Scalar, system, and queue operations", "title_zh": "\u6807\u91cf\u3001\u7cfb\u7edf\u4e0e\u961f\u5217\u64cd\u4f5c" }, + { + "accepted": "2026-10-08", + "affected_ndf": [ + "PTO-SYNC-CORE-DECISION-BINDING-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001", + "PTO-REQ-STATE-001", + "PTO-REQ-TILE-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SPECULATION-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001", + "PTO-TLOAD-MEMORY-001", + "PTO-TMOV-CONTRACT-001", + "PTO-BSTART-TLOAD-WEIGHT-COOPERATIVE-001", + "PTO-BSTART-TIMG2COL-COOPERATIVE-001" + ], + "affected_units": [ + "PTO-SCALAR-SYNC-CORE", + "PTO-ARCH-DATA-TYPES-MEMORY-MODEL", + "PTO-ARCH-DATA-TYPES-TRAP-CONTEXT", + "PTO-ARCH-DISPATCH-TOP-LEVEL", + "PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION", + "PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS", + "PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS", + "PTO-ARCH-MEMORY-MODEL-ORDERING", + "PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY", + "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT", + "PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS", + "PTO-ARCH-STATE-PE-EXECUTION-CONTEXT", + "PTO-ARCH-STATE-CORE-SYNCHRONIZATION", + "PTO-ARCH-STATE-KERNEL-LIFECYCLE", + "PTO-ARCH-STATE-TRAP-CONTEXT", + "PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING", + "PTO-BLOCK-MODEL-COMMIT-VALIDATION", + "PTO-BLOCK-MODEL-DISPATCH-START", + "PTO-BLOCK-MODEL-LIFECYCLE-RESET", + "PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS", + "PTO-BLOCK-MODEL-STATE-CONTROL-STATE", + "PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE", + "PTO-SCALAR-MODEL-DISPATCH-DECODE", + "PTO-SCALAR-MODEL-DISPATCH-SYS", + "PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL", + "PTO-SCALAR-MODEL-SYS-SEMANTICS", + "PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS", + "PTO-TILE-MODEL-STATE-LOCAL-REGISTERS", + "PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP", + "PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION", + "PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH", + "PTO-TILE-MODEL-MEMORY-LOAD-STORE", + "PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU", + "PTO-BLOCK-MODEL-DISPATCH-TLSU-GMOV", + "PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS", + "PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR", + "PTO-BLOCK-MODEL-STATE-SHARED-GENERATION", + "PTO-BLOCK-MODEL-DISPATCH-WEIGHT-SHARED-EXEC", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-EXECUTION", + "PTO-BLOCK-MODEL-STATE-TYPES", + "PTO-SCALAR-MODEL-AGU-MEMORY", + "PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT", + "PTO-TILE-TLOAD", + "PTO-TILE-TMOV", + "PTO-TILE-MODEL-STATE-SHARED-REGISTERS", + "PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-SCHEMA" + ], + "approvers": [ + "ckwllawliet <641433195@qq.com>" + ], + "authors": [ + "ckwllawliet <641433195@qq.com>" + ], + "baseline": "e182c9b70d54a3a264bac54af9b915a0e43bb519", + "created": "2026-10-08", + "id": "ADR-SCALAR-0007", + "implementation_issue": "https://github.com/PTO-ISA/pto-spec/issues/360", + "interface_change": true, + "legacy_ids": [], + "path": "docs/status/decisions/ADR-SCALAR-0007-sync-core-collective-phase-barrier.md", + "rejected": null, + "release_impact": "required", + "resolves": [], + "status": "accepted", + "superseded": null, + "superseded_by": [], + "supersedes": [], + "target_releases": [ + "unassigned" + ], + "title": "SYNC.CORE collective architectural phase barrier", + "title_zh": "SYNC.CORE \u96c6\u5408\u5f0f\u67b6\u6784\u9636\u6bb5\u5c4f\u969c" + }, { "accepted": "2026-07-31", "affected_ndf": [ @@ -14476,14 +14575,14 @@ "summary": { "draft_count": 9, "legacy_id_count": 304, - "record_count": 115, + "record_count": 116, "type_counts": { "BLOCK": 19, "CUBE": 18, "GOV": 13, "MEM": 11, "NUM": 22, - "SCALAR": 6, + "SCALAR": 7, "STATE": 13, "TILE": 13 } diff --git a/spec/evidence/architecture-readiness.json b/spec/evidence/architecture-readiness.json index 9ea68b23e..72182630d 100644 --- a/spec/evidence/architecture-readiness.json +++ b/spec/evidence/architecture-readiness.json @@ -99,7 +99,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-LOCAL-CAPACITY-ISOLATION-002", "PTO-AVS-TILE-SHARED-CAPACITY-ISOLATION-002", "PTO-AVS-TILE-SIZECODE-SHAPE-002", @@ -242,6 +241,7 @@ "PTO-AVS-BLOCK-EXPDIF-OPERATION-VIEW-R4-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-MASK-AWARE-EXPANSION-DECODED-003", @@ -338,14 +338,34 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TCI-SCHEMA-001", "PTO-AVS-BLOCK-TCVT-SOURCE-LAYOUT-MASK-DECODED-002", @@ -446,6 +466,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -491,7 +512,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-BLOCK-TTRI-SCHEMA-001", "PTO-AVS-BLOCK-TUNPACK-EXPAND-BF16-CHAIN-R4-001", "PTO-AVS-BSTART-PREDECESSOR-SEQUENTIAL-002", @@ -718,6 +738,7 @@ "PTO-AVS-BLOCK-EXECUTION-MASK-ROWMAJOR-EXCLUDED-001", "PTO-AVS-BLOCK-EXECUTION-MASK-SELECT-DECODED-BUNDLE-001", "PTO-AVS-BLOCK-EXPDIF-OPERATION-VIEW-R4-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-MASK-AWARE-EXPANSION-DECODED-003", "PTO-AVS-BLOCK-MGATHER-CAS-DUP-001", "PTO-AVS-BLOCK-MGATHER-CAS-EXEC-001", @@ -755,6 +776,22 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", "PTO-AVS-BLOCK-TCOLSUM-DEST-001", @@ -799,6 +836,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -1207,8 +1245,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -1665,6 +1707,7 @@ "stage": "executable", "subject_id": "ADR-BLOCK-0012", "test_ids": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", "PTO-AVS-ARCH-DECODER-COVERAGE-001", "PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001", "PTO-AVS-ARCH-E6M2-CONVERSION-BOUNDARIES-002", @@ -1757,6 +1800,7 @@ "PTO-AVS-BLOCK-FRET-STK-RANGE-001", "PTO-AVS-BLOCK-FRET-STK-RESTART-003", "PTO-AVS-BLOCK-FRET-STK-TARGET-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-L-BSTOP-DECODE-001", "PTO-AVS-BLOCK-L-BSTOP-EXEC-001", "PTO-AVS-BLOCK-MASK-AWARE-EXPANSION-DECODED-003", @@ -2119,14 +2163,34 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", @@ -2185,6 +2249,7 @@ "PTO-AVS-SCALAR-BRU-CANON-001", "PTO-AVS-SCALAR-FSU-CANON-001", "PTO-AVS-SCALAR-MODEL-DISPATCH-TOP-LEVEL-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", "PTO-AVS-SCALAR-SYS-CANON-001", "PTO-AVS-TILE-MODEL-LEGALITY-MATRIX-SHAPE-STATIC-001", "PTO-AVS-TILE-TCVT-ALIAS-001", @@ -2502,6 +2567,7 @@ "PTO-AVS-ARCH-DATA-TYPES-INTEGER-STATIC-001", "PTO-AVS-ARCH-FEATURES-TILE-ALLOCATION-STATIC-001", "PTO-AVS-ARCH-GLOBAL-MEMORY-ACCESS-MASK-BOUNDARY-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", "PTO-AVS-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS-STATIC-001", "PTO-AVS-ARCH-PREDICATE-NULL-GPR-PADDING-002", "PTO-AVS-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY-STATIC-001", @@ -2565,19 +2631,39 @@ "PTO-AVS-BLOCK-MODEL-STATE-TYPES-STATIC-001", "PTO-AVS-BLOCK-MSCATTER-MASK-EXECUTION-MASK-BUNDLE-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HETEROGENEOUS-003", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", "PTO-AVS-BLOCK-TCVT-SOURCE-LAYOUT-MASK-DECODED-002", @@ -2620,6 +2706,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -2900,6 +2987,8 @@ "PTO-AVS-BLOCK-EXECUTION-MASK-PARTIAL-DEFINED-SELECT-DECODED-001", "PTO-AVS-BLOCK-EXECUTION-MASK-PREDICATETILE-BINARY-001", "PTO-AVS-BLOCK-EXECUTION-MASK-SELECT-DECODED-BUNDLE-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", "PTO-AVS-BLOCK-MATRIX-DEST-SHAPE-001", "PTO-AVS-BLOCK-MGATHER-MASK-EXECUTION-MASK-BUNDLE-001", "PTO-AVS-BLOCK-MODEL-DISPATCH-COMMANDS-STATIC-001", @@ -3255,18 +3344,48 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", @@ -3330,6 +3449,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -3606,6 +3726,7 @@ "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", "PTO-AVS-BLOCK-SUBVIEW-SHARED-001", "PTO-AVS-BLOCK-TIMG2COL-COOPERATIVE-001", "PTO-AVS-BLOCK-TIMG2COL-DESCRIPTOR-ISOLATION-001", @@ -4198,6 +4319,11 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-NEGATIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", "PTO-AVS-BLOCK-TCVT-SOURCE-LAYOUT-MASK-DECODED-002", "PTO-AVS-BLOCK-TESTBUNDLEDATAATTRIBUTES-EXECUTION-001", @@ -4232,7 +4358,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-CUBE-ALLOCATE-001", "PTO-AVS-TILE-CUBE-CELL-CAPACITY-005", "PTO-AVS-TILE-CUBE-CELL-M16-B4-002", @@ -4617,6 +4742,7 @@ "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", @@ -4680,6 +4806,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -4851,6 +4978,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -5148,6 +5276,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -5374,6 +5503,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -5824,6 +5954,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -5945,6 +6076,7 @@ "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", @@ -5987,6 +6119,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -6169,26 +6302,57 @@ "PTO-AVS-BLOCK-MODEL-DISPATCH-SHARED-TLSU-STATIC-001", "PTO-AVS-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-STATIC-001", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HETEROGENEOUS-003", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SUBVIEW-SHARED-001", "PTO-AVS-BLOCK-TMATMUL-INACTIVE-SHARED-029", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-READINESS-012", "PTO-AVS-BLOCK-TMATMUL-SHARED-UNDEF-020", "PTO-AVS-BLOCK-TMATMUL-SHARED-WAIT-002", @@ -6552,23 +6716,43 @@ "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-318", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HETEROGENEOUS-003", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", @@ -6602,14 +6786,34 @@ "PTO-AVS-BLOCK-BSTART-TMOV-DECODE-001", "PTO-AVS-BLOCK-BSTART-TSTORE-DECODE-001", "PTO-AVS-BLOCK-MODEL-DISPATCH-SHARED-TLSU-STATIC-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TMOV-EXTRACT-001", "PTO-AVS-BLOCK-TMOV-FORMS-001", @@ -6623,7 +6827,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-TMOV-DEFINED-001", "PTO-AVS-TILE-TMOV-STATIC-001", "PTO-AVS-TILE-TSTORE-DIRECT-001", @@ -6682,6 +6885,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-CONVERT-001", "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-LOCAL64-FAMILIES-001", "PTO-AVS-TILE-M32-B64-DOUBLE-CELL-001", "PTO-AVS-TILE-MODEL-LEGALITY-DTYPE-LAYOUT-STATIC-001", @@ -6965,6 +7169,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -7096,6 +7301,7 @@ "PTO-AVS-ARCH-CONCRETE-SPECIAL-VALUES-EXEC-002", "PTO-AVS-ARCH-CONCRETE-SUBNORMAL-EXEC-001", "PTO-AVS-ARCH-CONCRETE-TILE-EXEC-006", + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", "PTO-AVS-ARCH-CUBE-RESET-001", "PTO-AVS-ARCH-DECODER-COVERAGE-001", "PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001", @@ -7161,6 +7367,8 @@ "PTO-AVS-SCALAR-MODEL-FSU-ARITHMETIC-STATIC-001", "PTO-AVS-SCALAR-MODEL-FSU-SCALAR-FP-STATIC-001", "PTO-AVS-SCALAR-MODEL-SYS-SEMANTICS-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", "PTO-AVS-SCALAR-TESTSCALARATOMICDISPATCHEFFECTS-ATOMICITY-001", "PTO-AVS-SCALAR-TESTSCALARATOMICS-ATOMICITY-001", "PTO-AVS-SCALAR-TESTSCALARFLOATING-EXECUTION-001", @@ -7676,6 +7884,7 @@ "PTO-AVS-BLOCK-FRET-STK-TARGET-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-HL-QMT-CONTROL-001", @@ -7757,6 +7966,22 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", "PTO-AVS-BLOCK-TCOLSUM-DEST-001", @@ -7859,7 +8084,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-BLOCK-TUNPACK-EXPAND-BF16-CHAIN-R4-001", "PTO-AVS-BLOCK-XB-DECODE-001", "PTO-AVS-BLOCK-XB-RSVD-001", @@ -7869,6 +8093,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -8302,8 +8527,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -9915,6 +10144,7 @@ "PTO-AVS-BLOCK-FRET-STK-TARGET-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-HL-QMT-CONTROL-001", @@ -9990,6 +10220,22 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", "PTO-AVS-BLOCK-TCOLSUM-DEST-001", @@ -10090,7 +10336,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-BLOCK-TUNPACK-EXPAND-BF16-CHAIN-R4-001", "PTO-AVS-BLOCK-XB-DECODE-001", "PTO-AVS-BLOCK-XB-RSVD-001", @@ -10673,6 +10918,7 @@ "PTO-AVS-SCALAR-FCVTZ-RAW-SD-002", "PTO-AVS-SCALAR-FDIV-DECODE-001", "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SCALAR-FENCE-I-DECODE-001", "PTO-AVS-SCALAR-FEQ-DECODE-001", "PTO-AVS-SCALAR-FEQS-DECODE-001", @@ -11312,6 +11558,7 @@ "PTO-AVS-SCALAR-SWAPW-RESULT-001", "PTO-AVS-SCALAR-SWI-DECODE-001", "PTO-AVS-SCALAR-SWI-U-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", "PTO-AVS-SCALAR-TLB-IA-DECODE-001", "PTO-AVS-SCALAR-TLB-IALL-DECODE-001", "PTO-AVS-SCALAR-TLB-IAV-DECODE-001", @@ -11505,6 +11752,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -11921,8 +12169,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -12793,6 +13045,7 @@ "PTO-AVS-SCALAR-FCVTA-DECODE-001", "PTO-AVS-SCALAR-SETRET-DECODE-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-MGATHER-BYTES-001", "PTO-AVS-TILE-MGATHER-CUBE-LAYOUTS-001", "PTO-AVS-TILE-MGATHER-CUBE-PHYSICAL-SLACK-002", @@ -13034,23 +13287,43 @@ "PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HETEROGENEOUS-003", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-SHARED-001", @@ -13133,6 +13406,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -13192,6 +13466,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-PACK-001", "PTO-AVS-TILE-EXECUTION-MASK-PERMUTE-SHUF-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-GENERATION-LOCAL64-002", "PTO-AVS-TILE-GM-ATOM-RED-FAMILY-001", "PTO-AVS-TILE-GMOV-COPY-001", @@ -15154,6 +15429,7 @@ "PTO-AVS-ARCH-CONCRETE-SUBNORMAL-EXEC-001", "PTO-AVS-ARCH-CONCRETE-TILE-EXEC-006", "PTO-AVS-ARCH-CONCRETE-VALUE-CLASSES-EXEC-003", + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", "PTO-AVS-ARCH-CUBE-RESET-001", "PTO-AVS-ARCH-DATA-TYPES-FORMAT-E1M2X2-STATIC-001", "PTO-AVS-ARCH-DATA-TYPES-FORMAT-E2M1X2-STATIC-001", @@ -15186,6 +15462,9 @@ "PTO-AVS-ARCH-FP16-DECOMP-001", "PTO-AVS-ARCH-FP32-DECOMP-001", "PTO-AVS-ARCH-FP64-DECOMP-001", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", "PTO-AVS-ARCH-HF32-DECOMP-001", "PTO-AVS-ARCH-HIF4-SCALE-001", "PTO-AVS-ARCH-HIF4X2-DECOMP-001", @@ -15204,6 +15483,7 @@ "PTO-AVS-ARCH-MEMORY-MODEL-INSTRUCTION-FETCH-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-MINMAX-AVAILABILITY-BOUND-002", "PTO-AVS-ARCH-MINMAX-ORDER-KEYS-EXEC-001", "PTO-AVS-ARCH-MINMAX-ORDERING-TIES-EXEC-004", @@ -15249,6 +15529,7 @@ "PTO-AVS-ARCH-REFERENCE-QUANTIZATION-SPECIAL-BINARY-002", "PTO-AVS-ARCH-REFERENCE-TILE-UNARY-005", "PTO-AVS-ARCH-STATE-TRAP-CONTEXT-STATIC-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", "PTO-AVS-ARCH-SYSREG-RESET-ACCESS-001", "PTO-AVS-ARCH-SYSTEM-REGISTERS-ADDRESSING-STATIC-001", "PTO-AVS-ARCH-SYSTEM-REGISTERS-CONTEXT-INDEX-001", @@ -15528,6 +15809,7 @@ "PTO-AVS-BLOCK-FRET-STK-TARGET-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-HL-QMT-CONTROL-001", @@ -15987,23 +16269,43 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HETEROGENEOUS-003", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", @@ -16116,6 +16418,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -16740,6 +17043,7 @@ "PTO-AVS-SCALAR-FCVTZ-NARROW-SOURCES-003", "PTO-AVS-SCALAR-FCVTZ-RAW-SD-002", "PTO-AVS-SCALAR-FDIV-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SCALAR-FEQ-DECODE-001", "PTO-AVS-SCALAR-FEQS-DECODE-001", "PTO-AVS-SCALAR-FEXP-DECODE-001", @@ -17378,6 +17682,7 @@ "PTO-AVS-SCALAR-SWAPW-RESULT-001", "PTO-AVS-SCALAR-SWI-DECODE-001", "PTO-AVS-SCALAR-SWI-U-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", "PTO-AVS-SCALAR-SYS-CANON-001", "PTO-AVS-SCALAR-TESTSCALARATOMICDISPATCHEFFECTS-ATOMICITY-001", "PTO-AVS-SCALAR-TESTSCALARATOMICS-ATOMICITY-001", @@ -17441,6 +17746,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-PERMUTE-SHUF-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -17995,8 +18301,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -18939,12 +19249,14 @@ "PTO-AVS-ARCH-ADDRESS-SPACE-PHYSICAL-RESET-002", "PTO-AVS-ARCH-DEPENDENCIES-ORDER-004", "PTO-AVS-ARCH-GLOBAL-MEMORY-ACCESS-MASK-BOUNDARY-001", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", "PTO-AVS-ARCH-MEMORY-MODEL-ADDRESS-SPACE-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-ATOMICITY-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-PRODUCTION-EVENTS-ORDER-002", "PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", @@ -18962,6 +19274,7 @@ "PTO-AVS-BLOCK-BSTART-TSTORE-DECODE-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-MGATHER-CAS-DUP-001", @@ -19001,8 +19314,24 @@ "PTO-AVS-BLOCK-MSCATTER-SCHEMA-001", "PTO-AVS-BLOCK-MSCATTER-STAGE2-WIDTH-001", "PTO-AVS-BLOCK-MSCATTER-ZERO-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TLOAD-CUBE-002", @@ -19034,7 +19363,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-SCALAR-CASB-DECODE-001", "PTO-AVS-SCALAR-CASB-MATCH-001", "PTO-AVS-SCALAR-CASB-MISMATCH-001", @@ -20573,7 +20901,8 @@ "PTO-AVS-SCALAR-SW-PCR-DECODE-001", "PTO-AVS-SCALAR-SW-U-DECODE-001", "PTO-AVS-SCALAR-SWI-DECODE-001", - "PTO-AVS-SCALAR-SWI-U-DECODE-001" + "PTO-AVS-SCALAR-SWI-U-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001" ], "unit_ids": [ "PTO-SCALAR-C-LDI", @@ -21112,6 +21441,7 @@ "PTO-AVS-BLOCK-BSTART-TSTORE-DECODE-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-MGATHER-CAS-DUP-001", @@ -21151,6 +21481,22 @@ "PTO-AVS-BLOCK-MSCATTER-SCHEMA-001", "PTO-AVS-BLOCK-MSCATTER-STAGE2-WIDTH-001", "PTO-AVS-BLOCK-MSCATTER-ZERO-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TLOAD-CUBE-002", "PTO-AVS-BLOCK-TLOAD-CUBE-ACCESS-003", @@ -21181,7 +21527,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-GMOV-COPY-001", "PTO-AVS-TILE-GMOV-STATIC-001", @@ -21315,6 +21660,7 @@ "PTO-AVS-BLOCK-BSTART-TSTORE-DECODE-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-MGATHER-CAS-DUP-001", @@ -21354,8 +21700,24 @@ "PTO-AVS-BLOCK-MSCATTER-SCHEMA-001", "PTO-AVS-BLOCK-MSCATTER-STAGE2-WIDTH-001", "PTO-AVS-BLOCK-MSCATTER-ZERO-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-TLOAD-CUBE-002", @@ -21387,7 +21749,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-GMOV-COPY-001", "PTO-AVS-TILE-GMOV-STATIC-001", @@ -21501,6 +21862,11 @@ "PTO-AVS-BLOCK-MSCATTER-MASK-EXECUTION-MASK-BUNDLE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-MASK-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", @@ -21529,7 +21895,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-TLOAD-16X16-STRIDE-003", "PTO-AVS-TILE-TLOAD-DIRECT-001", @@ -21785,8 +22150,10 @@ "PTO-AVS-BLOCK-EXECUTION-MASK-SELECT-DECODED-BUNDLE-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", "PTO-AVS-BLOCK-MASK-AWARE-EXPANSION-DECODED-003", "PTO-AVS-BLOCK-MGATHER-CAS-DUP-001", "PTO-AVS-BLOCK-MGATHER-CAS-EXEC-001", @@ -22169,6 +22536,12 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", @@ -22226,7 +22599,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-TILE-CUBE-ALLOCATE-001", "PTO-AVS-TILE-CUBE-DESCRIPTOR-003", "PTO-AVS-TILE-CUBE-RECONFIGURE-002", @@ -22465,19 +22837,32 @@ "stage": "executable", "subject_id": "ADR-MEM-0011", "test_ids": [ + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", "PTO-AVS-ARCH-DATA-TYPES-MEMORY-MODEL-STATIC-001", "PTO-AVS-ARCH-DATA-TYPES-TRAP-CONTEXT-STATIC-001", "PTO-AVS-ARCH-DEPENDENCIES-ORDER-004", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-PRODUCTION-EVENTS-ORDER-002", "PTO-AVS-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT-STATIC-001", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", "PTO-AVS-ARCH-RC-CONCURRENCY-ORDER-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", "PTO-AVS-ARCH-TEMPORARY-QUEUE-VALIDITY-001", "PTO-AVS-ARCH-TESTVISIBLETRAPCONTEXTREGISTERS-FAULT-001", "PTO-AVS-ARCH-TILE-EVENTS-ORDER-003", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-MEM-SNAPSHOT-001", "PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001", @@ -24191,6 +24576,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -26468,6 +26854,7 @@ "PTO-AVS-SCALAR-FCVTZ-NARROW-SOURCES-003", "PTO-AVS-SCALAR-FCVTZ-RAW-SD-002", "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SCALAR-FENCE-I-DECODE-001", "PTO-AVS-SCALAR-FMAX-DECODE-001", "PTO-AVS-SCALAR-FMIN-DECODE-001", @@ -27052,6 +27439,649 @@ ], "validated_commit": null }, + { + "adr_ids": [ + "ADR-SCALAR-0007" + ], + "blockers": [], + "ndf_ids": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-B-ASSEMBLE-SPECULATION-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001", + "PTO-BSTART-TIMG2COL-COOPERATIVE-001", + "PTO-BSTART-TLOAD-WEIGHT-COOPERATIVE-001", + "PTO-REQ-STATE-001", + "PTO-REQ-TILE-001", + "PTO-SYNC-CORE-DECISION-BINDING-001", + "PTO-TLOAD-MEMORY-001", + "PTO-TMOV-CONTRACT-001" + ], + "released_versions": [], + "stage": "executable", + "subject_id": "ADR-SCALAR-0007", + "test_ids": [ + "PTO-AVS-ARCH-CONCRETE-ACCESS-EXEC-005", + "PTO-AVS-ARCH-CONCRETE-RESET-EXEC-007", + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "PTO-AVS-ARCH-CUBE-RESET-001", + "PTO-AVS-ARCH-DATA-TYPES-MEMORY-MODEL-STATIC-001", + "PTO-AVS-ARCH-DATA-TYPES-TRAP-CONTEXT-STATIC-001", + "PTO-AVS-ARCH-DECODER-COVERAGE-001", + "PTO-AVS-ARCH-DEPENDENCIES-ORDER-004", + "PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001", + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", + "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003", + "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", + "PTO-AVS-ARCH-MEMORY-MODEL-GM-OBLIGATIONS-STATIC-001", + "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", + "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-COMMAND-64-004", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-ILLEGAL-ENCODING-005", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-ODD-PC-001", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-16-002", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-32-001", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-48-003", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-BODY-ENTRY-005", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-TRUNCATED-FETCH-001", + "PTO-AVS-ARCH-NEXT-INSTRUCTION-UNMAPPED-FETCH-001", + "PTO-AVS-ARCH-PRODUCTION-EVENTS-ORDER-002", + "PTO-AVS-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY-STATIC-001", + "PTO-AVS-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT-STATIC-001", + "PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001", + "PTO-AVS-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS-STATIC-001", + "PTO-AVS-ARCH-QUEUE-READINESS-RECOVERY-001", + "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", + "PTO-AVS-ARCH-RC-CONCURRENCY-ORDER-001", + "PTO-AVS-ARCH-STATE-CORE-SYNCHRONIZATION-STATIC-001", + "PTO-AVS-ARCH-STATE-KERNEL-LIFECYCLE-STATIC-001", + "PTO-AVS-ARCH-STATE-PE-EXECUTION-CONTEXT-STATIC-001", + "PTO-AVS-ARCH-STATE-TRAP-CONTEXT-STATIC-001", + "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "PTO-AVS-ARCH-SYSTEM-REGISTERS-ADDRESSING-STATIC-001", + "PTO-AVS-ARCH-TEMPORARY-QUEUE-VALIDITY-001", + "PTO-AVS-ARCH-TESTCROSSDISPATCHEXECUTIONCONTRACT-EXECUTION-001", + "PTO-AVS-ARCH-TESTSCALARQUEUEDISPATCH-EXECUTION-001", + "PTO-AVS-ARCH-TESTSCALARTEMPORARYQUEUES-EXECUTION-001", + "PTO-AVS-ARCH-TESTTRAPROUTINGPOLICY-FAULT-001", + "PTO-AVS-ARCH-TESTUNIFIEDINSTRUCTIONDISPATCH-EXECUTION-001", + "PTO-AVS-ARCH-TESTVISIBLETRAPCONTEXTREGISTERS-FAULT-001", + "PTO-AVS-ARCH-TILE-EVENTS-ORDER-003", + "PTO-AVS-ARCH-TRAP-ATTRIBUTES-FAULT-003", + "PTO-AVS-ARCH-TRAP-BINDINGS-FAULT-002", + "PTO-AVS-ARCH-TRAP-CONTROL-FAULT-001", + "PTO-AVS-ARCH-TRAP-PORTABLE-FAULT-004", + "PTO-AVS-BLOCK-ASSEMBLE-DYNAMIC-DOMAIN-002", + "PTO-AVS-BLOCK-ASSEMBLE-OUTPUT-STRUCTURE-001", + "PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001", + "PTO-AVS-BLOCK-ASSEMBLE-REQUIRED-CELL-COUNT-003", + "PTO-AVS-BLOCK-B-IOT-RELATIVE-GENERATION-002", + "PTO-AVS-BLOCK-BODY-ENTRY-EMPTY-COMMIT-001", + "PTO-AVS-BLOCK-BSTART-TIMG2COL-LOCAL-ASSEMBLE-002", + "PTO-AVS-BLOCK-BSTART-TIMG2COL-SHARED-001", + "PTO-AVS-BLOCK-BSTART-TIMG2COL-SHARED-SINGLETON-PE2-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-MODEL-COMMIT-VALIDATION-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-GM-OBLIGATION-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-SHARED-TLSU-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-START-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-TIMG2COL-EXECUTION-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-TIMG2COL-SCHEMA-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-TLSU-GMOV-STATIC-001", + "PTO-AVS-BLOCK-MODEL-DISPATCH-WEIGHT-SHARED-EXEC-STATIC-001", + "PTO-AVS-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-STATIC-001", + "PTO-AVS-BLOCK-MODEL-LIFECYCLE-RESET-STATIC-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH-STATIC-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS-STATIC-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-STATIC-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-STATIC-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR-STATIC-001", + "PTO-AVS-BLOCK-MODEL-STATE-CONTROL-STATE-STATIC-001", + "PTO-AVS-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-STATIC-001", + "PTO-AVS-BLOCK-MODEL-STATE-SHARED-GENERATION-STATIC-001", + "PTO-AVS-BLOCK-MODEL-STATE-TYPES-STATIC-001", + "PTO-AVS-BLOCK-RANGE-APPLICABILITY-TOTALITY-001", + "PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-001", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-002", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-003", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-004", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-005", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-006", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-007", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-008", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-009", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-010", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-011", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-012", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-013", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-014", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-015", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-016", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-017", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-018", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-019", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-020", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-021", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-022", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-023", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-024", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-025", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-026", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-027", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-028", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-029", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-030", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-031", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-032", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-033", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-034", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-035", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-036", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-037", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-038", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-039", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-040", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-041", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-042", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-043", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-044", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-045", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-046", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-047", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-048", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-049", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-050", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-051", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-052", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-053", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-054", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-055", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-056", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-057", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-058", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-059", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-060", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-061", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-062", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-063", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-064", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-065", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-066", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-067", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-068", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-069", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-070", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-071", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-072", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-073", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-074", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-075", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-076", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-077", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-078", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-079", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-080", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-081", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-082", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-083", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-084", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-085", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-086", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-087", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-088", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-089", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-090", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-091", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-092", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-093", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-094", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-095", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-096", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-097", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-098", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-099", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-100", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-101", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-102", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-103", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-104", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-105", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-106", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-107", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-108", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-109", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-110", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-111", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-112", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-113", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-114", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-115", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-116", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-117", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-118", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-119", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-120", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-121", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-122", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-123", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-124", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-125", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-126", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-127", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-128", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-129", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-130", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-131", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-132", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-133", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-134", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-135", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-136", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-137", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-138", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-139", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-140", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-141", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-142", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-143", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-144", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-145", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-146", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-147", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-148", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-149", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-150", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-151", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-152", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-153", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-154", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-155", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-156", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-157", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-158", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-159", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-160", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-161", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-162", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-163", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-164", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-165", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-166", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-167", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-168", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-169", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-170", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-171", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-172", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-173", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-174", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-175", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-176", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-177", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-178", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-179", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-180", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-181", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-182", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-183", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-184", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-185", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-186", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-187", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-188", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-189", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-190", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-191", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-192", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-193", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-194", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-195", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-196", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-197", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-198", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-199", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-200", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-201", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-202", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-203", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-204", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-205", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-206", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-207", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-208", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-209", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-210", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-211", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-212", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-213", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-214", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-215", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-216", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-217", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-218", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-219", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-220", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-221", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-222", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-223", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-224", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-225", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-226", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-227", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-228", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-229", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-230", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-231", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-232", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-233", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-234", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-235", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-236", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-237", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-238", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-239", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-240", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-241", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-242", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-243", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-244", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-245", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-246", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-247", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-248", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-249", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-250", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-251", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-252", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-253", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-254", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-255", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-256", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-257", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-258", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-259", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-260", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-261", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-262", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-263", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-264", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-265", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-266", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-267", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-268", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-269", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-270", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-271", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-272", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-273", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-274", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-275", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-276", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-277", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-278", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-279", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-280", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-281", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-282", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-283", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-284", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-285", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-286", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-287", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-288", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-289", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-290", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-291", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-292", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-293", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-294", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-295", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-296", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-297", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-298", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-299", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-300", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-301", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-302", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-303", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-304", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-305", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-306", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-307", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-308", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-309", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-310", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-311", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-312", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-313", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-314", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-315", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-316", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-317", + "PTO-AVS-BLOCK-RANGE-OPERATION-MATRIX-318", + "PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001", + "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", + "PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", + "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", + "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", + "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", + "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", + "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", + "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", + "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", + "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", + "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", + "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", + "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", + "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", + "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", + "PTO-AVS-BLOCK-SUBVIEW-SHARED-001", + "PTO-AVS-BLOCK-TESTBUNDLECONFIGURATIONSTATE-STATE-TRANSITION-001", + "PTO-AVS-BLOCK-TESTBUNDLEOPERATIONDESCRIPTORFIELDS-EXECUTION-001", + "PTO-AVS-BLOCK-TIMG2COL-COOPERATIVE-001", + "PTO-AVS-BLOCK-TIMG2COL-PARTICIPANT-PARAMETERS-001", + "PTO-AVS-BLOCK-TIMG2COL-SHAPE-001", + "PTO-AVS-BLOCK-TLOAD-SHARED-001", + "PTO-AVS-BLOCK-TLOAD-WEIGHT-COOPERATIVE-001", + "PTO-AVS-BLOCK-TLOAD-WEIGHT-LEGALITY-001", + "PTO-AVS-BLOCK-TLOAD-WEIGHT-MEMORY-001", + "PTO-AVS-BLOCK-TMATMUL-INACTIVE-SHARED-029", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", + "PTO-AVS-BLOCK-TMATMUL-SHARED-READINESS-012", + "PTO-AVS-BLOCK-TMATMUL-SHARED-UNDEF-020", + "PTO-AVS-BLOCK-TMATMUL-SHARED-WAIT-002", + "PTO-AVS-BLOCK-TMOV-PUBLISH-001", + "PTO-AVS-BLOCK-TSTORE-MASK-001", + "PTO-AVS-BLOCK-TSTORE-SHAPE-001", + "PTO-AVS-BLOCK-TSTORE-UNDEF-001", + "PTO-AVS-BSTART-PREDECESSOR-SEQUENTIAL-002", + "PTO-AVS-BSTART-PREDECESSOR-TAKEN-001", + "PTO-AVS-SCALAR-AGU-CANON-001", + "PTO-AVS-SCALAR-AGU-SRCRTYPE-MAP-002", + "PTO-AVS-SCALAR-ALU-CANON-001", + "PTO-AVS-SCALAR-AMO-CANON-001", + "PTO-AVS-SCALAR-BINARY-EFFECTS-001", + "PTO-AVS-SCALAR-BODY-ENTRY-DECODED-FAULT-001", + "PTO-AVS-SCALAR-BODY-ENTRY-SETC-LTUI-001", + "PTO-AVS-SCALAR-BODY-ENTRY-SYS-001", + "PTO-AVS-SCALAR-BODY-ENTRY-TILE-BLOCK-002", + "PTO-AVS-SCALAR-BODY-ENTRY-UNDECODED-001", + "PTO-AVS-SCALAR-BRU-CANON-001", + "PTO-AVS-SCALAR-FSU-CANON-001", + "PTO-AVS-SCALAR-MODEL-AGU-MEMORY-STATIC-001", + "PTO-AVS-SCALAR-MODEL-DISPATCH-DECODE-STATIC-001", + "PTO-AVS-SCALAR-MODEL-DISPATCH-SYS-STATIC-001", + "PTO-AVS-SCALAR-MODEL-DISPATCH-TOP-LEVEL-STATIC-001", + "PTO-AVS-SCALAR-MODEL-SYS-SEMANTICS-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001", + "PTO-AVS-SCALAR-SYNC-CORE-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001", + "PTO-AVS-SCALAR-SYS-CANON-001", + "PTO-AVS-SCALAR-SYS-EFFECTS-001", + "PTO-AVS-SCALAR-SYS-FENCE-TOTALITY-001", + "PTO-AVS-SCALAR-SYS-MAINT-LEGALITY-001", + "PTO-AVS-SCALAR-SYS-MAINT-SELECTOR-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-0-255-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-1024-1279-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-1280-1535-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-1536-1791-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-1792-1871-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-256-511-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-512-767-001", + "PTO-AVS-SCALAR-SYS-REG-XFER-768-1023-001", + "PTO-AVS-SCALAR-SYS-REQUEST-TOTALITY-001", + "PTO-AVS-SCALAR-SYS-RW-ALIASES-001", + "PTO-AVS-SCALAR-SYS-SWAP-ALIAS-0-7-001", + "PTO-AVS-SCALAR-SYS-SWAP-ALIAS-16-23-001", + "PTO-AVS-SCALAR-SYS-SWAP-ALIAS-24-31-001", + "PTO-AVS-SCALAR-SYS-SWAP-ALIAS-8-15-001", + "PTO-AVS-SCALAR-SYS-TRAP-RECOVERY-001", + "PTO-AVS-SCALAR-TESTSCALARMEMORY-EXECUTION-001", + "PTO-AVS-SCALAR-TESTSCALARPAIRMEMORYCOMPLETION-EXECUTION-001", + "PTO-AVS-SCALAR-TESTSCALARSYSTEM-EXECUTION-001", + "PTO-AVS-SCALAR-TESTSCALARSYSTEMDISPATCHEFFECTS-EXECUTION-001", + "PTO-AVS-SCALAR-TESTSERVICEREQUESTCONTROL-EXECUTION-001", + "PTO-AVS-SYS-SYNC-CORE-EXEC-001", + "PTO-AVS-SYS-SYNC-CORE-PLACE-001", + "PTO-AVS-TILE-CUBE-PADDING-001", + "PTO-AVS-TILE-CUBE-SHARED-REJECT-001", + "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", + "PTO-AVS-TILE-FEATURE-MAP-STATE-001", + "PTO-AVS-TILE-MEM-SNAPSHOT-001", + "PTO-AVS-TILE-MODEL-DEFINEDNESS-ELEMENTS-STATIC-001", + "PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001", + "PTO-AVS-TILE-MODEL-MEMORY-SHARED-MOVEMENT-STATIC-001", + "PTO-AVS-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-STATIC-001", + "PTO-AVS-TILE-MODEL-STATE-LOCAL-REGISTERS-STATIC-001", + "PTO-AVS-TILE-MODEL-STATE-SHARED-REGISTERS-STATIC-001", + "PTO-AVS-TILE-TESTTILEELEMENTDEFINEDNESS-EXECUTION-001", + "PTO-AVS-TILE-TLOAD-16X16-STRIDE-003", + "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-TLOAD-DIRECT-001", + "PTO-AVS-TILE-TLOAD-PARTIAL-001", + "PTO-AVS-TILE-TLOAD-SHARED-PARENT-002", + "PTO-AVS-TILE-TLOAD-STATIC-001", + "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-TMOV-DEFINED-001", + "PTO-AVS-TILE-TMOV-STATIC-001", + "PTO-AVS-TILE-TSTORE-CUBE-002" + ], + "unit_ids": [ + "PTO-ARCH-DATA-TYPES-MEMORY-MODEL", + "PTO-ARCH-DATA-TYPES-TRAP-CONTEXT", + "PTO-ARCH-DISPATCH-TOP-LEVEL", + "PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION", + "PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS", + "PTO-ARCH-MEMORY-MODEL-MEMORY-EVENTS", + "PTO-ARCH-MEMORY-MODEL-ORDERING", + "PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY", + "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT", + "PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS", + "PTO-ARCH-STATE-CORE-SYNCHRONIZATION", + "PTO-ARCH-STATE-KERNEL-LIFECYCLE", + "PTO-ARCH-STATE-PE-EXECUTION-CONTEXT", + "PTO-ARCH-STATE-TRAP-CONTEXT", + "PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING", + "PTO-BLOCK-MODEL-COMMIT-VALIDATION", + "PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION", + "PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU", + "PTO-BLOCK-MODEL-DISPATCH-START", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-EXECUTION", + "PTO-BLOCK-MODEL-DISPATCH-TIMG2COL-SCHEMA", + "PTO-BLOCK-MODEL-DISPATCH-TLSU-GMOV", + "PTO-BLOCK-MODEL-DISPATCH-WEIGHT-SHARED-EXEC", + "PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP", + "PTO-BLOCK-MODEL-LIFECYCLE-RESET", + "PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH", + "PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS", + "PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION", + "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS", + "PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR", + "PTO-BLOCK-MODEL-STATE-CONTROL-STATE", + "PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE", + "PTO-BLOCK-MODEL-STATE-SHARED-GENERATION", + "PTO-BLOCK-MODEL-STATE-TYPES", + "PTO-SCALAR-MODEL-AGU-MEMORY", + "PTO-SCALAR-MODEL-DISPATCH-DECODE", + "PTO-SCALAR-MODEL-DISPATCH-SYS", + "PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL", + "PTO-SCALAR-MODEL-SYS-SEMANTICS", + "PTO-SCALAR-SYNC-CORE", + "PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS", + "PTO-TILE-MODEL-MEMORY-LOAD-STORE", + "PTO-TILE-MODEL-MEMORY-SHARED-MOVEMENT", + "PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS", + "PTO-TILE-MODEL-STATE-LOCAL-REGISTERS", + "PTO-TILE-MODEL-STATE-SHARED-REGISTERS", + "PTO-TILE-TLOAD", + "PTO-TILE-TMOV" + ], + "validated_commit": null + }, { "adr_ids": [ "ADR-STATE-0001" @@ -27237,6 +28267,7 @@ "PTO-AVS-BLOCK-MODEL-STATE-TYPES-STATIC-001", "PTO-AVS-BLOCK-TESTBUNDLECONFIGURATIONSTATE-STATE-TRANSITION-001", "PTO-AVS-BLOCK-TESTBUNDLEOPERATIONDESCRIPTORFIELDS-EXECUTION-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001", "PTO-AVS-TILE-LOCAL-CAPACITY-ISOLATION-002", "PTO-AVS-TILE-MODEL-STATE-LOCAL-REGISTERS-STATIC-001", "PTO-AVS-TILE-SHARED-CAPACITY-ISOLATION-002", @@ -27303,7 +28334,8 @@ "PTO-AVS-BLOCK-L-BSTOP-EXEC-001", "PTO-AVS-BLOCK-MODEL-STATE-BARG-STATIC-001", "PTO-AVS-BLOCK-MODEL-STATE-CONTROL-STATE-STATIC-001", - "PTO-AVS-BLOCK-TESTBUNDLECONFIGURATIONSTATE-STATE-TRANSITION-001" + "PTO-AVS-BLOCK-TESTBUNDLECONFIGURATIONSTATE-STATE-TRANSITION-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" ], "unit_ids": [ "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT", @@ -27342,7 +28374,8 @@ "PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-STATIC-001", "PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-THRESHOLD-001", "PTO-AVS-ARCH-TEMPORARY-QUEUE-VALIDITY-001", - "PTO-AVS-ARCH-TESTINTERRUPTREGISTERSTATE-STATE-TRANSITION-001" + "PTO-AVS-ARCH-TESTINTERRUPTREGISTERSTATE-STATE-TRANSITION-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" ], "unit_ids": [ "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT", @@ -27377,7 +28410,8 @@ "PTO-AVS-ARCH-TRAP-ATTRIBUTES-FAULT-003", "PTO-AVS-ARCH-TRAP-BINDINGS-FAULT-002", "PTO-AVS-ARCH-TRAP-CONTROL-FAULT-001", - "PTO-AVS-ARCH-TRAP-PORTABLE-FAULT-004" + "PTO-AVS-ARCH-TRAP-PORTABLE-FAULT-004", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" ], "unit_ids": [ "PTO-ARCH-DATA-TYPES-TRAP-CONTEXT", @@ -27559,6 +28593,7 @@ "PTO-AVS-SCALAR-DC-ZVA-DECODE-001", "PTO-AVS-SCALAR-EBREAK-DECODE-001", "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SCALAR-FENCE-I-DECODE-001", "PTO-AVS-SCALAR-HL-SSRGET-DECODE-001", "PTO-AVS-SCALAR-HL-SSRSET-DECODE-001", @@ -28070,6 +29105,7 @@ "PTO-AVS-BLOCK-TESTBUNDLEFAULTS-FAULT-001", "PTO-AVS-BLOCK-TESTBUNDLETILECOMMITROLLBACK-EXECUTION-001", "PTO-AVS-BLOCK-TESTTRAPCONTEXTROUTEANDRECOVER-FAULT-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001", "PTO-AVS-TILE-LOCAL-CAPACITY-ISOLATION-002", "PTO-AVS-TILE-SHARED-CAPACITY-ISOLATION-002", "PTO-AVS-TILE-SIZECODE-SHAPE-002" @@ -28146,6 +29182,7 @@ "PTO-AVS-SCALAR-DC-ZVA-DECODE-001", "PTO-AVS-SCALAR-EBREAK-DECODE-001", "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SCALAR-FENCE-I-DECODE-001", "PTO-AVS-SCALAR-HL-SSRGET-DECODE-001", "PTO-AVS-SCALAR-HL-SSRSET-DECODE-001", @@ -28794,6 +29831,7 @@ "PTO-AVS-BLOCK-FRET-STK-TARGET-001", "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001", "PTO-AVS-BLOCK-HL-QMT-CONTROL-001", @@ -28916,14 +29954,34 @@ "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-POSITIVE-001", "PTO-AVS-BLOCK-ROW-EXPAND-BROADCAST-BYTE-OFFSET-R2-SUBVIEW-001", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TCI-SCHEMA-001", "PTO-AVS-BLOCK-TCMP-FRESH-PREDICATECELL-DECODED-003", @@ -29027,6 +30085,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -29073,7 +30132,6 @@ "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "PTO-AVS-BLOCK-TTRI-SCHEMA-001", "PTO-AVS-BLOCK-TUNPACK-EXPAND-BF16-CHAIN-R4-001", "PTO-AVS-BLOCK-XB-DECODE-001", @@ -29494,6 +30552,7 @@ "PTO-AVS-TILE-CUBE-ELEMENTWISE-DECODED-001", "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -29844,8 +30903,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -30277,6 +31340,7 @@ "PTO-AVS-ARCH-DATA-TYPES-FORMAT-RCPE6M2-STATIC-001", "PTO-AVS-ARCH-E6M2-CONVERSION-BOUNDARIES-002", "PTO-AVS-ARCH-E6M2-DECOMP-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", "PTO-AVS-ARCH-INSTRUCTION-FETCH-LENGTH-16-001", "PTO-AVS-ARCH-INSTRUCTION-FETCH-LENGTH-32-001", "PTO-AVS-ARCH-INSTRUCTION-FETCH-LENGTH-48-001", @@ -30469,6 +31533,17 @@ "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-HIF4-TRANSPOSE-006", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-002", "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-TRANSPOSE-005", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001", "PTO-AVS-BLOCK-SUBVIEW-M32-B64-PAIRS-001", @@ -30567,6 +31642,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-SELECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", "PTO-AVS-TILE-EXECUTION-MASK-SNAPSHOT-001", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -31384,6 +32460,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-GPR-MASK-EIGHT-BIT-001", "PTO-AVS-TILE-LOCAL64-FAMILIES-001", @@ -31861,8 +32938,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -32218,6 +33299,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-EXPAND-001", "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-EXPANSION-CUBE-001", "PTO-AVS-TILE-EXPANSION-OPERATION-VIEW-R4-001", "PTO-AVS-TILE-EXPDIF-LOCAL64-DECODED-001", @@ -32305,8 +33387,12 @@ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", "PTO-AVS-TILE-TROWMIN-S8-001", "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", "PTO-AVS-TILE-TROWPROD-ONE-001", "PTO-AVS-TILE-TROWPROD-STATIC-001", "PTO-AVS-TILE-TROWSUM-CUBE-ENCODED-MASK-REJECTION-001", @@ -32453,6 +33539,7 @@ "PTO-AVS-BLOCK-MSCATTER-STAGE2-WIDTH-001", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TCI-SCHEMA-001", "PTO-AVS-BLOCK-TGPR2T-CLASS-BOUND-001", @@ -32623,18 +33710,18 @@ "schema": "pto.architecture-readiness", "sources": { "adr_records": { - "count": 115, - "sha256": "b0137d3e48d74d3c34656e13fbdece83069e2e37fed04a24b1d147bb302112a3" + "count": 116, + "sha256": "14c4aaeec8e22e2858822d080774e1dfc25d1602df9d4b2279133a682955df0e" }, "instruction_contract": { "path": "spec/evidence/instruction-contract-closure.json", - "sha256": "fe963f5fb462b9bfa88ab42afd403330eac5478a2b086bf74770e86474d135fc" + "sha256": "6e8f55cf41406fd276e787412c910a83ea2347b9f4bed95c60ca995bf8eb71b8" }, "release_traceability": { "path": "spec/evidence/release-traceability-readiness.json", - "sha256": "7b20558a581b03e711fadb11772ed5005c9b8f8da741602e8bd66784b6bafce9", - "test_count": 4128, - "unit_count": 911 + "sha256": "325c6a20db529ee1384c30677c960191fd92f750340a7831bbea3ffd0aea818f", + "test_count": 4197, + "unit_count": 919 } }, "stage_order": [ @@ -32652,13 +33739,13 @@ "stage_counts": { "architecture-defined": 0, "draft": 9, - "executable": 97, + "executable": 98, "modeled": 0, "released": 0, "validated": 0 }, "status": "open", - "subject_count": 106, + "subject_count": 107, "validated_count": 0 } } diff --git a/spec/evidence/instruction-contract-closure.json b/spec/evidence/instruction-contract-closure.json index bdcaba236..25e839be4 100644 --- a/spec/evidence/instruction-contract-closure.json +++ b/spec/evidence/instruction-contract-closure.json @@ -120485,6 +120485,78 @@ "summary": "SWI.U snapshots its scalar sources, forms its encoded address, and stores one aligned little-endian 4-byte value.", "surface": "scalar" }, + { + "alias_engine": null, + "alias_of": null, + "catalog_records": [ + { + "asm": "sync.core", + "constraints": [], + "encoding": [ + { + "index": 0, + "mask": "0xffffffff", + "match": "0x0330a02b", + "width_bits": 32 + } + ], + "encoding_kind": "L32", + "fields": [], + "form_id": "sync_core_32_0330a02b7c32", + "length_bits": 32, + "mnemonic": "SYNC.CORE", + "semantic_family": "SYS", + "semantic_group": "SYS", + "semantic_handler": "SyncCore", + "semantic_summary": "Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations.", + "status": "accepted" + } + ], + "classification": [ + "sys" + ], + "contract": { + "block_composition": [ + "The only canonical body is BSTART.SYS FALL, sync.core, BSTOP." + ], + "canonical_assembly": [ + "sync.core" + ], + "defaults": [ + "SYNC.CORE has no operands and includes PE0, PE1, PE2, and PE3." + ], + "encoded_fields": [], + "encoding_class": "standalone-encoded", + "examples": [ + "sync.core" + ], + "exceptions": [ + "The complete SYS envelope is validated before collective arrival. Wrong block composition raises Fault_BundleControl; a nonmatching instruction encoding raises Fault_IllegalInstruction." + ], + "field_domains": [], + "legality": [ + "Only the exact 32-bit word 0x0330a02b decodes as SYNC.CORE. The active bundle must be a Fallthrough SYS block with exactly one SYNC.CORE body operation and a required BSTOP." + ], + "memory_effects": [ + "Completion orders earlier qualifying GM operations before later qualifying GM operations for every participant pair, after those earlier operations reach their existing completion and visibility point." + ], + "operands": [], + "ordering": [ + "A PE parks at SYNC.CORE until all four PEs have irrevocably arrived at the same static instruction in the same dynamic order and invocation and every earlier GM obligation has completed. Arrival cannot be irrevocable while older work may still fault or require recovery." + ], + "standalone_opcode": true, + "state_effects": [ + "A blocked PE does not advance its PC. On completion, the barrier generation is retained until each parked PE consumes its release once, and each participant's current local reservation is invalidated." + ] + }, + "documentation": "docs/scalar/sys/SYNC.CORE.md", + "engine": null, + "mnemonic": "SYNC.CORE", + "ndf_clause": "PTO-INST-SCALAR-SYNC-CORE", + "source": "asl/scalar/sys/SYNC.CORE.asl", + "summary": "Waits for all four PEs at the same Core-local phase boundary and completes their earlier GM obligations.", + "surface": "scalar" + }, { "alias_engine": null, "alias_of": null, @@ -127160,8 +127232,8 @@ "legality": [ "TCMP selects VEC Mode 0 Function 13. PE_MASK=0000 is a strict no-op before schema, descriptor, source, allocation, GPR, status, or payload checks.", "Legacy RowMajor form uses one terminating B.IOT with two numeric sources and one new packed Predicate destination; B.IOR is absent, the existing sixteen-type operation domain remains unchanged, and each source backing DataType is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers.", - "CUBE_M16/M32 PredicateCell form uses one terminating B.IOT with two numeric sources and one new U8 PredicateCell destination tagged with the operation DataType; B.IOR is absent, each source backing DataType is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers, and the operation type is exactly one of FP32, TF32, HF32, FP16, BF16, E4M3, E5M2, S32, S16, S8, U32, U16, or U8.", - "CUBE_M16/M32 GPR form uses one terminating source-only B.IOT plus one destination-only B.IOR. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8; each source backing DataType is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers; one 64-bit GPR is written atomically, and U8 Sat selects Low or High predicate columns derived from the operation type.", + "CUBE_M16/M32 PredicateCell form uses one terminating B.IOT with two numeric sources and one new U8 PredicateCell destination tagged with the operation DataType; B.IOR is absent, each source backing DataType is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers, and the operation type is exactly one of FP64, S64, U64 (these three only for CUBE_M32), FP32, TF32, HF32, FP16, BF16, E4M3, E5M2, S32, S16, S8, U32, U16, or U8.", + "CUBE_M16/M32 GPR form uses one terminating source-only B.IOT plus one destination-only B.IOR. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8, or FP64/S64/U64 for CUBE_M32; each source backing DataType is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers; one 64-bit GPR is written atomically, and U8 Sat selects Low or High predicate columns derived from the operation type.", "Legacy, PredicateCell, and GPR carriers are complete and mutually exclusive. CMode and PadValue apply to every form; Sat is nonzero only for U8 GPR selection; Canonicalize, secondary DataType, RMode, and Layout remain zero.", "Predicate padding is Zero/Min=0, Max=1, and Null unspecified or undefined according to the selected GPR/PredicateCell carrier.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." @@ -127496,8 +127568,8 @@ "legality": [ "TCMPS selects TEPL Mode 1 Function 13 and executes on VEC. PE_MASK=0000 is a strict no-op before GPR, source, allocation, status, or payload checks.", "Legacy RowMajor form uses one terminating B.IOT with source and new packed Predicate destination; one optional B.IOR supplies the compare scalar, and the source backing DataType is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier.", - "CUBE_M16/M32 PredicateCell form uses one terminating B.IOT with source and new U8 PredicateCell destination whose basis is the operation DataType plus an optional scalar-source B.IOR; omission selects the operation-type zero. The source backing DataType is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier, and the operation type is exactly one of FP32, TF32, HF32, FP16, BF16, E4M3, E5M2, S32, S16, S8, U32, U16, or U8.", - "CUBE_M16/M32 GPR form uses one source-only B.IOT and one B.IOR carrying the scalar source plus one destination GPR. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8; the source backing DataType is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier and U8 Sat selects Low or High columns derived from the operation type.", + "CUBE_M16/M32 PredicateCell form uses one terminating B.IOT with source and new U8 PredicateCell destination whose basis is the operation DataType plus an optional scalar-source B.IOR; omission selects the operation-type zero. The source backing DataType is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier, and the operation type is exactly one of FP64, S64, U64 (these three only for CUBE_M32), FP32, TF32, HF32, FP16, BF16, E4M3, E5M2, S32, S16, S8, U32, U16, or U8.", + "CUBE_M16/M32 GPR form uses one source-only B.IOT and one B.IOR carrying the scalar source plus one destination GPR. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8, or FP64/S64/U64 for CUBE_M32; the source backing DataType is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier and U8 Sat selects Low or High columns derived from the operation type.", "Legacy, PredicateCell, and GPR forms are complete and mutually exclusive. CMode and PadValue apply to all; Sat is nonzero only for U8 GPR selection; Canonicalize remains zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], @@ -127664,7 +127736,7 @@ "legality": [ "TCOLARGMAX is selected by the TEPL raw encoding carrier Mode 2 Function 28; canonical execution-engine assembly is BSTART.SFU and there is no standalone opcode.", "Exactly one terminating Local B.IOT supplies one persistent Local source and one newly allocated Local destination. B.IOR, B.IOS, a second B.IOT, or a nonterminating binding is illegal.", - "The operation DataType selected by BSTART is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "The operation DataType selected by BSTART is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "The destination DataType is U32 regardless of source DataType. The destination contains one logical index per valid source column. Its capacity is derived from the U32 destination physical footprint and need not equal source capacity; for U8 or U16 sources it may be strictly greater.", "The source is a fully defined persistent numeric Tile with a legal descriptor in the selected RowMajor, CUBE_M16, or CUBE_M32 layout whose ValidRow, ValidCol, and physical Col exactly match the B.DIM-derived source geometry; its stored backing DataType MAY differ from the operation DataType only when the unchanged TileCarrierWidthCompatible relation admits equal-width, non-packed interpretation. RCPE6M2 MUST NOT be a reduction backing. Every valid source coordinate MUST be defined and encoding-valid under the operation DataType. All valid source coordinates are checked and included in the reduction; Local CUBE ExecutionMask is unsupported and MUST reject before effects, including when mask state is injected directly into the model. For a cross-type view, backing encodings are not independently validated. The source descriptor, backing DataType, and payload persist unchanged without retagging or numeric conversion. The source capacity is checked by generic allocation and the reduction operation imposes no additional 2048-byte ceiling.", "The destination has logical ValidRow equal to one and ValidCol equal to source.ValidCol. For RowMajor, Rows equals DerivedTileRows(DstCapacity, source physical Columns, DstDataType) and Columns equals source physical Columns. For CUBE_M16/M32, Rows equals source Rows and Columns equals align_up(Dst.ValidColumns, Dst CellCols), where Dst CellCols is computed from destination DataType.", @@ -127828,7 +127900,7 @@ "legality": [ "TCOLARGMIN is selected by the TEPL raw encoding carrier Mode 2 Function 29; canonical execution-engine assembly is BSTART.SFU and there is no standalone opcode.", "Exactly one terminating Local B.IOT supplies one persistent Local source and one newly allocated Local destination. B.IOR, B.IOS, a second B.IOT, or a nonterminating binding is illegal.", - "The operation DataType selected by BSTART is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "The operation DataType selected by BSTART is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "The destination DataType is U32 regardless of source DataType. The destination contains one logical index per valid source column. Its capacity is derived from the U32 destination physical footprint and need not equal source capacity; for U8 or U16 sources it may be strictly greater.", "The source is a fully defined persistent numeric Tile with a legal descriptor in the selected RowMajor, CUBE_M16, or CUBE_M32 layout whose ValidRow, ValidCol, and physical Col exactly match the B.DIM-derived source geometry; its stored backing DataType MAY differ from the operation DataType only when the unchanged TileCarrierWidthCompatible relation admits equal-width, non-packed interpretation. RCPE6M2 MUST NOT be a reduction backing. Every valid source coordinate MUST be defined and encoding-valid under the operation DataType. All valid source coordinates are checked and included in the reduction; Local CUBE ExecutionMask is unsupported and MUST reject before effects, including when mask state is injected directly into the model. For a cross-type view, backing encodings are not independently validated. The source descriptor, backing DataType, and payload persist unchanged without retagging or numeric conversion. The source capacity is checked by generic allocation and the reduction operation imposes no additional 2048-byte ceiling.", "The destination has logical ValidRow equal to one and ValidCol equal to source.ValidCol. For RowMajor, Rows equals DerivedTileRows(DstCapacity, source physical Columns, DstDataType) and Columns equals source physical Columns. For CUBE_M16/M32, Rows equals source Rows and Columns equals align_up(Dst.ValidColumns, Dst CellCols), where Dst CellCols is computed from destination DataType.", @@ -128654,7 +128726,7 @@ } ], "legality": [ - "TROWEXPANDEXPDIF and TCOLEXPANDEXPDIF accept exactly (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32) as (SrcDataType,DstDataType) pairs.", + "TROWEXPANDEXPDIF and TCOLEXPANDEXPDIF accept exactly (FP64,FP64), (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32) as (SrcDataType,DstDataType) pairs.", "BSTART DataType selects SrcDataType; omitted B.DATR or explicit DataType=DTYPE_NONE selects DstDataType=SrcDataType, while a concrete B.DATR DataType selects DstDataType. Each source backing may differ from SrcDataType only through an equal-width non-packed carrier view; raw bits are interpreted as SrcDataType without retagging or numeric conversion.", "Mixed FP16/BF16 to FP32 widens the operation-view source bits exactly to FP32 before FP32 subtraction and FP32 exponential. Same-type pairs retain their selected type.", "The destination is newly allocated with DstDataType; no destination alias or source descriptor retag is introduced.", @@ -131580,7 +131652,7 @@ "legality": [ "TEXPDIF is TEPL Mode 0 Function 29 (selector 0x01D) on SFU; 0x01C remains TFMA and 0x01E..0x01F remain reserved.", "Exactly one terminating Local B.IOT supplies two ordered persistent Local numeric sources and one newly allocated Local numeric destination. B.IOR, B.IOS, additional bindings, and shared operands are illegal.", - "The exact legal (SrcOperationType,DstDataType) pairs are (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32). All other pairs reject.", + "The exact legal (SrcOperationType,DstDataType) pairs are (FP64,FP64), (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32). All other pairs reject.", "Each source backing type may differ independently from SrcOperationType only when both types are non-packed, have equal element width, and TileCarrierWidthCompatible is true. Source payloads are validated and interpreted as SrcOperationType without retagging the source descriptors.", "The result for every valid coordinate is natural exp(src0-src1), with source0 as minuend and source1 as subtrahend. TEXPDIF does not broadcast.", "Same-type pairs perform typed SUB followed by typed natural EXP. Mixed FP16/BF16-to-FP32 pairs exactly widen both inputs to FP32 before FP32 SUB and FP32 natural EXP; widening is not TCVT and adds no conversion-inexact status.", @@ -131731,7 +131803,7 @@ "legality": [ "TFMA is selected by the TEPL encoding carrier Mode 0 Function 28, canonically assembled with BSTART.VEC, and has no standalone opcode.", "Exactly two ordered Local B.IOT bindings are required: the first supplies two multiplicands without a destination or last marker; the second supplies the addend and one new destination and terminates the sequence.", - "DataType is exactly one of FP16, FP32, or BF16.", + "DataType is exactly one of FP64, S64, U64, FP16, FP32, or BF16.", "All three sources and the destination match physical shape, valid shape, selected layout, DataType, and PE_MASK; every valid source element is defined.", "Only B.DATR PadValueOrByteId is applicable. Explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "B.IOR and B.IOS are illegal. All participating B.IOT masks are equal; PE_MASK zero is a strict no-op before source reads, allocation, arithmetic, flags, padding, or descriptor effects.", @@ -133590,7 +133662,7 @@ "legality": [ "TLOG retains its TEPL raw Mode 0 carrier and executes canonically on the SFU engine.", "Exactly one terminating Local B.IOT supplies one persistent source and one newly allocated destination. B.IOR and B.IOS are illegal.", - "The selected DataType is exactly FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -134738,7 +134810,7 @@ "legality": [ "TMAX is BSTART.VEC Mode 0 Function 11 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies two ordered Local sources and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "DataType is one of FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Floating source encodings invalid for the selected operation reject before allocation or destination effects; PE_MASK zero is a strict no-op.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -135026,7 +135098,7 @@ "legality": [ "TMAXS is selected only by the TEPL raw carrier Mode 1 Function 11; canonical execution-engine assembly is BSTART.VEC TMAXS, DataType.", "Exactly one terminating Local B.IOT supplies one persistent Local numeric source and one newly allocated Local destination. B.IOS and additional Tile bindings are illegal.", - "The selected DataType is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", "B.IOR is optional and, when present, only RegSrc0 may be nonzero. B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before GPR reads, descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -135164,7 +135236,7 @@ "legality": [ "TMIN is BSTART.VEC Mode 0 Function 12 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies two ordered Local sources and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "DataType is one of FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Floating source encodings invalid for the selected operation reject before allocation or destination effects; PE_MASK zero is a strict no-op.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -135452,7 +135524,7 @@ "legality": [ "TMINS is selected only by the TEPL raw carrier Mode 1 Function 12; canonical execution-engine assembly is BSTART.VEC TMINS, DataType.", "Exactly one terminating Local B.IOT supplies one persistent Local numeric source and one newly allocated Local destination. B.IOS and additional Tile bindings are illegal.", - "The selected DataType is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", "B.IOR is optional and, when present, only RegSrc0 may be nonzero. B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before GPR reads, descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -135703,7 +135775,7 @@ "legality": [ "TMUL is BSTART.VEC Mode 0 Function 2 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies two ordered Local sources and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of S32, U32, FP32, S16, U16, FP16, or BF16.", + "DataType is one of FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, or BF16.", "Only B.DATR PadValueOrByteId is applicable.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." @@ -135988,7 +136060,7 @@ "legality": [ "TMULS is selected only by the TEPL raw carrier Mode 1 Function 2; canonical execution-engine assembly is BSTART.VEC TMULS, DataType.", "Exactly one terminating Local B.IOT supplies one persistent Local numeric source and one newly allocated Local destination. B.IOS and additional Tile bindings are illegal.", - "The selected DataType is exactly S32, U32, FP32, S16, U16, FP16, or BF16; every other assigned or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, or BF16; every other assigned or reserved DataType rejects before effects.", "B.IOR is optional and, when present, only RegSrc0 may be nonzero. B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before GPR reads, descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -136118,7 +136190,7 @@ "legality": [ "TNEG is BSTART.VEC Mode 0 Function 17 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies one Local source and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of S32, S16, S8, FP32, FP16, or BF16.", + "DataType is one of FP64, S64, U64, S32, S16, S8, FP32, FP16, or BF16.", "Source and destination match physical shape, valid shape, selected layout, DataType, and PE_MASK; the source valid region is fully defined.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Floating source encodings invalid for the selected DataType reject before allocation or destination effects; PE_MASK zero is a strict no-op.", @@ -137255,7 +137327,7 @@ "legality": [ "TRECIP retains its TEPL raw Mode 0 carrier and executes canonically on the SFU engine.", "Exactly one terminating Local B.IOT supplies one persistent source and one newly allocated destination. B.IOR and B.IOS are illegal.", - "The selected DataType is exactly FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -137381,7 +137453,7 @@ "legality": [ "TRELU is BSTART.VEC Mode 0 Function 23 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies one Local source and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of FP16, BF16, FP32, or S32.", + "DataType is one of FP64, S64, U64, FP16, BF16, FP32, or S32.", "Source and destination match physical shape, valid shape, selected layout, DataType, and PE_MASK; the source valid region is fully defined.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Floating source encodings invalid for the selected DataType reject before allocation or destination effects; PE_MASK zero is a strict no-op.", @@ -137516,7 +137588,7 @@ "legality": [ "TREM retains TEPL carrier Mode 0 Function 4 but is canonically classified as SFU.", "Exactly one terminating Local B.IOT supplies ordered dividend and divisor sources plus one new Local destination; B.IOR and B.IOS are illegal and PE_MASK zero is a strict no-op.", - "DataType is exactly S32, U32, FP32, S16, U16, FP16, or BF16.", + "DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, or BF16.", "Only B.DATR PadValueOrByteId is applicable.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." @@ -137801,7 +137873,7 @@ "legality": [ "TREMS is selected only by the TEPL raw carrier Mode 1 Function 4; canonical execution-engine assembly is BSTART.SFU TREMS, DataType.", "Exactly one terminating Local B.IOT supplies one persistent Local numeric source and one newly allocated Local destination. B.IOS and additional Tile bindings are illegal.", - "The selected DataType is exactly S32, U32, FP32, S16, U16, FP16, or BF16; every other assigned or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, or BF16; every other assigned or reserved DataType rejects before effects.", "B.IOR is optional and, when present, only RegSrc0 may be nonzero. B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before GPR reads, descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -137965,7 +138037,7 @@ "legality": [ "TROWARGMAX is selected by the TEPL raw encoding carrier Mode 2 Function 12; canonical execution-engine assembly is BSTART.SFU and there is no standalone opcode.", "Exactly one terminating Local B.IOT supplies one persistent Local source and one newly allocated Local destination. B.IOR, B.IOS, a second B.IOT, or a nonterminating binding is illegal.", - "The operation DataType selected by BSTART is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "The operation DataType selected by BSTART is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "The destination DataType is U32 regardless of source DataType. The destination contains one logical index per valid source row. Its capacity is derived from the U32 destination physical footprint and need not equal source capacity; for U8 or U16 sources it may be strictly greater.", "The source is a fully defined persistent numeric Tile with a legal descriptor in the selected RowMajor, CUBE_M16, or CUBE_M32 layout whose ValidRow, ValidCol, and physical Col exactly match the B.DIM-derived source geometry; its stored backing DataType MAY differ from the operation DataType only when the unchanged TileCarrierWidthCompatible relation admits equal-width, non-packed interpretation. RCPE6M2 MUST NOT be a reduction backing. Every valid source coordinate MUST be defined and encoding-valid under the operation DataType. All valid source coordinates are checked and included in the reduction; Local CUBE ExecutionMask is unsupported and MUST reject before effects, including when mask state is injected directly into the model. For a cross-type view, backing encodings are not independently validated. The source descriptor, backing DataType, and payload persist unchanged without retagging or numeric conversion. The source capacity is checked by generic allocation and the reduction operation imposes no additional 2048-byte ceiling.", "The destination has ValidRow equal to source.ValidRow and logical ValidCol equal to one. For RowMajor, Rows equals DerivedTileRows(DstCapacity, 1, DstDataType) and Columns equals one. For CUBE_M16/M32, Columns equals source Columns and Rows equals the minimum legal physical Rows covering Dst.ValidRows (16 for M16, 32 for M32).", @@ -138129,7 +138201,7 @@ "legality": [ "TROWARGMIN is selected by the TEPL raw encoding carrier Mode 2 Function 13; canonical execution-engine assembly is BSTART.SFU and there is no standalone opcode.", "Exactly one terminating Local B.IOT supplies one persistent Local source and one newly allocated Local destination. B.IOR, B.IOS, a second B.IOT, or a nonterminating binding is illegal.", - "The operation DataType selected by BSTART is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "The operation DataType selected by BSTART is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "The destination DataType is U32 regardless of source DataType. The destination contains one logical index per valid source row. Its capacity is derived from the U32 destination physical footprint and need not equal source capacity; for U8 or U16 sources it may be strictly greater.", "The source is a fully defined persistent numeric Tile with a legal descriptor in the selected RowMajor, CUBE_M16, or CUBE_M32 layout whose ValidRow, ValidCol, and physical Col exactly match the B.DIM-derived source geometry; its stored backing DataType MAY differ from the operation DataType only when the unchanged TileCarrierWidthCompatible relation admits equal-width, non-packed interpretation. RCPE6M2 MUST NOT be a reduction backing. Every valid source coordinate MUST be defined and encoding-valid under the operation DataType. All valid source coordinates are checked and included in the reduction; Local CUBE ExecutionMask is unsupported and MUST reject before effects, including when mask state is injected directly into the model. For a cross-type view, backing encodings are not independently validated. The source descriptor, backing DataType, and payload persist unchanged without retagging or numeric conversion. The source capacity is checked by generic allocation and the reduction operation imposes no additional 2048-byte ceiling.", "The destination has ValidRow equal to source.ValidRow and logical ValidCol equal to one. For RowMajor, Rows equals DerivedTileRows(DstCapacity, 1, DstDataType) and Columns equals one. For CUBE_M16/M32, Columns equals source Columns and Rows equals the minimum legal physical Rows covering Dst.ValidRows (16 for M16, 32 for M32).", @@ -138319,7 +138391,7 @@ "Without ExecutionMask, the broadcast valid region remains fully defined. With ExecutionMask, only the selected BroadcastTile[r,BroadcastSlot] for each row with an active destination coordinate must be defined; an inactive row does not read or validate its selected element. COPY does not validate arithmetic encodings.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -138511,7 +138583,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -138708,7 +138780,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -139021,7 +139093,7 @@ } ], "legality": [ - "TROWEXPANDEXPDIF and TCOLEXPANDEXPDIF accept exactly (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32) as (SrcDataType,DstDataType) pairs.", + "TROWEXPANDEXPDIF and TCOLEXPANDEXPDIF accept exactly (FP64,FP64), (FP16,FP16), (BF16,BF16), (FP32,FP32), (FP16,FP32), and (BF16,FP32) as (SrcDataType,DstDataType) pairs.", "BSTART DataType selects SrcDataType; omitted B.DATR or explicit DataType=DTYPE_NONE selects DstDataType=SrcDataType, while a concrete B.DATR DataType selects DstDataType. Each source backing may differ from SrcDataType only through an equal-width non-packed carrier view; raw bits are interpreted as SrcDataType without retagging or numeric conversion.", "Mixed FP16/BF16 to FP32 widens the operation-view source bits exactly to FP32 before FP32 subtraction and FP32 exponential. Same-type pairs retain their selected type.", "The destination is newly allocated with DstDataType; no destination alias or source descriptor retag is introduced.", @@ -139030,7 +139102,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, DataType, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage.", "FP64 source and FP64 destination form an accepted same-type pair; mixed FP64 type pairs are not added." ], @@ -139227,7 +139299,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -139423,7 +139495,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -139619,7 +139691,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -139815,7 +139887,7 @@ "Without ExecutionMask, each source valid region remains fully defined. With ExecutionMask, only full-shape source coordinates consumed by active destinations and the selected broadcast element for each row with an active destination coordinate must be defined. Numeric encoding validation uses the source operation DataType for consumed full-shape elements and the selected broadcast element; unselected broadcast columns are not encoding-validated. Inactive rows contribute no source read, encoding validation, or numeric-status flags.", "Layout, PadValueOrByteId, and operation-specific RMode are applicable as encoded by the selected layout; RMode means BroadcastByteOffset only for CUBE_M16/M32 and must be zero for RowMajor. B.IOR and B.IOS are illegal.", "All operands share one PE_MASK; PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, status, or payload effects.", - "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte M32 or 8-byte M16 per-row CELL slice, aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first CELL of the bound broadcast Tile; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", + "For CUBE_M32/CUBE_M16, the source-operation-typed BroadcastSlot is BroadcastByteOffset DIV ElementBytes. The offset must be less than the 4-byte lower-width M32 or 8-byte M16 per-row CELL slice (a b64 M32 group spans 8 bytes across the pair), aligned to ElementBytes, and select a slot below both TileCubeCellColumns(Layout, SourceOperationDataType) and BroadcastTile.ValidColumns. The selector addresses only the first logical CELL group of the bound broadcast Tile, including both planes for b64 M32; B.SUBVIEW selects a later CELL/range when needed. RowMajor requires RMode zero.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], "memory_effects": [ @@ -140634,7 +140706,7 @@ "legality": [ "TRSQRT retains its TEPL raw Mode 0 carrier and executes canonically on the SFU engine.", "Exactly one terminating Local B.IOT supplies one persistent source and one newly allocated destination. B.IOR and B.IOS are illegal.", - "The selected DataType is exactly FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -140911,7 +140983,7 @@ "TSEL selects VEC Mode 0 Function 26. PE_MASK=0000 is a strict no-op before GPR, predicate, source, allocation, or payload checks.", "Legacy RowMajor form uses two ordered B.IOT records: packed Predicate plus SrcTrue, then SrcFalse plus one new destination; B.IOR is absent, each source backing is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers, and selected bits are copied raw.", "CUBE_M16/M32 PredicateCell form uses the same two-record Tile structure with a descriptor-valid PredicateCell whose basis equals the operation DataType and whose ExecutionMask-active bytes are defined and canonical, while valid shape/layout and physical geometry match the numeric sources. Each source backing is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers; B.IOR is absent.", - "CUBE_M16/M32 GPR form uses one B.IOT with SrcTrue, SrcFalse, and one new CUBE destination plus one source-only B.IOR carrying the complete mask. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8; each source backing is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers; U8 consumes two mask GPRs and other accepted types consume one.", + "CUBE_M16/M32 GPR form uses one B.IOT with SrcTrue, SrcFalse, and one new CUBE destination plus one source-only B.IOR carrying the complete mask. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8, or FP64/S64/U64 for CUBE_M32; each source backing is checked independently; exact backing/operation type identity is legal, while cross-type source/backing pairs require equal width and non-four-bit carriers; U8 consumes two mask GPRs and other accepted types consume one.", "Legacy, PredicateCell, and GPR forms are complete and mutually exclusive. PadValueOrByteId is the only applicable B.DATR field.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], @@ -141205,7 +141277,7 @@ "TSELS selects TEPL Mode 1 Function 26 and executes on VEC. PE_MASK=0000 is a strict no-op before GPR, predicate, source, allocation, or payload checks.", "Legacy RowMajor form uses one terminating B.IOT with packed Predicate, SrcTrue, and one new destination; one B.IOR source supplies scalar-false or omission selects the operation-type zero, and the source backing is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier.", "CUBE_M16/M32 PredicateCell form uses one terminating B.IOT with a descriptor-valid PredicateCell whose basis equals the operation DataType and whose ExecutionMask-active bytes are defined and canonical, SrcTrue, and one new CUBE destination plus an optional scalar-false B.IOR source; omission selects the operation-type zero. The true-source backing is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier.", - "CUBE_M16/M32 GPR form uses one B.IOT with SrcTrue and one new CUBE destination. One source-only B.IOR carries the complete predicate mask followed by the independent scalar-false source: two sources for one-word masks and three for U8's two-word mask. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8; the true-source backing is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier.", + "CUBE_M16/M32 GPR form uses one B.IOT with SrcTrue and one new CUBE destination. One source-only B.IOR carries the complete predicate mask followed by the independent scalar-false source: two sources for one-word masks and three for U8's two-word mask. The operation type is a 32-bit or 16-bit type from the closed CUBE domain, plus U8, or FP64/S64/U64 for CUBE_M32; the true-source backing is checked independently; exact backing/operation type identity is legal, while a cross-type source/backing pair requires equal width and a non-four-bit carrier.", "Legacy, PredicateCell, and GPR forms are complete and mutually exclusive. PadValueOrByteId is the only applicable B.DATR field.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." ], @@ -142354,7 +142426,7 @@ "legality": [ "TSQRT retains its TEPL raw Mode 0 carrier and executes canonically on the SFU engine.", "Exactly one terminating Local B.IOT supplies one persistent source and one newly allocated destination. B.IOR and B.IOS are illegal.", - "The selected DataType is exactly FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, FP16, FP32, or BF16; every integer, exponent-only, other compact, packed, assigned-but-inapplicable, or reserved DataType rejects before effects.", "B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -142745,7 +142817,7 @@ "legality": [ "TSUB is BSTART.VEC Mode 0 Function 1 and has no standalone opcode.", "Exactly one terminating Local B.IOT supplies two ordered Local sources and one new Local destination; B.IOR and B.IOS are illegal.", - "DataType is one of S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", + "DataType is one of FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8.", "Only B.DATR PadValueOrByteId is applicable.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", "A Local CUBE_M32 operand backed by FP64, S64 or U64 uses the issue #371 two-CELL-per-column mapping and logical effect coordinates when its operation type is otherwise legal; CUBE_M16 does not admit b64 backing storage." @@ -143030,7 +143102,7 @@ "legality": [ "TSUBS is selected only by the TEPL raw carrier Mode 1 Function 1; canonical execution-engine assembly is BSTART.VEC TSUBS, DataType.", "Exactly one terminating Local B.IOT supplies one persistent Local numeric source and one newly allocated Local destination. B.IOS and additional Tile bindings are illegal.", - "The selected DataType is exactly S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", + "The selected DataType is exactly FP64, S64, U64, S32, U32, FP32, S16, U16, FP16, BF16, S8, or U8; every other assigned or reserved DataType rejects before effects.", "B.IOR is optional and, when present, only RegSrc0 may be nonzero. B.DATR permits PadValueOrByteId and Layout; omitted Layout selects RowMajor, while an explicit Layout selects the operation Local layout; explicit nondefault CMode, Sat, Canonicalize, secondary DataType, RMode, is illegal.", "Source and destination use one PE_MASK. PE_MASK=0000 is a strict no-op before GPR reads, descriptor reads, allocation, faults, numeric status, or payload effects.", "The selected DataType is the operation interpretation and the newly allocated destination backing DataType. Each ordinary source backing DataType may differ only when it is a non-packed type with the same element width; numeric source encodings are validated under the selected DataType, while raw logical and shift operations consume carrier bits.", @@ -144226,8 +144298,8 @@ ], "schema": "pto.instruction-contract-closure.v1", "summary": { - "encoded_form_count": 562, - "mnemonic_count": 664, + "encoded_form_count": 563, + "mnemonic_count": 665, "placeholder_count": 0, "selector_operation_count": 119, "status": "closed", diff --git a/spec/evidence/layout-relation-census.json b/spec/evidence/layout-relation-census.json index 9c72e7242..d32bba88e 100644 --- a/spec/evidence/layout-relation-census.json +++ b/spec/evidence/layout-relation-census.json @@ -5097,7 +5097,7 @@ "TGEMV_MX_BIAS" ], "candidate": "HEAD", - "candidate_head": "06301550e0fef591dcb8966f076691cfe009b691", + "candidate_head": "fe8de32d19c3fb94843068c59f8031fa3137ea79", "candidate_identity": "immutable-asl-tree", "candidate_only_authorized_against": "577e7b06422d87ec09c925401b477b4e524eded3", "changed_records": [ @@ -16403,6 +16403,37 @@ "name": "BundleCubeTransportDataTypeSupported", "path": "asl/block/model/dispatch/tlsu-layout-conversion.asl" }, + { + "after": [ + { + "calls": [ + "PTOPEMaskBitOfPEIdentity" + ], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "0645a9366c0d9b9fdd87723e3eea5eacb9c2701404f31b8a009f68705c6cdd99" + } + ], + "after_callers": [ + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ], + [ + "PrepareSelectedBundleStage2", + "asl/block/model/operands/subview-descriptor.asl" + ], + [ + "ValidateSharedGenerationEarlyRetirementStructure", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleCurrentPEIsNonparticipantSharedAssembly", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], "after_sha256": "30a419e71b5d27494bcd015cdc5ea0eded70dfa03007005c375f3b1947235b45", @@ -16892,15 +16923,217 @@ "classification": "B.FPATR final-D effective data-type resolution (Issue #345 / ADR-NUM-0012)", "name": "BundleFPATRReductionDataTypeLegal" }, + { + "after": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "dcea361c7e2658bcfd54478c3a659b5e3ac887cd91a253053c49cf4ce19dcd90" + } + ], + "after_callers": [ + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleFirstGMSourceTile", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], - "after_sha256": "a745068e90dd876ba4faac3f9060889611df695291daa24fd35de5e350ab0688", + "after_sha256": "2f3c3837be55e7b081f5b211cd3d36bfb613854c1639972824e3a3633a94ed3a", "before_layouts": [], "before_sha256": "8b6e4505b18fea72b7959ff8ca6bf54e19807e681f5a9bedbba7ba5a643458f4", "classification": "operation-scoped accepted layout/relation owner", "name": "BundleGMOVCore4SourceReady", "path": "asl/block/model/dispatch/tlsu-gmov.asl" }, + { + "after": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "92a7beadd578cbb2ad14a32ace75d1931bfb98deb19370addba9d454ed764a6e" + } + ], + "after_callers": [ + [ + "BundleGMOVCore4SourceReady", + "asl/block/model/dispatch/tlsu-gmov.asl" + ], + [ + "ExecuteBundleGMOVOperation", + "asl/block/model/dispatch/tlsu-gmov.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleGMOVPESourceTile", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [ + "TileCubeDescriptorLegal", + "TileInfoDescriptorLegal", + "TileLayoutIsCube" + ], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "5f674c9cb42d42a9509e62af6dc18252096e201b570fdc4cbc7d6169b755ba30" + } + ], + "after_callers": [ + [ + "BundleGMOVCore4SourceReady", + "asl/block/model/dispatch/tlsu-gmov.asl" + ], + [ + "ExecuteBundleGMOVOperation", + "asl/block/model/dispatch/tlsu-gmov.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleGMOVPESourceTileReady", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "c6a27317a9974133a61e41894057308f57aab66dfaac2e4d560518fd110236b1" + } + ], + "after_callers": [ + [ + "BundleGMOVCore4SourceReady", + "asl/block/model/dispatch/tlsu-gmov.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleGMOVSourceDescriptorsMatch", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/operands/local-generation.asl", + "sha256": "e804f72bc70add9c9207316ccf718f9508ad08b856820636d2a2dad593e1bb7f" + } + ], + "after_callers": [ + [ + "AbortBundleLocalGenerationsForBundle", + "asl/block/model/operands/local-generation.asl" + ], + [ + "BundleLocalGenerationQueueInsertionLegal", + "asl/block/model/operands/local-generation.asl" + ], + [ + "BundleLocalGenerationSlotForSource", + "asl/block/model/operands/portable-carriers.asl" + ], + [ + "CommitBundleLocalGeneration", + "asl/block/model/operands/local-generation.asl" + ], + [ + "ReuseBundleLocalGenerationDestination", + "asl/block/model/operands/local-generation.asl" + ], + [ + "ValidateBundleLocalGenerationStructure", + "asl/block/model/operands/local-generation.asl" + ], + [ + "ValidateBundleLocalGenerationWriters", + "asl/block/model/operands/local-generation-cube.asl" + ] + ], + "before": [], + "before_callers": [ + [ + "AbortBundleLocalGenerationsForBundle", + "asl/block/model/operands/local-generation.asl" + ], + [ + "BundleLocalGenerationQueueInsertionLegal", + "asl/block/model/operands/local-generation.asl" + ], + [ + "BundleLocalGenerationSlotForSource", + "asl/block/model/operands/portable-carriers.asl" + ], + [ + "CommitBundleLocalGeneration", + "asl/block/model/operands/local-generation.asl" + ], + [ + "ReuseBundleLocalGenerationDestination", + "asl/block/model/operands/local-generation.asl" + ], + [ + "ValidateBundleLocalGeneration", + "asl/block/model/operands/local-generation.asl" + ] + ], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleLocalGenerationSlotForDestination", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [ + "BundleLocalGenerationSlotForDestination" + ], + "layouts": [], + "path": "asl/block/model/operands/portable-carriers.asl", + "sha256": "462484781ab9f5532eee254378683099ae567c54f9e0b241b6b48d72a9db8893" + } + ], + "after_callers": [ + [ + "BundlePrepareConsumerSource", + "asl/block/model/operands/portable-carriers.asl" + ], + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ], + [ + "TileStoreSourceGeneration", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [ + [ + "BundlePrepareConsumerSource", + "asl/block/model/operands/portable-carriers.asl" + ] + ], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleLocalGenerationSlotForSource", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], "after_sha256": "aee6fd34820d2342f67f9ccae1e2b8ebaef55706c5129fe78932811cdc51d336", @@ -17033,12 +17266,79 @@ "name": "BundleReusedDestinationDescriptorMatches", "path": "asl/block/model/dispatch/destination-shape.asl" }, + { + "after": [ + { + "calls": [ + "BundleSharedTLSUSelected", + "PTOPEMaskBitOfPEIdentity", + "ReadBPC", + "SharedTileArrayIndex" + ], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "a0f2b0817ddcc9b4c524fdbc0fe90bfd7d15de5ccd7e370abd52b4f648868aa4" + } + ], + "after_callers": [ + [ + "ConsumeBundleSharedGenerationCompletionForCurrentPE", + "asl/block/model/operands/shared-generation-pe-requests.asl" + ], + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ], + [ + "PrepareSelectedBundleStage2", + "asl/block/model/operands/subview-descriptor.asl" + ], + [ + "ValidateSharedGenerationEarlyRetirementStructure", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleSharedGenerationCompletionAvailableForCurrentPE", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "8d42afe27ec7d66347857fb8053bc87fcb98da47a01164cf711e83437df3e6ff" + } + ], + "after_callers": [ + [ + "ExecuteBundleSharedTLSUOperation", + "asl/block/model/dispatch/shared-tlsu.asl" + ], + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ], + [ + "RetireFailedEarlySharedGenerationRequest", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleSharedGenerationRequestWaiting", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], - "after_sha256": "bc94ad371496a00fc2fecde07b71cf109175e11a4c8ad375f37003a06376e6a0", + "after_sha256": "80a1c23010cab43a816cf6e392a194743a60773212d318842107eb3caec10aff", "before_layouts": [], "before_sha256": "372a11969b41479a5ebc0d2d6e934c34e6f7d9f6318d855b536189423aa7feb9", - "classification": "TileLocation retirement", + "classification": "operation-scoped accepted layout/relation owner", "name": "BundleSharedTMOVLocalSchemaLegal", "path": "asl/block/model/dispatch/shared-tlsu.asl" }, @@ -17048,7 +17348,7 @@ "CUBE_M32", "RowMajor" ], - "after_sha256": "4a3ab67178c9ffd229e602a8ae0e0b3dc811021f8e75637c8b5c959d77ec87a9", + "after_sha256": "386c95b018b10a690e891939b0a8d7f81cf2b3a6fa47cc82ae0630e8ce807296", "before_layouts": [ "CUBE_M16", "CUBE_M32", @@ -17074,6 +17374,42 @@ "name": "BundleTIMG2COLStateLegal", "path": "asl/block/model/dispatch/timg2col-execution.asl" }, + { + "after": [ + { + "calls": [ + "BundleOperationDecodeCode", + "BundleTileDecodeFamily", + "DecodeTileOperation", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex" + ], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "aca8ec0b008b7dd0548ddfc83baead7f8e48b3132038c2b4448e143de4a6381e" + } + ], + "after_callers": [ + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleTileGMRequestClass", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after": [ { @@ -17223,16 +17559,43 @@ "name": "BundleTileInstructionOperands", "owner_decision": "Local CUBE ExecutionMask support (Issues #277/#349, ADR-TILE-0008, PTO-TILE-MODEL-EXECUTION-MASK-APPLICABILITY-001)" }, + { + "after": [ + { + "calls": [ + "BundleOperationDecodeCode", + "BundleTileDecodeFamily", + "DecodeTileOperation", + "SelectedBundleTileMaskIsZero", + "TileOperationOfIndex" + ], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "d09302f696a738c7c1911336e5b5afc9e24a46f0b0b29eb3f08c5825d5f2bd97" + } + ], + "after_callers": [ + [ + "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "BundleTileOperationHasGMEffect", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [ "RowMajor" ], - "after_sha256": "3ae87eb1ddca0fea632b794ea7f5f1260fa978b73130cebba41ce91dd051a078", + "after_sha256": "c100692f67f54fcbce0d57d54db6a4dbe6d2d1f340741149516083d4ec1ed8e7", "before_layouts": [ "RowMajor" ], "before_sha256": "eed8e80daee2bebab4407e5dba5eb70c86652fcea1eb4dc9e5c52dccab390d24", - "classification": "TileLocation retirement", + "classification": "operation-scoped accepted layout/relation owner", "name": "BundleWeightTLOADBuildAndPublish", "path": "asl/block/model/dispatch/weight-to-shared-execution.asl" }, @@ -17274,7 +17637,7 @@ }, { "after_layouts": [], - "after_sha256": "e6dbd39724506bca5ab6c6e4cc219d1a9da1874d078d61a9fd4248bc818a4259", + "after_sha256": "ab4b8bea6317e8b4f3df56d521ce57fcafef3c715f4d7014122bbf5ad8635b09", "before_layouts": [], "before_sha256": "f5443eea3b974c4c7c04475228870d2e0484e6f8a57254cf388b8183119f5bcb", "classification": "operation-scoped accepted layout/relation owner", @@ -17328,7 +17691,7 @@ }, { "after_layouts": [], - "after_sha256": "9d01c700a81825be988a7d9bd76b91b32de2b3aef5a8864454b3a310a7bf538d", + "after_sha256": "35cc2c8f11b598856277ca4cab79d61d77ec7d9d64dd48d2c95d8dd3855acb80", "before_layouts": [], "before_sha256": "a0cfafdf7a15e038b1002f949fc9f2c29511d435c81401691fd6701bf05992a7", "classification": "operation-scoped accepted layout/relation owner", @@ -17356,6 +17719,81 @@ "name": "ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules", "path": "asl/block/model/dispatch/tile-execution.asl" }, + { + "after": [ + { + "calls": [ + "AbortBundleLocalGenerationsForBundle", + "AbortBundleSharedGenerationsForBundle", + "BundleCurrentPEIsNonparticipantSharedAssembly", + "BundleFirstGMSourceTile", + "BundleLocalGenerationSlotForSource", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", + "BundleTileGMRequestClass", + "BundleTileOperationHasGMEffect", + "CompleteGMObligationForIdentity", + "ConsumeBundleSharedBindings", + "ConsumeBundleSharedGenerationCompletionForCurrentPE", + "CurrentBundleMemoryOrder", + "ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules", + "ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules", + "FaultGMObligation", + "FinalizeSharedGenerationEarlyRetirement", + "FinalizeSharedGenerationEarlyRetirement", + "IssueGMObligation", + "ReadBPC", + "ReadScalarRegisterOperand", + "ReadScalarRegisterOperand", + "RegisterKernelGMObligation", + "RetireFailedEarlySharedGenerationRequest", + "RetireFailedEarlySharedGenerationRequest", + "RetireFailedEarlySharedGenerationRequest", + "ValidateSharedGenerationEarlyRetirementStructure", + "ValidateSharedGenerationEarlyRetirementStructure" + ], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "9432c4a0e0dbd9f6e5d4f9f78ca95582abd411d1f5be2f046c4552f8298f8b4b" + } + ], + "after_callers": [ + [ + "CompleteBundleAtWithAcceptedApplicabilityRules", + "asl/block/model/commit/validation.asl" + ], + [ + "ExecuteBundleTileOperation", + "asl/block/model/dispatch/gm-obligation-dispatch.asl" + ] + ], + "before": [ + { + "calls": [ + "AbortBundleLocalGenerationsForBundle", + "AbortBundleSharedGenerationsForBundle", + "ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules", + "ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules" + ], + "layouts": [], + "path": "asl/block/model/dispatch/tile-execution.asl", + "sha256": "285104a3db4654dd19045c8ee35616f32c56a70b8c553360a82e780308658462" + } + ], + "before_callers": [ + [ + "CompleteBundleAtWithAcceptedApplicabilityRules", + "asl/block/model/commit/validation.asl" + ], + [ + "ExecuteBundleTileOperation", + "asl/block/model/dispatch/tile-execution.asl" + ] + ], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "ExecuteBundleTileOperationWithAcceptedApplicabilityRules", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], "after_sha256": "04478c3ace8bd6b41abdfaea32e7eac9fa1b67db4f86d58ac89306818170c019", @@ -17663,6 +18101,70 @@ "name": "ExecuteTileSelectScalarCUBEGPRAs", "path": "asl/tile/model/execution/predicate-carriers.asl" }, + { + "after": [ + { + "calls": [ + "ExecuteTileStoreSnapshotProgress" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "43341b5b36932cdb6a3f9df6ed7154a25dd18ca5d448dc464dcf3d7ca1e85021" + } + ], + "after_callers": [ + [ + "TSTORE", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "ExecuteTileStoreSnapshot", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [ + "BeginMemoryReplay", + "BundleExecutionMaskActiveAt", + "CommitMemoryReplayEffect", + "CompleteMemoryReplay", + "FlushMemoryReplay", + "MarkGMObligationIrrevocable", + "ProbeTileMemoryAccess", + "RaiseDataAccessFault", + "RecordStoreEvent", + "StoreTileMemoryElement", + "TileLogicalLinearIndex", + "TileMemoryElementBytes", + "TileMemoryStridedByteAddress", + "TileMemoryStridedByteHighNibble", + "TileReadLogicalElement" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "e41f129948ac7f4a0e8fe15aa0b8b35853b1cdcf005ba1e682231c6755081919" + } + ], + "after_callers": [ + [ + "ExecuteTileStoreSnapshot", + "asl/tile/model/memory/load-store.asl" + ], + [ + "ProgressKernelGMObligationsForCore", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "ExecuteTileStoreSnapshotProgress", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], "after_sha256": "0c734640ebc997681473cb798befb54ca0a8a74696eb90d8e24227a695ebe618", @@ -20760,6 +21262,77 @@ "name": "TileStorageIndex", "path": "asl/tile/model/definedness/elements.asl" }, + { + "after": [ + { + "calls": [ + "BundleExecutionMaskActiveAt", + "ProbeTileMemoryAccess", + "TileMemoryStridedByteAddress" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "ea9e4e1315f9a0fb0f0015490be07389a20c13c6036ab575ade88bd3cc9a2b2d" + } + ], + "after_callers": [ + [ + "TSTORE", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "TileStoreFootprintIsValidated", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [ + "BundleExecutionMaskActiveAt" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "1007b0146974c585fd9b028ba3eb25122bb7d660d52cda3c97fad15084c93802" + } + ], + "after_callers": [ + [ + "TSTORE", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "TileStoreHasActiveElements", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, + { + "after": [ + { + "calls": [ + "BundleLocalGenerationSlotForSource" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "e21a7a8c55103ab617b26b96e904dab475ea47c4aa8737f2b24aabc12fef2f72" + } + ], + "after_callers": [ + [ + "TSTORE", + "asl/tile/model/memory/load-store.asl" + ] + ], + "before": [], + "before_callers": [], + "classification": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)", + "name": "TileStoreSourceGeneration", + "owner_decision": "Issue #360 Core-scoped GM and Shared request plumbing (layout-neutral)" + }, { "after_layouts": [], "after_sha256": "569297a174e1075c6dec191f9d3fb559a1418113781f663337d52c4e01a4bef6", @@ -46983,6 +47556,16 @@ "sha256": "8a56fccb894cdaa10cc33124f5b4f1f5b90e65d275dc7f857fd69f73fc0a0788" } ], + "BundleCurrentPEIsNonparticipantSharedAssembly": [ + { + "calls": [ + "PTOPEMaskBitOfPEIdentity" + ], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "0645a9366c0d9b9fdd87723e3eea5eacb9c2701404f31b8a009f68705c6cdd99" + } + ], "BundleDataTypeConcrete": [ { "calls": [ @@ -47562,6 +48145,14 @@ "sha256": "de7f5255f97e65272dc0ff74470fb79aae5f1d821508ecac80e26926a15bcdae" } ], + "BundleFirstGMSourceTile": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "dcea361c7e2658bcfd54478c3a659b5e3ac887cd91a253053c49cf4ce19dcd90" + } + ], "BundleFreeDestinationIndex": [ { "calls": [ @@ -47598,11 +48189,37 @@ "BundleGMOVCore4SourceReady": [ { "calls": [ - "TileElementwiseSourceContentsDefined" + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", + "BundleGMOVSourceDescriptorsMatch", + "ReadPEAbsoluteGPROperand", + "TileElementwiseSourceContentsDefined", + "UInt", + "UInt" ], "layouts": [], "path": "asl/block/model/dispatch/tlsu-gmov.asl", - "sha256": "a745068e90dd876ba4faac3f9060889611df695291daa24fd35de5e350ab0688" + "sha256": "2f3c3837be55e7b081f5b211cd3d36bfb613854c1639972824e3a3633a94ed3a" + } + ], + "BundleGMOVPESourceTile": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "92a7beadd578cbb2ad14a32ace75d1931bfb98deb19370addba9d454ed764a6e" + } + ], + "BundleGMOVPESourceTileReady": [ + { + "calls": [ + "TileCubeDescriptorLegal", + "TileInfoDescriptorLegal", + "TileLayoutIsCube" + ], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "5f674c9cb42d42a9509e62af6dc18252096e201b570fdc4cbc7d6169b755ba30" } ], "BundleGMOVSelected": [ @@ -47615,6 +48232,14 @@ "sha256": "b01d88e00e88808c926fa40d86c85e6f80ecef5fadcc7430a97ba0af6dd9039b" } ], + "BundleGMOVSourceDescriptorsMatch": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/dispatch/tlsu-gmov.asl", + "sha256": "c6a27317a9974133a61e41894057308f57aab66dfaac2e4d560518fd110236b1" + } + ], "BundleGroupMaxColumns": [ { "calls": [ @@ -47676,6 +48301,24 @@ "sha256": "a07a6e603d9733c0caa10db4a84cfb535642e4b869f6c9dc938822136934dd00" } ], + "BundleLocalGenerationSlotForDestination": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/operands/local-generation.asl", + "sha256": "e804f72bc70add9c9207316ccf718f9508ad08b856820636d2a2dad593e1bb7f" + } + ], + "BundleLocalGenerationSlotForSource": [ + { + "calls": [ + "BundleLocalGenerationSlotForDestination" + ], + "layouts": [], + "path": "asl/block/model/operands/portable-carriers.asl", + "sha256": "462484781ab9f5532eee254378683099ae567c54f9e0b241b6b48d72a9db8893" + } + ], "BundleLocalTileDestinationCount": [ { "calls": [], @@ -48415,6 +49058,27 @@ "sha256": "cd0c13871f0fc909e78a02ab3515e1c1ea3448d873a43c671bf65778c1cb8bd3" } ], + "BundleSharedGenerationCompletionAvailableForCurrentPE": [ + { + "calls": [ + "BundleSharedTLSUSelected", + "PTOPEMaskBitOfPEIdentity", + "ReadBPC", + "SharedTileArrayIndex" + ], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "a0f2b0817ddcc9b4c524fdbc0fe90bfd7d15de5ccd7e370abd52b4f648868aa4" + } + ], + "BundleSharedGenerationRequestWaiting": [ + { + "calls": [], + "layouts": [], + "path": "asl/block/model/operands/shared-generation-pe-requests.asl", + "sha256": "8d42afe27ec7d66347857fb8053bc87fcb98da47a01164cf711e83437df3e6ff" + } + ], "BundleSharedPhysicalDestinationCount": [ { "calls": [], @@ -48577,7 +49241,7 @@ ], "layouts": [], "path": "asl/block/model/dispatch/shared-tlsu.asl", - "sha256": "bc94ad371496a00fc2fecde07b71cf109175e11a4c8ad375f37003a06376e6a0" + "sha256": "80a1c23010cab43a816cf6e392a194743a60773212d318842107eb3caec10aff" } ], "BundleTCVTCubeDestinationCapacityGroupFits": [ @@ -48645,7 +49309,7 @@ "BundleTIMG2COLPreflightGM", "BundleTIMG2COLStateOutput", "BundleTileDestinationSizeBytes", - "CommitBundleSharedGenerationCandidateRange", + "CommitBundleSharedGenerationCandidateRangeWithPayloadElements", "ConfigureCubeTileForMask", "CurrentBundleMemoryOrder", "DecodeTileMemoryElementRaw", @@ -48672,6 +49336,7 @@ "TileCubeDescriptorLegal", "TileDataLayoutOfCode", "TileDataTypeFromEncoding", + "TileElementBits", "TileInfoWithLogicalElement", "TileLogicalLinearIndex", "TileMemoryElementBytes", @@ -48694,7 +49359,7 @@ "RowMajor" ], "path": "asl/block/model/dispatch/timg2col-execution.asl", - "sha256": "4a3ab67178c9ffd229e602a8ae0e0b3dc811021f8e75637c8b5c959d77ec87a9" + "sha256": "386c95b018b10a690e891939b0a8d7f81cf2b3a6fa47cc82ae0630e8ce807296" } ], "BundleTIMG2COLC0Elements": [ @@ -49390,6 +50055,29 @@ "sha256": "9f457fdc4741840c92fc59652a35fd21bb0e34a052e56e5a64fb13242e542065" } ], + "BundleTileGMRequestClass": [ + { + "calls": [ + "BundleOperationDecodeCode", + "BundleTileDecodeFamily", + "DecodeTileOperation", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex", + "TileOperationOfIndex" + ], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "aca8ec0b008b7dd0548ddfc83baead7f8e48b3132038c2b4448e143de4a6381e" + } + ], "BundleTileInstructionOperands": [ { "calls": [ @@ -49465,6 +50153,20 @@ "sha256": "05053ae412104c2730bc0714b7edf4451ed32eaf94c511cf17ab03e00d3f4507" } ], + "BundleTileOperationHasGMEffect": [ + { + "calls": [ + "BundleOperationDecodeCode", + "BundleTileDecodeFamily", + "DecodeTileOperation", + "SelectedBundleTileMaskIsZero", + "TileOperationOfIndex" + ], + "layouts": [], + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "d09302f696a738c7c1911336e5b5afc9e24a46f0b0b29eb3f08c5825d5f2bd97" + } + ], "BundleTileOperationSelected": [ { "calls": [], @@ -49516,7 +50218,7 @@ "BundleWeightTLOADRowStartForRank", "BundleWeightTLOADRowsForRank", "BundleWeightTLOADWriterCells", - "CommitBundleSharedGenerationCandidateRange", + "CommitBundleSharedGenerationCandidateRangeWithPayloadElements", "CurrentBundleMemoryOrder", "DecodeTileMemoryElementRaw", "DerivedTileRows", @@ -49536,6 +50238,7 @@ "SharedTileRecord", "TileDataLayoutOfCode", "TileDataTypeFromEncoding", + "TileElementBits", "TileInfoWithLogicalElement", "TileLogicalLinearIndex", "TileMemoryElementBytes", @@ -49552,7 +50255,7 @@ "RowMajor" ], "path": "asl/block/model/dispatch/weight-to-shared-execution.asl", - "sha256": "3ae87eb1ddca0fea632b794ea7f5f1260fa978b73130cebba41ce91dd051a078" + "sha256": "c100692f67f54fcbce0d57d54db6a4dbe6d2d1f340741149516083d4ec1ed8e7" } ], "BundleWeightTLOADC0Elements": [ @@ -50109,6 +50812,8 @@ { "calls": [ "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleOperationBindingsComplete", "BundleOperationDecodeCode", "BundleOperationGPRBindingValuesLegal", @@ -50121,7 +50826,10 @@ "DecodeTileOperation", "FinalizeBundleTileAttempt", "GMOV", + "GMOVFromSourceTile", "ReadPEAbsoluteGPROperand", + "ReadPEAbsoluteGPROperand", + "ReadTPC", "ReadTPC", "ReadTPC", "ReadTPC", @@ -50139,17 +50847,22 @@ "SetFault", "SetFault", "SetFault", + "SetFault", + "TileCarrierOrPackedBaselineDataTypeSupported", "TileCarrierOrPackedBaselineDataTypeSupported", "TileDataTypeFromEncoding", "TileDataTypeFromEncoding", - "TileOperandsLegal_GMOV", + "TileElementwiseDescriptorLegal", + "TileElementwiseLayoutSupported", + "UInt", + "UInt", "UInt", "UInt", "ValidateBundleLocalGenerationWriters" ], "layouts": [], "path": "asl/block/model/dispatch/tlsu-gmov.asl", - "sha256": "e6dbd39724506bca5ab6c6e4cc219d1a9da1874d078d61a9fd4248bc818a4259" + "sha256": "ab4b8bea6317e8b4f3df56d521ce57fcafef3c715f4d7014122bbf5ad8635b09" } ], "ExecuteBundleMGATHERCASOperation": [ @@ -50424,6 +51137,8 @@ "BundleSharedBindingPhysicalCount", "BundleSharedBindingSize", "BundleSharedGenerationCapacity", + "BundleSharedGenerationRequestWaiting", + "BundleSharedGenerationRequestWaiting", "BundleSharedStoreColumns", "BundleSharedStoreValidColumns", "BundleSharedStoreValidRows", @@ -50434,6 +51149,9 @@ "BundleTileBindingCount", "CommitBundleSharedGenerationCandidate", "CommitBundleSharedGenerationCandidate", + "CommitBundleSharedGenerationCandidateForCurrentPE", + "CommitBundleSharedGenerationCandidateForCurrentPE", + "ConsumeBundleSharedBindings", "ConsumeBundleSharedBindings", "CurrentBundleTileLayout", "CurrentBundleTileLayout", @@ -50442,11 +51160,13 @@ "CurrentBundleTileOperationDataTypeCode", "DecodeTileOperation", "FinalizeBundleTileAttempt", + "FinalizeBundleTileAttempt", "MaterializeBundleSharedSubview", "MaterializeBundleSharedSubviewForPE", "MaterializeBundleSharedSubviewForPE", "MaterializeSharedTileForReadSchema", "MaterializeSharedTileForReadSchemaAtCapacity", + "PTOPEMaskBitOfPEIdentity", "ReadPEAbsoluteGPROperand", "ReadPEAbsoluteGPROperand", "ReadPEAbsoluteGPROperand", @@ -50499,6 +51219,7 @@ "SharedTileRecord", "TLOADShared", "TMOVLocalToShared", + "TMOVLocalToShared", "TMOVSharedToLocal", "TMOVSharedToLocalPerPE", "TSTOREShared", @@ -50518,7 +51239,7 @@ ], "layouts": [], "path": "asl/block/model/dispatch/shared-tlsu.asl", - "sha256": "9d01c700a81825be988a7d9bd76b91b32de2b3aef5a8864454b3a310a7bf538d" + "sha256": "35cc2c8f11b598856277ca4cab79d61d77ec7d9d64dd48d2c95d8dd3855acb80" } ], "ExecuteBundleTIMG2COLOperation": [ @@ -50883,12 +51604,36 @@ "calls": [ "AbortBundleLocalGenerationsForBundle", "AbortBundleSharedGenerationsForBundle", + "BundleCurrentPEIsNonparticipantSharedAssembly", + "BundleFirstGMSourceTile", + "BundleLocalGenerationSlotForSource", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", + "BundleTileGMRequestClass", + "BundleTileOperationHasGMEffect", + "CompleteGMObligationForIdentity", + "ConsumeBundleSharedBindings", + "ConsumeBundleSharedGenerationCompletionForCurrentPE", + "CurrentBundleMemoryOrder", "ExecuteBundleTileOperationLocallyWithAcceptedApplicabilityRules", - "ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules" + "ExecuteFarBundleTileOperationWithAcceptedApplicabilityRules", + "FaultGMObligation", + "FinalizeSharedGenerationEarlyRetirement", + "FinalizeSharedGenerationEarlyRetirement", + "IssueGMObligation", + "ReadBPC", + "ReadScalarRegisterOperand", + "ReadScalarRegisterOperand", + "RegisterKernelGMObligation", + "RetireFailedEarlySharedGenerationRequest", + "RetireFailedEarlySharedGenerationRequest", + "RetireFailedEarlySharedGenerationRequest", + "ValidateSharedGenerationEarlyRetirementStructure", + "ValidateSharedGenerationEarlyRetirementStructure" ], "layouts": [], - "path": "asl/block/model/dispatch/tile-execution.asl", - "sha256": "285104a3db4654dd19045c8ee35616f32c56a70b8c553360a82e780308658462" + "path": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "sha256": "9432c4a0e0dbd9f6e5d4f9f78ca95582abd411d1f5be2f046c4552f8298f8b4b" } ], "ExecuteBundleWeightTLOADOperation": [ @@ -51298,6 +52043,40 @@ "sha256": "9c486a101acfbccac79959f79cf803b8c73fbf701d55f8ff455ec42f5658923e" } ], + "ExecuteTileStoreSnapshot": [ + { + "calls": [ + "ExecuteTileStoreSnapshotProgress" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "43341b5b36932cdb6a3f9df6ed7154a25dd18ca5d448dc464dcf3d7ca1e85021" + } + ], + "ExecuteTileStoreSnapshotProgress": [ + { + "calls": [ + "BeginMemoryReplay", + "BundleExecutionMaskActiveAt", + "CommitMemoryReplayEffect", + "CompleteMemoryReplay", + "FlushMemoryReplay", + "MarkGMObligationIrrevocable", + "ProbeTileMemoryAccess", + "RaiseDataAccessFault", + "RecordStoreEvent", + "StoreTileMemoryElement", + "TileLogicalLinearIndex", + "TileMemoryElementBytes", + "TileMemoryStridedByteAddress", + "TileMemoryStridedByteHighNibble", + "TileReadLogicalElement" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "e41f129948ac7f4a0e8fe15aa0b8b35853b1cdcf005ba1e682231c6755081919" + } + ], "ExecuteTileUnary": [ { "calls": [ @@ -56736,6 +57515,38 @@ "sha256": "84f42157866b4e18f70a88565a47989b7db80c830fd5838625ca7fab5352be29" } ], + "TileStoreFootprintIsValidated": [ + { + "calls": [ + "BundleExecutionMaskActiveAt", + "ProbeTileMemoryAccess", + "TileMemoryStridedByteAddress" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "ea9e4e1315f9a0fb0f0015490be07389a20c13c6036ab575ade88bd3cc9a2b2d" + } + ], + "TileStoreHasActiveElements": [ + { + "calls": [ + "BundleExecutionMaskActiveAt" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "1007b0146974c585fd9b028ba3eb25122bb7d660d52cda3c97fad15084c93802" + } + ], + "TileStoreSourceGeneration": [ + { + "calls": [ + "BundleLocalGenerationSlotForSource" + ], + "layouts": [], + "path": "asl/tile/model/memory/load-store.asl", + "sha256": "e21a7a8c55103ab617b26b96e904dab475ea47c4aa8737f2b24aabc12fef2f72" + } + ], "TileTCIDataTypeSupported": [ { "calls": [], @@ -57030,6 +57841,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -57072,16 +57884,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -57140,6 +57958,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -57218,7 +58038,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -57664,6 +58486,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -57706,16 +58529,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -57774,6 +58603,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -57852,7 +58683,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -58007,7 +58840,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -58075,7 +58907,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -58310,6 +59141,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -58352,16 +59184,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -58420,6 +59258,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -58498,7 +59338,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -58652,7 +59494,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -58718,7 +59559,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -58946,6 +59786,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -58988,16 +59829,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -59056,6 +59903,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -59134,7 +59983,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -59288,7 +60139,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -59354,7 +60204,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -59582,6 +60431,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -59624,16 +60474,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -59692,6 +60548,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -59770,7 +60628,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -59924,7 +60784,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -59990,7 +60849,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -60226,6 +61084,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -60268,16 +61127,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -60336,6 +61201,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -60414,7 +61281,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -60568,7 +61437,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -60634,7 +61502,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -60862,6 +61729,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -60904,16 +61772,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -60972,6 +61846,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -61050,7 +61926,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -61204,7 +62082,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -61270,7 +62147,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -61498,6 +62374,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -61540,16 +62417,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -61608,6 +62491,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -61686,7 +62571,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -61840,7 +62727,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -61906,7 +62792,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -62134,6 +63019,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -62176,16 +63062,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -62244,6 +63136,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -62322,7 +63216,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -62477,7 +63373,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -62545,7 +63440,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -62796,6 +63690,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -62838,16 +63733,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -62906,6 +63807,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -62984,7 +63887,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -63138,7 +64043,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -63204,7 +64108,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -63432,6 +64335,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -63474,16 +64378,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -63542,6 +64452,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -63620,7 +64532,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -63774,7 +64688,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -63840,7 +64753,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -64068,6 +64980,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -64110,16 +65023,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -64178,6 +65097,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -64256,7 +65177,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -64410,7 +65333,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -64476,7 +65398,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -64704,6 +65625,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -64746,16 +65668,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -64814,6 +65742,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -64892,7 +65822,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -65046,7 +65978,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -65112,7 +66043,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -65340,6 +66270,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -65382,16 +66313,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -65450,6 +66387,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -65528,7 +66467,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -65683,7 +66624,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -65751,7 +66691,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -65982,6 +66921,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -66024,16 +66964,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -66092,6 +67038,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -66170,7 +67118,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -66325,7 +67275,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -66393,7 +67342,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -66621,6 +67569,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -66663,16 +67612,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -66731,6 +67686,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -66809,7 +67766,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -66964,7 +67923,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -67032,7 +67990,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -67260,6 +68217,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -67302,16 +68260,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -67370,6 +68334,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -67448,7 +68414,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -67603,7 +68571,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -67671,7 +68638,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -67899,6 +68865,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -67941,16 +68908,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -68009,6 +68982,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -68087,7 +69062,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -68242,7 +69219,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -68310,7 +69286,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -68538,6 +69513,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -68580,16 +69556,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -68648,6 +69630,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -68726,7 +69710,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -68881,7 +69867,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -68949,7 +69934,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -69195,6 +70179,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -69237,16 +70222,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -69305,6 +70296,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -69383,7 +70376,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -69538,7 +70533,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -69606,7 +70600,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -69834,6 +70827,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -69876,16 +70870,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -69944,6 +70944,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -70022,7 +71024,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -70177,7 +71181,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -70245,7 +71248,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -70473,6 +71475,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -70515,16 +71518,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -70583,6 +71592,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -70661,7 +71672,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -70816,7 +71829,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -70884,7 +71896,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -71112,6 +72123,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -71154,16 +72166,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -71222,6 +72240,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -71300,7 +72320,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -71455,7 +72477,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -71523,7 +72544,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -71743,6 +72763,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -71785,16 +72806,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -71853,6 +72880,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -71931,7 +72960,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -72086,7 +73117,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -72154,7 +73184,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -72382,6 +73411,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -72424,16 +73454,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -72492,6 +73528,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -72570,7 +73608,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -72806,7 +73846,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -73083,6 +74122,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -73125,16 +74165,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -73193,6 +74239,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -73271,7 +74319,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -73505,7 +74555,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -73786,6 +74835,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -73829,16 +74879,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -73897,6 +74953,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -73975,7 +75033,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -74208,7 +75268,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -74483,6 +75542,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -74525,16 +75585,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -74593,6 +75659,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -74671,7 +75739,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -74905,7 +75975,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -75186,6 +76255,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -75229,16 +76299,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -75297,6 +76373,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -75375,7 +76453,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -75608,7 +76688,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -75883,6 +76962,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -75925,16 +77005,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -75993,6 +77079,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -76071,7 +77159,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -76225,7 +77315,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -76291,7 +77380,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -76509,6 +77597,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -76551,16 +77640,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -76619,6 +77714,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -76697,7 +77794,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -76854,7 +77953,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValidAs", "TileExecutionMaskPredicateCellShapeLegal", @@ -76925,7 +78023,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -77197,6 +78294,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -77239,16 +78337,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -77307,6 +78411,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -77385,7 +78491,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -77542,7 +78650,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValidAs", "TileExecutionMaskPredicateCellShapeLegal", @@ -77613,7 +78720,6 @@ "TileOperandsLegal_ExecuteTileCompareScalarAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -77877,6 +78983,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -77919,16 +79026,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -77987,6 +79100,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -78065,7 +79180,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -78224,7 +79341,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -78296,7 +79412,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -78576,6 +79691,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -78618,16 +79734,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -78686,6 +79808,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -78764,7 +79888,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -78923,7 +80049,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -78995,7 +80120,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -79275,6 +80399,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -79317,16 +80442,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -79385,6 +80516,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -79463,7 +80596,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -79620,7 +80755,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -79714,7 +80848,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -80028,6 +81161,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -80070,16 +81204,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -80138,6 +81278,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -80216,7 +81358,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -80373,7 +81517,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -80467,7 +81610,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -80789,6 +81931,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -80831,16 +81974,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -80899,6 +82048,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -80977,7 +82128,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -81134,7 +82287,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -81228,7 +82380,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -81550,6 +82701,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -81592,16 +82744,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -81660,6 +82818,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -81738,7 +82898,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -81895,7 +83057,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -81989,7 +83150,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -82311,6 +83471,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -82353,16 +83514,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -82421,6 +83588,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -82499,7 +83668,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -82656,7 +83827,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -82750,7 +83920,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -83072,6 +84241,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -83114,16 +84284,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -83182,6 +84358,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -83260,7 +84438,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -83417,7 +84597,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -83511,7 +84690,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -83833,6 +85011,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -83875,16 +85054,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -83943,6 +85128,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -84021,7 +85208,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -84178,7 +85367,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -84272,7 +85460,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -84594,6 +85781,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -84636,16 +85824,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -84704,6 +85898,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -84782,7 +85978,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -84939,7 +86137,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -85033,7 +86230,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -85355,6 +86551,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -85397,16 +86594,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -85465,6 +86668,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -85543,7 +86748,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -85702,7 +86909,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -85774,7 +86980,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -86054,6 +87259,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -86096,16 +87302,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -86164,6 +87376,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -86242,7 +87456,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -86401,7 +87617,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -86473,7 +87688,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -86753,6 +87967,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -86795,16 +88010,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -86863,6 +88084,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -86941,7 +88164,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -87100,7 +88325,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -87172,7 +88396,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -87452,6 +88675,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -87494,16 +88718,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -87562,6 +88792,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -87640,7 +88872,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -87799,7 +89033,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -87871,7 +89104,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -88151,6 +89383,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -88193,16 +89426,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -88261,6 +89500,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -88339,7 +89580,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -88501,7 +89744,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValidAs", "TileExecutionMaskPredicateCellShapeLegal", @@ -88570,7 +89812,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -88837,6 +90078,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -88879,16 +90121,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -88947,6 +90195,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -89025,7 +90275,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -89259,7 +90511,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -89540,6 +90791,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -89583,16 +90835,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -89651,6 +90909,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -89729,7 +90989,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -89962,7 +91224,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -90237,6 +91498,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -90279,16 +91541,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -90347,6 +91615,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -90425,7 +91695,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -90661,7 +91933,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -90938,6 +92209,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -90980,16 +92252,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -91048,6 +92326,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -91126,7 +92406,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -91281,7 +92563,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -91349,7 +92630,6 @@ "TileOperandsLegal_ExecuteTileFillScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -91578,6 +92858,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -91620,16 +92901,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -91688,6 +92975,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -91766,7 +93055,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -91923,7 +93214,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValidAs", "TileExecutionMaskPredicateCellShapeLegal", @@ -92013,7 +93303,6 @@ "TileOperandsLegal_ExecuteTileExpdif", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -92332,6 +93621,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -92374,16 +93664,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -92442,6 +93738,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -92520,7 +93818,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -92676,7 +93976,6 @@ "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", "TileElementwiseShapeAndTypeMatch", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValid", "TileExecutionMaskPredicateCellShapeLegal", @@ -92746,7 +94045,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -93016,6 +94314,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -93058,16 +94357,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -93126,6 +94431,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -93204,7 +94511,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -93358,7 +94667,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileElementwiseSourceEncodingsValid", "TileExecutionMaskPredicateCellShapeLegal", @@ -93428,7 +94736,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -93673,6 +94980,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -93715,16 +95023,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -93783,6 +95097,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -93861,7 +95177,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -94015,7 +95333,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -94083,7 +95400,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -94311,6 +95627,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -94353,16 +95670,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -94421,6 +95744,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -94499,7 +95824,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -94653,7 +95980,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -94722,7 +96048,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -94961,6 +96286,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -95003,16 +96329,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -95071,6 +96403,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -95149,7 +96483,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -95303,7 +96639,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -95372,7 +96707,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -95637,6 +96971,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -95679,16 +97014,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -95747,6 +97088,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -95825,7 +97168,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -95979,7 +97324,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -96049,7 +97393,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -96309,6 +97652,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -96351,16 +97695,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -96419,6 +97769,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -96497,7 +97849,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -96651,7 +98005,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -96722,7 +98075,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -96993,6 +98345,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -97035,16 +98388,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -97103,6 +98462,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -97181,7 +98542,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -97335,7 +98698,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -97407,7 +98769,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -97696,6 +99057,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -97738,16 +99100,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -97806,6 +99174,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -97884,7 +99254,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -98038,7 +99410,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -98104,7 +99475,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -98337,6 +99707,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -98379,16 +99750,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -98447,6 +99824,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -98525,7 +99904,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -98679,7 +100060,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -98753,7 +100133,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -99004,6 +100383,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -99046,16 +100426,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -99114,6 +100500,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -99192,7 +100580,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -99346,7 +100736,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -99413,7 +100802,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -99646,6 +101034,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -99688,16 +101077,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -99756,6 +101151,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -99834,7 +101231,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -100070,7 +101469,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -100348,6 +101746,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -100390,16 +101789,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -100458,6 +101863,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -100536,7 +101943,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -100690,7 +102099,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -100758,7 +102166,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -100984,6 +102391,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -101026,16 +102434,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -101094,6 +102508,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -101172,7 +102588,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -101326,7 +102744,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -101395,7 +102812,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -101632,6 +103048,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -101674,16 +103091,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -101742,6 +103165,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -101820,7 +103245,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -101974,7 +103401,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -102043,7 +103469,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -102306,6 +103731,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -102348,16 +103774,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -102416,6 +103848,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -102494,7 +103928,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -102648,7 +104084,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -102718,7 +104153,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -102976,6 +104410,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -103018,16 +104453,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -103086,6 +104527,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -103164,7 +104607,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -103318,7 +104763,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -103389,7 +104833,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -103658,6 +105101,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -103700,16 +105144,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -103768,6 +105218,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -103846,7 +105298,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -104000,7 +105454,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -104072,7 +105525,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -104359,6 +105811,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -104401,16 +105854,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -104469,6 +105928,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -104547,7 +106008,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -104781,7 +106244,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -105062,6 +106524,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -105105,16 +106568,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -105173,6 +106642,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -105251,7 +106722,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -105484,7 +106957,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -105759,6 +107231,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -105801,16 +107274,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -105869,6 +107348,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -105947,7 +107428,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -106181,7 +107664,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -106462,6 +107944,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -106505,16 +107988,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -106573,6 +108062,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -106651,7 +108142,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -106884,7 +108377,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -107159,6 +108651,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -107201,16 +108694,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -107269,6 +108768,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -107347,7 +108848,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -107501,7 +109004,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -107568,7 +109070,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -107800,6 +109301,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -107842,16 +109344,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -107910,6 +109418,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -107988,7 +109498,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -108222,7 +109734,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -108503,6 +110014,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -108546,16 +110058,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -108614,6 +110132,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -108692,7 +110212,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -108925,7 +110447,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -109200,6 +110721,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -109242,16 +110764,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -109310,6 +110838,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -109388,7 +110918,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -109624,7 +111156,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -109901,6 +111432,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -109943,16 +111475,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -110011,6 +111549,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -110089,7 +111629,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -110325,7 +111867,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -110602,6 +112143,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -110644,16 +112186,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -110712,6 +112260,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -110790,7 +112340,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -111024,7 +112576,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -111305,6 +112856,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -111348,16 +112900,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -111416,6 +112974,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -111494,7 +113054,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -111727,7 +113289,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -112002,6 +113563,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -112044,16 +113606,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -112112,6 +113680,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -112190,7 +113760,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -112347,7 +113919,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -112415,7 +113986,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -112662,6 +114232,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -112704,16 +114275,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -112772,6 +114349,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -112850,7 +114429,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -113007,7 +114588,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -113074,7 +114654,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -113325,6 +114904,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -113367,16 +114947,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -113435,6 +115021,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -113513,7 +115101,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -113667,7 +115257,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -113733,7 +115322,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -113898,6 +115486,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -113940,16 +115529,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -114008,6 +115603,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -114086,7 +115683,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -114322,7 +115921,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -114599,6 +116197,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -114641,16 +116240,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -114709,6 +116314,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -114787,7 +116394,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -115023,7 +116632,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -115300,6 +116908,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -115342,16 +116951,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -115410,6 +117025,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -115488,7 +117105,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -115722,7 +117341,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -116003,6 +117621,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -116046,16 +117665,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -116114,6 +117739,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -116192,7 +117819,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -116425,7 +118054,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -116700,6 +118328,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -116742,16 +118371,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -116810,6 +118445,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -116888,7 +118525,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -117047,7 +118686,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -117119,7 +118757,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -117399,6 +119036,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -117441,16 +119079,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -117509,6 +119153,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -117587,7 +119233,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -117746,7 +119394,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -117818,7 +119465,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -118098,6 +119744,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -118140,16 +119787,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -118208,6 +119861,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -118286,7 +119941,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -118443,7 +120100,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -118537,7 +120193,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -118851,6 +120506,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -118893,16 +120549,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -118961,6 +120623,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -119039,7 +120703,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -119196,7 +120862,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -119290,7 +120955,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -119612,6 +121276,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -119654,16 +121319,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -119722,6 +121393,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -119800,7 +121473,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -119957,7 +121632,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -120051,7 +121725,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -120373,6 +122046,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -120415,16 +122089,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -120483,6 +122163,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -120561,7 +122243,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -120718,7 +122402,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -120812,7 +122495,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -121134,6 +122816,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -121176,16 +122859,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -121244,6 +122933,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -121322,7 +123013,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -121479,7 +123172,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -121573,7 +123265,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -121895,6 +123586,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -121937,16 +123629,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -122005,6 +123703,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -122083,7 +123783,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -122240,7 +123942,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -122334,7 +124035,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -122656,6 +124356,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -122698,16 +124399,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -122766,6 +124473,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -122844,7 +124553,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -123001,7 +124712,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -123095,7 +124805,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -123417,6 +125126,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -123459,16 +125169,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -123527,6 +125243,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -123605,7 +125323,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -123762,7 +125482,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -123856,7 +125575,6 @@ "TileOperandsLegal_ExecuteTileExpandAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -124178,6 +125896,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -124220,16 +125939,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -124288,6 +126013,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -124366,7 +126093,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -124525,7 +126254,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -124597,7 +126325,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -124877,6 +126604,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -124919,16 +126647,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -124987,6 +126721,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -125065,7 +126801,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -125224,7 +126962,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -125296,7 +127033,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -125576,6 +127312,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -125618,16 +127355,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -125686,6 +127429,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -125764,7 +127509,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -125923,7 +127670,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -125995,7 +127741,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -126275,6 +128020,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -126317,16 +128063,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -126385,6 +128137,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -126463,7 +128217,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -126622,7 +128378,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -126694,7 +128449,6 @@ "TileOperandsLegal_ExecuteTileReduction", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -126974,6 +128728,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -127016,16 +128771,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -127084,6 +128845,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -127162,7 +128925,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -127398,7 +129163,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -127675,6 +129439,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -127717,16 +129482,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -127785,6 +129556,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -127863,7 +129636,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -128017,7 +129792,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -128085,7 +129859,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -128318,6 +130091,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -128360,16 +130134,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -128428,6 +130208,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -128506,7 +130288,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -128662,7 +130446,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -128731,7 +130514,6 @@ "TileOperandsLegal_ExecuteTileSelectAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -129010,6 +130792,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -129052,16 +130835,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -129120,6 +130909,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -129198,7 +130989,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -129354,7 +131147,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -129423,7 +131215,6 @@ "TileOperandsLegal_ExecuteTileSelectScalar", "TileOperandsLegal_ExecuteTileSelectScalarAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -129695,6 +131486,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -129737,16 +131529,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -129805,6 +131603,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -129883,7 +131683,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -130117,7 +131919,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -130398,6 +132199,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -130441,16 +132243,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -130509,6 +132317,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -130587,7 +132397,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -130820,7 +132632,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -131095,6 +132906,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -131137,16 +132949,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -131205,6 +133023,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -131283,7 +133103,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -131517,7 +133339,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -131798,6 +133619,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -131841,16 +133663,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -131909,6 +133737,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -131987,7 +133817,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -132220,7 +134052,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -132495,6 +134326,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -132537,16 +134369,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -132605,6 +134443,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -132683,7 +134523,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -132840,7 +134682,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -132906,7 +134747,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -133150,6 +134990,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -133192,16 +135033,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -133260,6 +135107,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -133338,7 +135187,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -133574,7 +135425,6 @@ "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", "TileOperandsLegal_ExecuteTileUnary", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -133852,6 +135702,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -133894,16 +135745,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -133962,6 +135819,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -134040,7 +135899,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -134093,6 +135954,8 @@ "ExecuteTileInstructionWithoutTimeWithAcceptedApplicabilityRules", "ExecuteTileSelectCUBEGPRAs", "ExecuteTileSelectScalarCUBEGPRAs", + "ExecuteTileStoreSnapshot", + "ExecuteTileStoreSnapshotProgress", "IndexedTLSUDataShapeMatchesIndex", "IndexedTLSUExecutionMaskContentsDefined", "IndexedTLSULayoutSupported", @@ -134194,7 +136057,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -134261,7 +136123,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -134326,6 +136187,9 @@ "TileStorageBytes", "TileStorageFitsCapacity", "TileStorageIndex", + "TileStoreFootprintIsValidated", + "TileStoreHasActiveElements", + "TileStoreSourceGeneration", "TileTCIDataTypeSupported", "TileTeplRawCarrierTypeSupported", "TileUsesPackedCarrierRepresentation", @@ -134383,7 +136247,11 @@ "common_helpers": [ "BundleExecutionMaskActiveAt", "BundleExecutionMaskCoordinateBit", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "CurrentBundleMemoryOrder", + "ExecuteTileStoreSnapshot", + "ExecuteTileStoreSnapshotProgress", "TileCapacityIsLegal", "TileCapacityLimitBytes", "TileCubeAlignedExtent", @@ -134436,6 +136304,9 @@ "TileRegularTLSUDataTypeSupported", "TileShapeMatchesCapacity", "TileStorageIndex", + "TileStoreFootprintIsValidated", + "TileStoreHasActiveElements", + "TileStoreSourceGeneration", "TileTeplRawCarrierTypeSupported", "TileUsesPackedCarrierRepresentation" ], @@ -134486,6 +136357,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -134528,16 +136400,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -134596,6 +136474,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -134674,7 +136554,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -134908,7 +136790,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -135189,6 +137070,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -135232,16 +137114,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -135300,6 +137188,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -135378,7 +137268,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -135611,7 +137503,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -135886,6 +137777,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -135928,16 +137820,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -135996,6 +137894,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -136074,7 +137974,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -136228,7 +138130,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -136294,7 +138195,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -136514,6 +138414,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -136556,16 +138457,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -136624,6 +138531,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -136702,7 +138611,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -136859,7 +138770,6 @@ "TileElementDefined", "TileElementwiseDescriptorLegal", "TileElementwiseLayoutSupported", - "TileElementwiseShapeMatch", "TileElementwiseSourceContentsDefined", "TileExecutionMaskPredicateCellShapeLegal", "TileExecutionMaskPredicateGPRResult", @@ -136927,7 +138837,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -137166,6 +139075,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -137208,16 +139118,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -137276,6 +139192,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -137354,7 +139272,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -137588,7 +139508,6 @@ "TileOperandsLegal_ExecuteTileCompareGPRAs", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -137869,6 +139788,7 @@ "BundleCubeTransportDataTypeSupported", "BundleCubeTransportDimensionsLegal", "BundleCubeTransportSelected", + "BundleCurrentPEIsNonparticipantSharedAssembly", "BundleDataTypeConcrete", "BundleDescriptorHasTIMG2COLFormIdentity", "BundleDescriptorSelectsTIMG2COL", @@ -137912,16 +139832,22 @@ "BundleFPATRReluModeUsesVectorParameter", "BundleFPATRReluParameterWordLegal", "BundleFirstDestinationBinding", + "BundleFirstGMSourceTile", "BundleFreeDestinationIndex", "BundleGMAtomRedDataTypeLegal", "BundleGMAtomRedSelected", "BundleGMOVCore4SourceReady", + "BundleGMOVPESourceTile", + "BundleGMOVPESourceTileReady", "BundleGMOVSelected", + "BundleGMOVSourceDescriptorsMatch", "BundleGroupMaxColumns", "BundleHasAssembleModifier", "BundleLocalDestinationAllocationBytes", "BundleLocalDestinationCapacityGroupFits", "BundleLocalGenerationCellCount", + "BundleLocalGenerationSlotForDestination", + "BundleLocalGenerationSlotForSource", "BundleLocalTileDestinationCount", "BundleLocalTileParentRefCount", "BundleLocalTileParentRefIsFinal", @@ -137980,6 +139906,8 @@ "BundleSharedBindingsUnconsumed", "BundleSharedDestinationAssemblyPolicyLegal", "BundleSharedGenerationCapacity", + "BundleSharedGenerationCompletionAvailableForCurrentPE", + "BundleSharedGenerationRequestWaiting", "BundleSharedPhysicalDestinationCount", "BundleSharedReusedDestinationCount", "BundleSharedReusedDestinationIsFinal", @@ -138058,7 +139986,9 @@ "BundleTileDecodeFamily", "BundleTileDestinationSizeBytes", "BundleTileDestinationSizeLegal", + "BundleTileGMRequestClass", "BundleTileInstructionOperands", + "BundleTileOperationHasGMEffect", "BundleTileOperationSelected", "BundleTileSourceIndex", "BundleWeightTLOADAbortFailedAttempt", @@ -138291,7 +140221,6 @@ "TileOperandsLegal_ExecuteTileScalar", "TileOperandsLegal_ExecuteTileSelectCUBEGPRAs", "TileOperandsLegal_ExecuteTileSelectScalarCUBEGPRAs", - "TileOperandsLegal_GMOV", "TileOperandsLegal_GM_ATOM_CAS", "TileOperandsLegal_GM_ATOM_VALUE", "TileOperandsLegal_GM_RED_POPC", @@ -218276,6 +220205,6 @@ }, "refreshed_dispatch_baseline": "cbd64442b0585271fed2db633578b9fb1541e1d9", "schema": "pto.layout-relation-census.v3", - "source_path_count": 926, + "source_path_count": 934, "tile_location_normative_refs": [] } diff --git a/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json new file mode 100644 index 000000000..aa8ddf783 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/arch/memory-model/gm-obligations.asl","contract_artifact":null,"documentation_path":"docs/arch/memory-model/gm-obligations.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS"} diff --git a/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json new file mode 100644 index 000000000..8c02abea0 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/arch/state/core-synchronization.asl","contract_artifact":null,"documentation_path":"docs/arch/state/core-synchronization.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION"} diff --git a/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json new file mode 100644 index 000000000..fd3f35956 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/arch/state/kernel-lifecycle.asl","contract_artifact":null,"documentation_path":"docs/arch/state/kernel-lifecycle.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-KERNEL-LIFECYCLE"} diff --git a/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json new file mode 100644 index 000000000..1322c9dba --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/arch/state/pe-execution-context.asl","contract_artifact":null,"documentation_path":"docs/arch/state/pe-execution-context.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT"} diff --git a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json new file mode 100644 index 000000000..5ca166f8a --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/block/model/dispatch/gm-obligation-dispatch.asl","contract_artifact":null,"documentation_path":"docs/block/model/dispatch/gm-obligation-dispatch.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION"} diff --git a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json new file mode 100644 index 000000000..f887a4104 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/block/model/operands/local-generation-squash.asl","contract_artifact":null,"documentation_path":"docs/block/model/operands/local-generation-squash.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH"} diff --git a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json new file mode 100644 index 000000000..66acb5703 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[],"owner":{"asl_path":"asl/block/model/operands/shared-generation-pe-requests.asl","contract_artifact":null,"documentation_path":"docs/block/model/operands/shared-generation-pe-requests.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS"} diff --git a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json index 040d3b3ed..405c757b6 100644 --- a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json +++ b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json @@ -1 +1 @@ -{"atomic_claims":[{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","disposition":"current-owner-rewrite","fragment_sha256":"359b00f5c5f72a9837594056278d05c182d0a57bbc495ed9f94d060499e00b53","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/0/nodes/2","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","disposition":"current-owner-rewrite","fragment_sha256":"766fd8341921529e658c4994a0128efe19eef39f80e5f96b364439b31d80d7ea","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","disposition":"current-owner-rewrite","fragment_sha256":"8c73c0488aa700242a4aaf6f3340fc721a69e8214b0d7b692f18b98b88dcba5a","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","disposition":"current-owner-rewrite","fragment_sha256":"7554462c43a12238db54edbbbfd7927c09115625d0b80d812edd9cdb766ef4e4","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","disposition":"current-owner-rewrite","fragment_sha256":"43bd03b332c6ce4c496e3338399ea24d10f68f195de64cbeb547d779ff9bade5","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","disposition":"current-owner-rewrite","fragment_sha256":"0b61a13c02bbe73a12c4f959d9732cdc6806ef51294073296bb3b0369d5fbcc3","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","disposition":"current-owner-rewrite","fragment_sha256":"f1fb933ff377603bf63429784ee0de1707bb504c1d997de066cf96019bfbe145","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","disposition":"current-owner-rewrite","fragment_sha256":"7628962569da698d608c35106836a8cbae0e856b078e15865d1d8d80203d9634","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","disposition":"current-owner-rewrite","fragment_sha256":"f889d55f075de266050545a4118a87ab59383171b98c748362fa4bdaae7ed22e","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","disposition":"current-owner-rewrite","fragment_sha256":"4c9fdbcb399c414b22c61d824709f6c5775d526f97b3552109b1be9a157a9372","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/6","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","disposition":"current-owner-rewrite","fragment_sha256":"6dda6142e5c243d8ea04666bd9db3116436dd794d2139f9c5ba6c10e9641e35f","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/7","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","disposition":"current-owner-rewrite","fragment_sha256":"69925d70d14ab8d97fb1d241d79e0a74ef21906b9285752690876cabff7d7c12","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/8","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","disposition":"current-owner-rewrite","fragment_sha256":"eaf5e3dacd7f106b0ffffad3f9ccdbd36933ca586481dd30242d4c416c80c73e","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/9","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","disposition":"current-owner-rewrite","fragment_sha256":"4b93e5f07b70f2424cf049c674c498e05d6dfa761343d19b69998ae8d416003a","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/10","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","disposition":"current-owner-rewrite","fragment_sha256":"b4fa0c1890c50d0c04b07d33f10a24ebc1afec6f6f2a11576b4550a29aa1e9d9","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/11","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","disposition":"current-owner-rewrite","fragment_sha256":"b5f08965fc5b02a2216e4df937db68eca15ec5bd708d8fc5b3ca635cc68751eb","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","disposition":"current-owner-rewrite","fragment_sha256":"27484e56cfb6d2067c92c5d94e1cfcf0bdd6212651b80fb20aca434d49f961fc","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","disposition":"current-owner-rewrite","fragment_sha256":"1f82bdb3f6324c5a90a101a92972b616e168577551e5e2637df43ec6fc980b5e","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","disposition":"current-owner-rewrite","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","disposition":"current-owner-rewrite","fragment_sha256":"3f17f2d60ac1dc210ed56b7275c02ec200c9782d352d5d05341d0f8d26d562b2","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","disposition":"current-owner-rewrite","fragment_sha256":"3bb921009dff47dd0acbc95d5fa089891281614425b0d06e5bb1a3fe614264ad","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","disposition":"current-owner-rewrite","fragment_sha256":"5fffc8c3cc31488f75c572ba6b81b7a72a0be4912aa723f5e9ed1cf435468c43","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","disposition":"current-owner-rewrite","fragment_sha256":"9addfb658100291aa24e9030258ae1463fb9371614892637908a807027da3c25","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","disposition":"current-owner-rewrite","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]}],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"current-owner-only","mapping_status":"current-owner-rewrite","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[{"ast_path":"/blocks/0/nodes/0","block_id":"block-model-operands-shared-generation-purpose","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b3f3b2929bee1a4b3a53ad1bed8d679766bfa90c1541cc32e66c6cbd42b789f9","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","node_kind":"heading"},{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","fragment_sha256":"359b00f5c5f72a9837594056278d05c182d0a57bbc495ed9f94d060499e00b53","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","node_kind":"paragraph"},{"ast_path":"/blocks/0/nodes/2","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","fragment_sha256":"766fd8341921529e658c4994a0128efe19eef39f80e5f96b364439b31d80d7ea","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/0","block_id":"block-model-operands-shared-generation-concepts","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b7f33d825b42226cab51e970de0902dd3c79b3db50dcd32611ca60855a5afa06","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","node_kind":"heading"},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","fragment_sha256":"8c73c0488aa700242a4aaf6f3340fc721a69e8214b0d7b692f18b98b88dcba5a","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","fragment_sha256":"7554462c43a12238db54edbbbfd7927c09115625d0b80d812edd9cdb766ef4e4","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","fragment_sha256":"43bd03b332c6ce4c496e3338399ea24d10f68f195de64cbeb547d779ff9bade5","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/0","block_id":"block-model-operands-shared-generation-rules","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"a1ca55d004a135f4fb053802d79f9e30b1964677183038c6542cc7a79385ee43","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","node_kind":"heading"},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","fragment_sha256":"0b61a13c02bbe73a12c4f959d9732cdc6806ef51294073296bb3b0369d5fbcc3","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","fragment_sha256":"f1fb933ff377603bf63429784ee0de1707bb504c1d997de066cf96019bfbe145","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","fragment_sha256":"7628962569da698d608c35106836a8cbae0e856b078e15865d1d8d80203d9634","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","fragment_sha256":"f889d55f075de266050545a4118a87ab59383171b98c748362fa4bdaae7ed22e","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","fragment_sha256":"4c9fdbcb399c414b22c61d824709f6c5775d526f97b3552109b1be9a157a9372","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/6","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","fragment_sha256":"6dda6142e5c243d8ea04666bd9db3116436dd794d2139f9c5ba6c10e9641e35f","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/7","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","fragment_sha256":"69925d70d14ab8d97fb1d241d79e0a74ef21906b9285752690876cabff7d7c12","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/8","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","fragment_sha256":"eaf5e3dacd7f106b0ffffad3f9ccdbd36933ca586481dd30242d4c416c80c73e","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/9","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","fragment_sha256":"4b93e5f07b70f2424cf049c674c498e05d6dfa761343d19b69998ae8d416003a","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/10","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","fragment_sha256":"b4fa0c1890c50d0c04b07d33f10a24ebc1afec6f6f2a11576b4550a29aa1e9d9","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/11","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","fragment_sha256":"b5f08965fc5b02a2216e4df937db68eca15ec5bd708d8fc5b3ca635cc68751eb","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/0","block_id":"block-model-operands-shared-generation-boundaries","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"88d9def0d57f1f9f79db40f4c684ed8a87368cce3eda5fa545c7179cb17efe3d","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","node_kind":"heading"},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","fragment_sha256":"27484e56cfb6d2067c92c5d94e1cfcf0bdd6212651b80fb20aca434d49f961fc","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","fragment_sha256":"1f82bdb3f6324c5a90a101a92972b616e168577551e5e2637df43ec6fc980b5e","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/0","block_id":"block-model-operands-shared-generation-example","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"3a0252b8a1f28471d853bea7296bf9ea43945bc2eba567c49e47cbe48188e14a","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","node_kind":"heading"},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","fragment_sha256":"3f17f2d60ac1dc210ed56b7275c02ec200c9782d352d5d05341d0f8d26d562b2","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-025","node_kind":"paragraph"},{"ast_path":"/blocks/5/nodes/0","block_id":"block-model-operands-shared-generation-related","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"9d963913f110a8867fe3194a0d90b19a051d833b57d569d836a6941254d4e439","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","node_kind":"heading"},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","fragment_sha256":"3bb921009dff47dd0acbc95d5fa089891281614425b0d06e5bb1a3fe614264ad","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","fragment_sha256":"5fffc8c3cc31488f75c572ba6b81b7a72a0be4912aa723f5e9ed1cf435468c43","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","fragment_sha256":"9addfb658100291aa24e9030258ae1463fb9371614892637908a807027da3c25","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","node_kind":"list-item"}],"owner":{"asl_path":"asl/block/model/operands/shared-generation.asl","contract_artifact":null,"documentation_path":"docs/block/model/operands/shared-generation.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[{"block_id":"block-model-operands-shared-generation-purpose","role":"purpose-scope"},{"block_id":"block-model-operands-shared-generation-concepts","role":"concepts-state"},{"block_id":"block-model-operands-shared-generation-rules","role":"rules-interactions"},{"block_id":"block-model-operands-shared-generation-boundaries","role":"boundaries"},{"block_id":"block-model-operands-shared-generation-example","role":"example-usage"},{"block_id":"block-model-operands-shared-generation-related","role":"related-owners-navigation"}],"reader_roles":["purpose-scope","concepts-state","rules-interactions","boundaries","example-usage","related-owners-navigation"],"risk_tier":"high-risk","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"} +{"atomic_claims":[{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","disposition":"current-owner-rewrite","fragment_sha256":"aaeca0a9fcb9b29b36f5a598c107484944a3199b82bde5b206138956eee00a5a","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/0/nodes/2","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","disposition":"current-owner-rewrite","fragment_sha256":"1e2aa30b431e8a032dd1351ec95be8287e2145433e5e4e90ce9d8d71d2594ef1","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","disposition":"current-owner-rewrite","fragment_sha256":"f1dfcc6c79d6277f5271dd59cc08aa87d69b4c7baced727212f29610e358f75b","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","disposition":"current-owner-rewrite","fragment_sha256":"7554462c43a12238db54edbbbfd7927c09115625d0b80d812edd9cdb766ef4e4","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","disposition":"current-owner-rewrite","fragment_sha256":"43bd03b332c6ce4c496e3338399ea24d10f68f195de64cbeb547d779ff9bade5","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","disposition":"current-owner-rewrite","fragment_sha256":"0b61a13c02bbe73a12c4f959d9732cdc6806ef51294073296bb3b0369d5fbcc3","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","disposition":"current-owner-rewrite","fragment_sha256":"f1fb933ff377603bf63429784ee0de1707bb504c1d997de066cf96019bfbe145","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","disposition":"current-owner-rewrite","fragment_sha256":"7628962569da698d608c35106836a8cbae0e856b078e15865d1d8d80203d9634","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","disposition":"current-owner-rewrite","fragment_sha256":"f889d55f075de266050545a4118a87ab59383171b98c748362fa4bdaae7ed22e","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","disposition":"current-owner-rewrite","fragment_sha256":"4c9fdbcb399c414b22c61d824709f6c5775d526f97b3552109b1be9a157a9372","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/6","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","disposition":"current-owner-rewrite","fragment_sha256":"6dda6142e5c243d8ea04666bd9db3116436dd794d2139f9c5ba6c10e9641e35f","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/7","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","disposition":"current-owner-rewrite","fragment_sha256":"b57b0c9a18400851fe50ac3a44ec410d4e8cbcb2f7bab7f219cc86ceb2f3cfbb","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/8","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","disposition":"current-owner-rewrite","fragment_sha256":"fe1fecdb9573b1a8c446fd1dc4a89e086fc93a0dcaf0dc0f193b0bb959634234","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/9","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","disposition":"current-owner-rewrite","fragment_sha256":"4b93e5f07b70f2424cf049c674c498e05d6dfa761343d19b69998ae8d416003a","owner_reference":{"clause":"PTO-B-ASSEMBLE-SHARED-GENERATION-001","kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/10","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","disposition":"current-owner-rewrite","fragment_sha256":"b4fa0c1890c50d0c04b07d33f10a24ebc1afec6f6f2a11576b4550a29aa1e9d9","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/11","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","disposition":"current-owner-rewrite","fragment_sha256":"7930840797929b055433796628b2869e8880835ad101ab71c07c44dc23987619","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/12","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","disposition":"current-owner-rewrite","fragment_sha256":"537afeb6dda08c9de711eb940e2db019fc260615d15d696d183718baa4f10d0d","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","disposition":"current-owner-rewrite","fragment_sha256":"27484e56cfb6d2067c92c5d94e1cfcf0bdd6212651b80fb20aca434d49f961fc","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","disposition":"current-owner-rewrite","fragment_sha256":"ce2598a056784164f5ae62851f4b34f149dbf674fe23d3a45bbc7bb5df2f674f","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","disposition":"current-owner-rewrite","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","disposition":"current-owner-rewrite","fragment_sha256":"c0e3cdd884f202b4c3c2de3c23be9e3f82103637e63825896d8f1c584ff2fccb","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","disposition":"current-owner-rewrite","fragment_sha256":"3bb921009dff47dd0acbc95d5fa089891281614425b0d06e5bb1a3fe614264ad","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","disposition":"current-owner-rewrite","fragment_sha256":"5fffc8c3cc31488f75c572ba6b81b7a72a0be4912aa723f5e9ed1cf435468c43","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","disposition":"current-owner-rewrite","fragment_sha256":"cac73adfc1dd63152bef5cbb86dd234a610ba1b203c985c10beb267574f297bb","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","disposition":"current-owner-rewrite","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/operands/shared-generation.asl"},"portability_class":"portable","source_section_ids":[]}],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"current-owner-only","mapping_status":"current-owner-rewrite","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[{"ast_path":"/blocks/0/nodes/0","block_id":"block-model-operands-shared-generation-purpose","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b3f3b2929bee1a4b3a53ad1bed8d679766bfa90c1541cc32e66c6cbd42b789f9","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","node_kind":"heading"},{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","fragment_sha256":"aaeca0a9fcb9b29b36f5a598c107484944a3199b82bde5b206138956eee00a5a","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","node_kind":"paragraph"},{"ast_path":"/blocks/0/nodes/2","block_id":"block-model-operands-shared-generation-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","fragment_sha256":"1e2aa30b431e8a032dd1351ec95be8287e2145433e5e4e90ce9d8d71d2594ef1","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/0","block_id":"block-model-operands-shared-generation-concepts","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b7f33d825b42226cab51e970de0902dd3c79b3db50dcd32611ca60855a5afa06","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","node_kind":"heading"},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","fragment_sha256":"f1dfcc6c79d6277f5271dd59cc08aa87d69b4c7baced727212f29610e358f75b","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","fragment_sha256":"7554462c43a12238db54edbbbfd7927c09115625d0b80d812edd9cdb766ef4e4","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-operands-shared-generation-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","fragment_sha256":"43bd03b332c6ce4c496e3338399ea24d10f68f195de64cbeb547d779ff9bade5","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/0","block_id":"block-model-operands-shared-generation-rules","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"a1ca55d004a135f4fb053802d79f9e30b1964677183038c6542cc7a79385ee43","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","node_kind":"heading"},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","fragment_sha256":"0b61a13c02bbe73a12c4f959d9732cdc6806ef51294073296bb3b0369d5fbcc3","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","fragment_sha256":"f1fb933ff377603bf63429784ee0de1707bb504c1d997de066cf96019bfbe145","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","fragment_sha256":"7628962569da698d608c35106836a8cbae0e856b078e15865d1d8d80203d9634","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","fragment_sha256":"f889d55f075de266050545a4118a87ab59383171b98c748362fa4bdaae7ed22e","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","fragment_sha256":"4c9fdbcb399c414b22c61d824709f6c5775d526f97b3552109b1be9a157a9372","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/6","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","fragment_sha256":"6dda6142e5c243d8ea04666bd9db3116436dd794d2139f9c5ba6c10e9641e35f","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/7","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","fragment_sha256":"b57b0c9a18400851fe50ac3a44ec410d4e8cbcb2f7bab7f219cc86ceb2f3cfbb","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/8","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","fragment_sha256":"fe1fecdb9573b1a8c446fd1dc4a89e086fc93a0dcaf0dc0f193b0bb959634234","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-036","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/9","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","fragment_sha256":"4b93e5f07b70f2424cf049c674c498e05d6dfa761343d19b69998ae8d416003a","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/10","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","fragment_sha256":"b4fa0c1890c50d0c04b07d33f10a24ebc1afec6f6f2a11576b4550a29aa1e9d9","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/11","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","fragment_sha256":"7930840797929b055433796628b2869e8880835ad101ab71c07c44dc23987619","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-037","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/12","block_id":"block-model-operands-shared-generation-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","fragment_sha256":"537afeb6dda08c9de711eb940e2db019fc260615d15d696d183718baa4f10d0d","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-038","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/0","block_id":"block-model-operands-shared-generation-boundaries","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"88d9def0d57f1f9f79db40f4c684ed8a87368cce3eda5fa545c7179cb17efe3d","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","node_kind":"heading"},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","fragment_sha256":"27484e56cfb6d2067c92c5d94e1cfcf0bdd6212651b80fb20aca434d49f961fc","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-operands-shared-generation-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","fragment_sha256":"ce2598a056784164f5ae62851f4b34f149dbf674fe23d3a45bbc7bb5df2f674f","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-039","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/0","block_id":"block-model-operands-shared-generation-example","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"3a0252b8a1f28471d853bea7296bf9ea43945bc2eba567c49e47cbe48188e14a","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","node_kind":"heading"},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-operands-shared-generation-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","fragment_sha256":"c0e3cdd884f202b4c3c2de3c23be9e3f82103637e63825896d8f1c584ff2fccb","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-040","node_kind":"paragraph"},{"ast_path":"/blocks/5/nodes/0","block_id":"block-model-operands-shared-generation-related","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"9d963913f110a8867fe3194a0d90b19a051d833b57d569d836a6941254d4e439","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","node_kind":"heading"},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","fragment_sha256":"3bb921009dff47dd0acbc95d5fa089891281614425b0d06e5bb1a3fe614264ad","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","fragment_sha256":"5fffc8c3cc31488f75c572ba6b81b7a72a0be4912aa723f5e9ed1cf435468c43","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","fragment_sha256":"cac73adfc1dd63152bef5cbb86dd234a610ba1b203c985c10beb267574f297bb","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-041","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-operands-shared-generation-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","node_kind":"list-item"}],"owner":{"asl_path":"asl/block/model/operands/shared-generation.asl","contract_artifact":null,"documentation_path":"docs/block/model/operands/shared-generation.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[{"block_id":"block-model-operands-shared-generation-purpose","role":"purpose-scope"},{"block_id":"block-model-operands-shared-generation-concepts","role":"concepts-state"},{"block_id":"block-model-operands-shared-generation-rules","role":"rules-interactions"},{"block_id":"block-model-operands-shared-generation-boundaries","role":"boundaries"},{"block_id":"block-model-operands-shared-generation-example","role":"example-usage"},{"block_id":"block-model-operands-shared-generation-related","role":"related-owners-navigation"}],"reader_roles":["purpose-scope","concepts-state","rules-interactions","boundaries","example-usage","related-owners-navigation"],"risk_tier":"high-risk","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"} diff --git a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json index 9a1d58102..9e76e7cb7 100644 --- a/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json +++ b/spec/evidence/mnemonic-descriptions/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json @@ -1 +1 @@ -{"atomic_claims":[{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-state-shared-generation-state-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","disposition":"current-owner-rewrite","fragment_sha256":"e83d29ae3993f62820fde94e250afae6caa8013e756a8f462a2f11c0eb9a0114","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","disposition":"current-owner-rewrite","fragment_sha256":"c5e273fa376a295f54d7c10beb89e9ff81db21601a530b100f8861901deac62b","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","disposition":"current-owner-rewrite","fragment_sha256":"5fdff0720de79c7ee5c81d65a019252f9c798403d0905abb8421cd31dd25b639","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","disposition":"current-owner-rewrite","fragment_sha256":"7b1198c032eab0f89621ca70f627c87aa195e2b3012e27e5b4633a28e90a6416","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/4","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","disposition":"current-owner-rewrite","fragment_sha256":"3dccd0b48f069f191977821b3efa252a203de81bb4a8289245fc653cd870c8f7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/5","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","disposition":"current-owner-rewrite","fragment_sha256":"8660a3b53c3577b5fa9165730d99db6c040d4fd46e5e345c4c625d5f1ec36797","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/6","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","disposition":"current-owner-rewrite","fragment_sha256":"d0ae52d862f0e69346c3d41c93a46842ce8b334cc2e28996f3a6f2ee3584a7c8","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/7","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","disposition":"current-owner-rewrite","fragment_sha256":"04f2d2727edd1dead08eb9a8dc2a45ac12dea1f70d6c355936b0493a33e4ecd7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","disposition":"current-owner-rewrite","fragment_sha256":"4cdf64eb8c65ba3d46292c22076fa4ca8a0b566df8b30f4c13914ec7f5f923a8","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","disposition":"current-owner-rewrite","fragment_sha256":"23394a1e126cd77c98687c0f0e9c207d92174e02c6817ebbf9fe932b0de3c747","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","disposition":"current-owner-rewrite","fragment_sha256":"16769e9ed9946e0d713ca620f1030e572072ed27ea6bec45078fd4178ea738da","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","disposition":"current-owner-rewrite","fragment_sha256":"2746d7f529a7b135b8c4b7fbb5b6ccc9334faaab8b1fc469269a43ca19130af0","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","disposition":"current-owner-rewrite","fragment_sha256":"814f8ab462ca08c0f1edd8c77959582c142426daa6f46fa78762ea3ea043c491","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","disposition":"current-owner-rewrite","fragment_sha256":"e46844d121ed479f5ffd723dae1b1029270ab61c874e00e527f2e5ca01309566","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","disposition":"current-owner-rewrite","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","disposition":"current-owner-rewrite","fragment_sha256":"bfd6c84e1ebfa0381722aa3662c82d7c3896504b84a393636b1f2feda3f24ce5","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","disposition":"current-owner-rewrite","fragment_sha256":"2974358254f5d88c6865eda1a08f505f39e6a21b9a3362736d88462152fe0850","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","disposition":"current-owner-rewrite","fragment_sha256":"b84975dcb31a03c59240de492c598cb655a428773e0187f69f65b5be9f9a7899","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","disposition":"current-owner-rewrite","fragment_sha256":"7c82f41402e4bfc1876dc47da29d301c15e7001326bc8ef2912e213ca0c6ab78","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","disposition":"current-owner-rewrite","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]}],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"current-owner-only","mapping_status":"current-owner-rewrite","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[{"ast_path":"/blocks/0/nodes/0","block_id":"block-model-state-shared-generation-state-purpose","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b3f3b2929bee1a4b3a53ad1bed8d679766bfa90c1541cc32e66c6cbd42b789f9","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","node_kind":"heading"},{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-state-shared-generation-state-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","fragment_sha256":"e83d29ae3993f62820fde94e250afae6caa8013e756a8f462a2f11c0eb9a0114","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-002","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/0","block_id":"block-model-state-shared-generation-state-concepts","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b7f33d825b42226cab51e970de0902dd3c79b3db50dcd32611ca60855a5afa06","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","node_kind":"heading"},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","fragment_sha256":"c5e273fa376a295f54d7c10beb89e9ff81db21601a530b100f8861901deac62b","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","fragment_sha256":"5fdff0720de79c7ee5c81d65a019252f9c798403d0905abb8421cd31dd25b639","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","fragment_sha256":"7b1198c032eab0f89621ca70f627c87aa195e2b3012e27e5b4633a28e90a6416","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-006","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/4","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","fragment_sha256":"3dccd0b48f069f191977821b3efa252a203de81bb4a8289245fc653cd870c8f7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-007","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/5","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","fragment_sha256":"8660a3b53c3577b5fa9165730d99db6c040d4fd46e5e345c4c625d5f1ec36797","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/6","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","fragment_sha256":"d0ae52d862f0e69346c3d41c93a46842ce8b334cc2e28996f3a6f2ee3584a7c8","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/7","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","fragment_sha256":"04f2d2727edd1dead08eb9a8dc2a45ac12dea1f70d6c355936b0493a33e4ecd7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/0","block_id":"block-model-state-shared-generation-state-rules","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"a1ca55d004a135f4fb053802d79f9e30b1964677183038c6542cc7a79385ee43","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","node_kind":"heading"},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","fragment_sha256":"4cdf64eb8c65ba3d46292c22076fa4ca8a0b566df8b30f4c13914ec7f5f923a8","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-012","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","fragment_sha256":"23394a1e126cd77c98687c0f0e9c207d92174e02c6817ebbf9fe932b0de3c747","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-013","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","fragment_sha256":"16769e9ed9946e0d713ca620f1030e572072ed27ea6bec45078fd4178ea738da","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-014","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","fragment_sha256":"2746d7f529a7b135b8c4b7fbb5b6ccc9334faaab8b1fc469269a43ca19130af0","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/0","block_id":"block-model-state-shared-generation-state-boundaries","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"88d9def0d57f1f9f79db40f4c684ed8a87368cce3eda5fa545c7179cb17efe3d","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","node_kind":"heading"},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","fragment_sha256":"814f8ab462ca08c0f1edd8c77959582c142426daa6f46fa78762ea3ea043c491","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-017","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","fragment_sha256":"e46844d121ed479f5ffd723dae1b1029270ab61c874e00e527f2e5ca01309566","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-018","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/0","block_id":"block-model-state-shared-generation-state-example","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"3a0252b8a1f28471d853bea7296bf9ea43945bc2eba567c49e47cbe48188e14a","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","node_kind":"heading"},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","fragment_sha256":"bfd6c84e1ebfa0381722aa3662c82d7c3896504b84a393636b1f2feda3f24ce5","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-021","node_kind":"paragraph"},{"ast_path":"/blocks/5/nodes/0","block_id":"block-model-state-shared-generation-state-related","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"9d963913f110a8867fe3194a0d90b19a051d833b57d569d836a6941254d4e439","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","node_kind":"heading"},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","fragment_sha256":"2974358254f5d88c6865eda1a08f505f39e6a21b9a3362736d88462152fe0850","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-023","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","fragment_sha256":"b84975dcb31a03c59240de492c598cb655a428773e0187f69f65b5be9f9a7899","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","fragment_sha256":"7c82f41402e4bfc1876dc47da29d301c15e7001326bc8ef2912e213ca0c6ab78","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-025","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","node_kind":"list-item"}],"owner":{"asl_path":"asl/block/model/state/shared-generation-state.asl","contract_artifact":null,"documentation_path":"docs/block/model/state/shared-generation-state.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[{"block_id":"block-model-state-shared-generation-state-purpose","role":"purpose-scope"},{"block_id":"block-model-state-shared-generation-state-concepts","role":"concepts-state"},{"block_id":"block-model-state-shared-generation-state-rules","role":"rules-interactions"},{"block_id":"block-model-state-shared-generation-state-boundaries","role":"boundaries"},{"block_id":"block-model-state-shared-generation-state-example","role":"example-usage"},{"block_id":"block-model-state-shared-generation-state-related","role":"related-owners-navigation"}],"reader_roles":["purpose-scope","concepts-state","rules-interactions","boundaries","example-usage","related-owners-navigation"],"risk_tier":"high-risk","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"} +{"atomic_claims":[{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-state-shared-generation-state-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","disposition":"current-owner-rewrite","fragment_sha256":"909241d0150120229bfa9caf46a8b6f5f399e1d5e87bd7921bbd77b3cd1601ca","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","disposition":"current-owner-rewrite","fragment_sha256":"c5e273fa376a295f54d7c10beb89e9ff81db21601a530b100f8861901deac62b","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","disposition":"current-owner-rewrite","fragment_sha256":"5fdff0720de79c7ee5c81d65a019252f9c798403d0905abb8421cd31dd25b639","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","disposition":"current-owner-rewrite","fragment_sha256":"c82e8b25b23695fdc23abc139cb3fb4a4f0b45c24b3e8e3e711d561475f2ac31","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/4","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","disposition":"current-owner-rewrite","fragment_sha256":"cd31398ae6941a08ab6108a1a979020df528954ba01ce747b37aa5d37f9d40a3","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/5","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","disposition":"current-owner-rewrite","fragment_sha256":"8660a3b53c3577b5fa9165730d99db6c040d4fd46e5e345c4c625d5f1ec36797","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/6","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","disposition":"current-owner-rewrite","fragment_sha256":"d0ae52d862f0e69346c3d41c93a46842ce8b334cc2e28996f3a6f2ee3584a7c8","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/1/nodes/7","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","disposition":"current-owner-rewrite","fragment_sha256":"04f2d2727edd1dead08eb9a8dc2a45ac12dea1f70d6c355936b0493a33e4ecd7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","disposition":"current-owner-rewrite","fragment_sha256":"ccb7454b3b9a0b90fee79233afd04498e84d67a4b657ba242c5bdfebda2873b8","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","disposition":"current-owner-rewrite","fragment_sha256":"84b437c90b6c73c5ea7397c1e92dcfda3c5f88ef9953b8489789224316e50b57","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","disposition":"current-owner-rewrite","fragment_sha256":"08a5be85dc6de1d14e31d1394636f334692ad8bb6ccb6383d128ae9dff0f99f5","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","disposition":"current-owner-rewrite","fragment_sha256":"2746d7f529a7b135b8c4b7fbb5b6ccc9334faaab8b1fc469269a43ca19130af0","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","disposition":"current-owner-rewrite","fragment_sha256":"a5f3e4500606f7329289600879ed577992bd81227addeb4fddd73186352d2cbd","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","disposition":"current-owner-rewrite","fragment_sha256":"f5334c0d693448da5d7644bc7dbddab8a2a82087d55871182e6dde2ce8fedc74","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","disposition":"current-owner-rewrite","fragment_sha256":"51516fb1315def1c6769a7dc53d59f730b4be0b23f7b9711be348317b20ccbf1","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","disposition":"current-owner-rewrite","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","disposition":"current-owner-rewrite","fragment_sha256":"d6b6ace12d69030fe925ca9cac0e807821b4d9ffea8cc181442fb7dac24bbcf0","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","disposition":"current-owner-rewrite","fragment_sha256":"ee37294b31d31982dfcd47e73343206a323fa3800ec0853d37e4f69df75b4fb4","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","disposition":"current-owner-rewrite","fragment_sha256":"b84975dcb31a03c59240de492c598cb655a428773e0187f69f65b5be9f9a7899","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033","disposition":"current-owner-rewrite","fragment_sha256":"0a617ab45aa490aae9845e1eaa1efca3f1c15ed6b451b3446b7bd7f0a13b1e92","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","disposition":"current-owner-rewrite","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","owner_reference":{"clause":null,"kind":"asl","path":"asl/block/model/state/shared-generation-state.asl"},"portability_class":"portable","source_section_ids":[]}],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"current-owner-only","mapping_status":"current-owner-rewrite","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":null,"node_dispositions":[{"ast_path":"/blocks/0/nodes/0","block_id":"block-model-state-shared-generation-state-purpose","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b3f3b2929bee1a4b3a53ad1bed8d679766bfa90c1541cc32e66c6cbd42b789f9","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","node_kind":"heading"},{"ast_path":"/blocks/0/nodes/1","block_id":"block-model-state-shared-generation-state-purpose","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","fragment_sha256":"909241d0150120229bfa9caf46a8b6f5f399e1d5e87bd7921bbd77b3cd1601ca","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-028","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/0","block_id":"block-model-state-shared-generation-state-concepts","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"b7f33d825b42226cab51e970de0902dd3c79b3db50dcd32611ca60855a5afa06","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","node_kind":"heading"},{"ast_path":"/blocks/1/nodes/1","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","fragment_sha256":"c5e273fa376a295f54d7c10beb89e9ff81db21601a530b100f8861901deac62b","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","node_kind":"paragraph"},{"ast_path":"/blocks/1/nodes/2","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","fragment_sha256":"5fdff0720de79c7ee5c81d65a019252f9c798403d0905abb8421cd31dd25b639","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/3","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","fragment_sha256":"c82e8b25b23695fdc23abc139cb3fb4a4f0b45c24b3e8e3e711d561475f2ac31","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-029","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/4","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","fragment_sha256":"cd31398ae6941a08ab6108a1a979020df528954ba01ce747b37aa5d37f9d40a3","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-030","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/5","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","fragment_sha256":"8660a3b53c3577b5fa9165730d99db6c040d4fd46e5e345c4c625d5f1ec36797","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/6","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","fragment_sha256":"d0ae52d862f0e69346c3d41c93a46842ce8b334cc2e28996f3a6f2ee3584a7c8","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","node_kind":"list-item"},{"ast_path":"/blocks/1/nodes/7","block_id":"block-model-state-shared-generation-state-concepts","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","fragment_sha256":"04f2d2727edd1dead08eb9a8dc2a45ac12dea1f70d6c355936b0493a33e4ecd7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","node_kind":"list-item"},{"ast_path":"/blocks/2/nodes/0","block_id":"block-model-state-shared-generation-state-rules","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"a1ca55d004a135f4fb053802d79f9e30b1964677183038c6542cc7a79385ee43","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","node_kind":"heading"},{"ast_path":"/blocks/2/nodes/1","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","fragment_sha256":"ccb7454b3b9a0b90fee79233afd04498e84d67a4b657ba242c5bdfebda2873b8","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-031","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/2","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","fragment_sha256":"84b437c90b6c73c5ea7397c1e92dcfda3c5f88ef9953b8489789224316e50b57","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-032","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/3","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","fragment_sha256":"08a5be85dc6de1d14e31d1394636f334692ad8bb6ccb6383d128ae9dff0f99f5","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-033","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/4","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","fragment_sha256":"2746d7f529a7b135b8c4b7fbb5b6ccc9334faaab8b1fc469269a43ca19130af0","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","node_kind":"paragraph"},{"ast_path":"/blocks/2/nodes/5","block_id":"block-model-state-shared-generation-state-rules","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","fragment_sha256":"a5f3e4500606f7329289600879ed577992bd81227addeb4fddd73186352d2cbd","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-034","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/0","block_id":"block-model-state-shared-generation-state-boundaries","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"88d9def0d57f1f9f79db40f4c684ed8a87368cce3eda5fa545c7179cb17efe3d","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","node_kind":"heading"},{"ast_path":"/blocks/3/nodes/1","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","fragment_sha256":"f5334c0d693448da5d7644bc7dbddab8a2a82087d55871182e6dde2ce8fedc74","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-035","node_kind":"paragraph"},{"ast_path":"/blocks/3/nodes/2","block_id":"block-model-state-shared-generation-state-boundaries","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","fragment_sha256":"51516fb1315def1c6769a7dc53d59f730b4be0b23f7b9711be348317b20ccbf1","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-036","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/0","block_id":"block-model-state-shared-generation-state-example","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"3a0252b8a1f28471d853bea7296bf9ea43945bc2eba567c49e47cbe48188e14a","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","node_kind":"heading"},{"ast_path":"/blocks/4/nodes/1","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","fragment_sha256":"aeec61ce984727b6df68679d9611ae70cce44087674c2e3cbd10e522b37762db","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","node_kind":"paragraph"},{"ast_path":"/blocks/4/nodes/2","block_id":"block-model-state-shared-generation-state-example","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","fragment_sha256":"d6b6ace12d69030fe925ca9cac0e807821b4d9ffea8cc181442fb7dac24bbcf0","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-037","node_kind":"paragraph"},{"ast_path":"/blocks/5/nodes/0","block_id":"block-model-state-shared-generation-state-related","connective_reason":"section heading organizes the reader guide without adding instruction behavior","fragment_sha256":"9d963913f110a8867fe3194a0d90b19a051d833b57d569d836a6941254d4e439","node_disposition":"connective","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","node_kind":"heading"},{"ast_path":"/blocks/5/nodes/1","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","fragment_sha256":"ee37294b31d31982dfcd47e73343206a323fa3800ec0853d37e4f69df75b4fb4","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-038","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/2","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","fragment_sha256":"b84975dcb31a03c59240de492c598cb655a428773e0187f69f65b5be9f9a7899","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/3","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033","fragment_sha256":"0a617ab45aa490aae9845e1eaa1efca3f1c15ed6b451b3446b7bd7f0a13b1e92","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-039","node_kind":"list-item"},{"ast_path":"/blocks/5/nodes/4","block_id":"block-model-state-shared-generation-state-related","claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","fragment_sha256":"bd82cb77a62c857724bf03ff7d0fa6c4a49bf5de69daaf7042d93e8a0bdecda7","node_disposition":"semantic-claim","node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","node_kind":"list-item"}],"owner":{"asl_path":"asl/block/model/state/shared-generation-state.asl","contract_artifact":null,"documentation_path":"docs/block/model/state/shared-generation-state.md","ndf_clause":null},"page_contract":"architecture-reader-v1","presentation_blocks":[{"block_id":"block-model-state-shared-generation-state-purpose","role":"purpose-scope"},{"block_id":"block-model-state-shared-generation-state-concepts","role":"concepts-state"},{"block_id":"block-model-state-shared-generation-state-rules","role":"rules-interactions"},{"block_id":"block-model-state-shared-generation-state-boundaries","role":"boundaries"},{"block_id":"block-model-state-shared-generation-state-example","role":"example-usage"},{"block_id":"block-model-state-shared-generation-state-related","role":"related-owners-navigation"}],"reader_roles":["purpose-scope","concepts-state","rules-interactions","boundaries","example-usage","related-owners-navigation"],"risk_tier":"high-risk","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"} diff --git a/spec/evidence/mnemonic-descriptions/coverage-summary.json b/spec/evidence/mnemonic-descriptions/coverage-summary.json index 0518ee894..78e525528 100644 --- a/spec/evidence/mnemonic-descriptions/coverage-summary.json +++ b/spec/evidence/mnemonic-descriptions/coverage-summary.json @@ -1 +1 @@ -{"archive_pages_dispositioned":697,"archive_pages_total":697,"archive_sha256":"46fc43641fe1394f27f4961734940355e83909df08e4e4a489f02ff1e4a28aa5","atomic_claims":19440,"baseline_commit":"564ac2d8d868c441a8dc5e5f4d44efa7533a911d","current_mnemonics":664,"reader_guides_complete":911,"retired_units_retained":54,"review_batches":{"accepted":41,"batches":41},"schema_version":1,"statuses":{"complete":911},"surfaces":{"arch":67,"block":156,"scalar":487,"tile":201},"target_pages":911,"traceability_sha256":"7b20558a581b03e711fadb11772ed5005c9b8f8da741602e8bd66784b6bafce9","unresolved_required_definition_gaps":0,"zh_CN":{"review_batches":{"accepted":41,"batches":41},"statuses":{"complete":911}}} +{"archive_pages_dispositioned":697,"archive_pages_total":697,"archive_sha256":"46fc43641fe1394f27f4961734940355e83909df08e4e4a489f02ff1e4a28aa5","atomic_claims":19442,"baseline_commit":"564ac2d8d868c441a8dc5e5f4d44efa7533a911d","current_mnemonics":665,"reader_guides_complete":911,"retired_units_retained":54,"review_batches":{"accepted":42,"batches":42},"schema_version":1,"statuses":{"complete":911,"pending":8},"surfaces":{"arch":71,"block":159,"scalar":488,"tile":201},"target_pages":919,"traceability_sha256":"325c6a20db529ee1384c30677c960191fd92f750340a7831bbea3ffd0aea818f","unresolved_required_definition_gaps":0,"zh_CN":{"review_batches":{"accepted":42,"batches":42},"statuses":{"complete":911,"pending":8}}} diff --git a/spec/evidence/mnemonic-descriptions/reviews/issue360-shared-generation-r211.json b/spec/evidence/mnemonic-descriptions/reviews/issue360-shared-generation-r211.json new file mode 100644 index 000000000..71136d2a0 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/reviews/issue360-shared-generation-r211.json @@ -0,0 +1 @@ +{"artifact_digests":{"semantic_review":"af5017f71dea3c526ebd19fa66966106a55f8e91b2fba5e4e7e617ef075f838e","verification":"d2d1beccc9a11f0f02a8f998c79aa115e02fb6fba18452ec97ed3d9b4d2e484b","writer":"f4dd2b66d70ce81f177862aa526744fa40ef9c9948ac5ac6ff23d1f9f2301e4b"},"batch_id":"PTO-READER-ISSUE360-SHARED-GENERATION-R211","contexts":{"semantic_reviewer":"/root/sync_core_reviewer","verifier":"/root","writer":"/root/sync_core_executor"},"deep_reviewed_unit_ids":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"],"reviewed_claim_count":46,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033"],"reviewed_node_count":58,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-039","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-040","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-041","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-039"],"rubric_version":"mnemonic-reader-v1","schema_version":1,"source_commit":"4555cfaf4e901855b5859e3f9e68a815fe4cf128","unit_risks":{"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":2,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"]} diff --git a/spec/evidence/mnemonic-descriptions/reviews/readability-block-operands-001.json b/spec/evidence/mnemonic-descriptions/reviews/readability-block-operands-001.json index e3db83fae..21ab604cb 100644 --- a/spec/evidence/mnemonic-descriptions/reviews/readability-block-operands-001.json +++ b/spec/evidence/mnemonic-descriptions/reviews/readability-block-operands-001.json @@ -1 +1 @@ -{"artifact_digests":{"semantic_review":"9cdcd49d76f780ba97f2d61db8d96b55835ab34df94b0886e25224b1aac0a8ae","verification":"c15ec7e8f5778ee8860df4530170ac65921772436d80f28c4bc29d481e167dd4","writer":"ec6ae335d8f6cf9320015423e0099dce6c564d409a08e6c94adb43d3e0c570ac"},"batch_id":"PTO-READER-READABILITY-BLOCK-OPERANDS-001","contexts":{"semantic_reviewer":"/claude/readability-operands-review","verifier":"/claude/readability-verifier","writer":"/claude/readability-operands-writer"},"deep_reviewed_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"reviewed_claim_count":449,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-026"],"reviewed_node_count":563,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-030","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-031","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-034","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-034","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-026","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-027","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-028","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-029","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-030","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-031","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-032"],"rubric_version":"mnemonic-reader-v1","schema_version":1,"source_commit":"4429dea002f04fe008619e408c8b4eafff4585be","unit_risks":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"high-risk","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"high-risk","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"high-risk","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"high-risk","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"high-risk","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"high-risk","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"high-risk","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"high-risk","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"high-risk","PTO-TILE-MODEL-ORDERING-SORTING":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":19,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"]} +{"artifact_digests":{"semantic_review":"bff544fc0449c77ac133a667cc032807c17b0d101a0e1994e214db3c1ed7c052","verification":"9f5f8a373d044ee737e05c30eeaa860cc88d88a0093fd1e0019481eed1717565","writer":"969750384547e628fe8fba953aa85c3c8dd7993623828230e4aac4a4d508fa12"},"batch_id":"PTO-READER-READABILITY-BLOCK-OPERANDS-001","contexts":{"semantic_reviewer":"/claude/readability-operands-review","verifier":"/claude/readability-verifier","writer":"/claude/readability-operands-writer"},"deep_reviewed_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"reviewed_claim_count":425,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-026"],"reviewed_node_count":533,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-030","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-031","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-034","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-034","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-026","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-027","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-028","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-029","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-030","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-031","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-032"],"rubric_version":"mnemonic-reader-v1","schema_version":1,"source_commit":"4429dea002f04fe008619e408c8b4eafff4585be","unit_risks":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"high-risk","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"high-risk","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"high-risk","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"high-risk","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"high-risk","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"high-risk","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"high-risk","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"high-risk","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"high-risk","PTO-TILE-MODEL-ORDERING-SORTING":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":18,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"]} diff --git a/spec/evidence/mnemonic-descriptions/reviews/readability-model-001.json b/spec/evidence/mnemonic-descriptions/reviews/readability-model-001.json index 7aae7c68f..60033bba8 100644 --- a/spec/evidence/mnemonic-descriptions/reviews/readability-model-001.json +++ b/spec/evidence/mnemonic-descriptions/reviews/readability-model-001.json @@ -1 +1 @@ -{"artifact_digests":{"semantic_review":"68ea355b33d341eb930c8aaae8336de2916952e719919900b4850065100c7bc3","verification":"233a65a65d9f50bb531abc52db3edbef11b3f53396feedd1d461f5166f840bf5","writer":"05b10603d4ecaedd4de47240e5ac9e00e66eeeb97d921c92aef906f8cbeb02c3"},"batch_id":"PTO-READER-READABILITY-MODEL-001","contexts":{"semantic_reviewer":"/claude/readability-model-review","verifier":"/claude/readability-verifier","writer":"/claude/readability-model-writer"},"deep_reviewed_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"reviewed_claim_count":703,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-023","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-024","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-025","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-026","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-027","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-028","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-029","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-031","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-032","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-033","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-034"],"reviewed_node_count":877,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-026","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-027","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-028","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-023","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-024","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-025","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-026","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-027","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-030","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-031","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-032","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-025","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-026","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-027","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-028","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-024","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-025","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-026","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-027","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-028","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-029","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-030","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-031","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-032","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-025","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-026","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-027","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-028","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-029","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-030","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-024","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-025","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-027","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-029","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-031","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-032","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-033","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-034","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-035","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-036","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-033","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-034","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-035","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-036","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-037","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-038","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-030","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-031","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-032","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-033","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-034","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-038","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-039","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-040","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-041","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-042","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-043","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-034","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-035","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-035","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-001","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-002","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-003","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-004","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-005","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-006","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-007","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-008","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-009","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-010","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-011","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-012","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-013","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-014","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-015","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-016","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-017","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-018","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-019","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-020","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-021","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-022","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-023","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-024","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-025","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-026","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-027","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-029","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-030","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-031","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-032","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-033","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-034","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-035","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-037","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-038","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-039","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-040"],"rubric_version":"mnemonic-reader-v1","schema_version":1,"source_commit":"399601472ff54902a09302ce63fe63aee841e4ea","unit_risks":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"high-risk","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"high-risk","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"high-risk","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"high-risk","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"high-risk","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"high-risk","PTO-BLOCK-MODEL-SCHEMA-HEADER":"high-risk","PTO-BLOCK-MODEL-STATE-BARG":"high-risk","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-STATE-TYPES":"high-risk","PTO-TILE-MODEL-CAPACITY-LOCAL":"high-risk","PTO-TILE-MODEL-CAPACITY-SHARED":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"high-risk","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"high-risk","PTO-TILE-MODEL-SHAPE-VALID-REGION":"ordinary","PTO-TILE-MODEL-STATE-ALLOCATION":"high-risk","PTO-TILE-MODEL-STATE-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ordinary","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"high-risk","PTO-TILE-MODEL-STATE-TYPES":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":29,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"]} +{"artifact_digests":{"semantic_review":"88e23628dad32e770619739e6f47618cc9d80b6c3b5388d1dc5d5f8c0236944e","verification":"ef2980b5a1b47f9848c05ce2a48cfb0e6dc0b4edde0b4e8f730d2b8423a86d58","writer":"a7d24916ff0646cd56913ebc26c4d83091e27ba8a4662a52aa53373e1675fabe"},"batch_id":"PTO-READER-READABILITY-MODEL-001","contexts":{"semantic_reviewer":"/claude/readability-model-review","verifier":"/claude/readability-verifier","writer":"/claude/readability-model-writer"},"deep_reviewed_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"reviewed_claim_count":683,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-023","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-024","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-025","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-026","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-027","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-028","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-029","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-031","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-032","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-033","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-034"],"reviewed_node_count":851,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-026","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-027","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-028","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-023","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-024","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-025","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-026","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-027","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-030","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-031","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-032","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-025","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-026","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-027","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-028","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-024","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-025","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-026","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-027","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-028","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-029","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-030","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-031","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-032","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-025","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-026","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-027","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-028","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-029","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-030","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-024","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-025","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-027","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-029","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-031","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-032","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-033","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-034","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-035","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-036","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-033","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-034","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-035","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-036","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-037","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-038","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-030","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-031","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-032","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-033","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-034","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-038","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-039","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-040","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-041","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-042","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-043","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-034","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-035","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-035","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-001","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-002","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-003","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-004","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-005","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-006","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-007","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-008","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-009","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-010","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-011","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-012","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-013","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-014","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-015","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-016","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-017","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-018","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-019","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-020","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-021","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-022","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-023","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-024","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-025","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-026","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-027","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-029","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-030","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-031","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-032","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-033","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-034","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-035","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-037","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-038","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-039","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-040"],"rubric_version":"mnemonic-reader-v1","schema_version":1,"source_commit":"399601472ff54902a09302ce63fe63aee841e4ea","unit_risks":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"high-risk","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"high-risk","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"high-risk","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"high-risk","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"high-risk","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"high-risk","PTO-BLOCK-MODEL-SCHEMA-HEADER":"high-risk","PTO-BLOCK-MODEL-STATE-BARG":"high-risk","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-TYPES":"high-risk","PTO-TILE-MODEL-CAPACITY-LOCAL":"high-risk","PTO-TILE-MODEL-CAPACITY-SHARED":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"high-risk","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"high-risk","PTO-TILE-MODEL-SHAPE-VALID-REGION":"ordinary","PTO-TILE-MODEL-STATE-ALLOCATION":"high-risk","PTO-TILE-MODEL-STATE-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ordinary","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"high-risk","PTO-TILE-MODEL-STATE-TYPES":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":28,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"]} diff --git a/spec/evidence/mnemonic-descriptions/scalar/PTO-SCALAR-SYNC-CORE.json b/spec/evidence/mnemonic-descriptions/scalar/PTO-SCALAR-SYNC-CORE.json new file mode 100644 index 000000000..310ef8f7a --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/scalar/PTO-SCALAR-SYNC-CORE.json @@ -0,0 +1 @@ +{"atomic_claims":[],"decision_gaps":[],"migration":{"copyright_disposition":"current-owner-rewrite","mapping_basis":"unreviewed","mapping_status":"pending","source_id":"anonymous-source-001","source_page_ids":[]},"mnemonic":"SYNC.CORE","node_dispositions":[],"owner":{"asl_path":"asl/scalar/sys/SYNC.CORE.asl","contract_artifact":"spec/evidence/instruction-contract-closure.json","documentation_path":"docs/scalar/sys/SYNC.CORE.md","ndf_clause":"PTO-INST-SCALAR-SYNC-CORE"},"page_contract":"mnemonic-reader-v1","presentation_blocks":[],"reader_roles":[],"schema_version":1,"status":"pending","surface":"scalar","unit_id":"PTO-SCALAR-SYNC-CORE"} diff --git a/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/issue360-shared-generation-r211.json b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/issue360-shared-generation-r211.json new file mode 100644 index 000000000..8f1d27e4d --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/issue360-shared-generation-r211.json @@ -0,0 +1 @@ +{"artifact_digests":{"language_review":"94c4f85292eb08234bbb84728a722820d62a898d5a61fc1837fbdc5884360121","translation":"24854cf59d2c04bbc48b9be8bed5eb4ea789c9b4d257b45dbdb4de965fb81308","verification":"0d4fe42e4fbbe41ff46e645736a2f8d9adc902bc72603f1a7a0cba326a4f21c4"},"batch_id":"PTO-READER-ZH-CN-ISSUE360-SHARED-GENERATION-R211","contexts":{"language_reviewer":"/root/sync_core_reviewer","translator":"/root/sync_core_executor","verifier":"/root"},"locale":"zh-CN","protected_literal_unit_ids":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"],"reviewed_claim_count":46,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033"],"reviewed_node_count":58,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-039","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-040","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-041","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-039"],"rubric_version":"mnemonic-translation-v1","schema_version":1,"source_commit":"4555cfaf4e901855b5859e3f9e68a815fe4cf128","translation_artifact_digests":{"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"666f23497f9a08b308c9755924b0e10533bb6bcdcc34732706991721a513150f","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"1540a9902e68f355c16c34bb9f943df77628737ef671a0541b2efded5f7d9cc3"},"unit_ids":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"],"unit_risks":{"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":2,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"]} diff --git a/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-block-operands-001.json b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-block-operands-001.json index fa036078a..68a61cd6e 100644 --- a/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-block-operands-001.json +++ b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-block-operands-001.json @@ -1 +1 @@ -{"artifact_digests":{"language_review":"e6fdc78d4209d6d5980b8f2fda05a465a8fe1054a7ae75f86f447f842fe439f2","translation":"b3f7fef4f5b4b530d2234b0b546e1d69d5c572f43e778be96d55edbb93e9cc1b","verification":"25e383f09fad760e5d727749c7b2f21969860bdb28ad5200ad8a7c238c195146"},"batch_id":"PTO-READER-ZH-CN-READABILITY-BLOCK-OPERANDS-001","contexts":{"language_reviewer":"/claude/readability-operands-review","translator":"/claude/readability-operands-writer","verifier":"/claude/readability-verifier"},"locale":"zh-CN","protected_literal_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"reviewed_claim_count":449,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-026"],"reviewed_node_count":563,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-030","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-031","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-034","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-034","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-026","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-027","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-028","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-029","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-030","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-031","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-032"],"rubric_version":"mnemonic-translation-v1","schema_version":1,"source_commit":"4429dea002f04fe008619e408c8b4eafff4585be","translation_artifact_digests":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"a3df9526814e6401e8dba22b815850d2519906ba712d465886e73f806548aade","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"bb9f2db89079cb666e5031e4ddc17efdbad8690828da598a1da30d017f028ed2","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"8cc5ad31eb47c9aac315f9bcac7cd8775f2ba41fcc4258a681602400df8ab138","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"4f5b3cbc0bfa8d746730bc6322dffefbad91415030edbba0426a025cdfcb3d16","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"8fd665f16df3e9a3660e394032cc0e19a281262f83b90cad64abde2b5eaa6541","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"3120a96917a1c79d399f64e5189f8d558b8ae791b0946a7a5d896958153b56d0","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"723cc399943fcbe193c307a6447a58b5c32607c12eadf3ae010bcc62b13bc940","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"d9a1ba5368a2579c8dcc4ddc1ca3cec198da27a875893ffb499e0fb1da86ed60","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"d64d2a6c6291f2e69c500515a5e22e3991ff0a70a80a7aa21f01722cc1eef567","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"09af4be02700a48fdb6a6ce00508ed45c707e3e44dd9b8ce5126254080c4f543","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"bf3b3a8990bce963fcfa66732de2819978e4797eea03693af788f3517b312673","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"5f1421a7f6d907edfc2630bc3b81a0ae64624a9288ae54736e73270f2ab9124a","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"d770b3792d178e6add269c5fcc8ee60684d2228c42d219ce87bb8170ca776051","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"4bfdbb573453c115e14342e25533e07d1bd552a565db13aaceac9690b4a5f0cd","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"f7cc79634cddba81f283aa707d2bc0fcb5a7d1715790e753c403171a874196f3","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"ddc28445be24a7aebaa151384cdbae368221ace09c43eacbcf963ce20c5026bd","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"2b64476e4aaba8f3614625fae8accda4128b990aee897b2af480a85fe8c4af32","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"95e2af47e49d1627f1601f376cd7cab24810e3d2e0f4fd7bd719fd1720d82738","PTO-TILE-MODEL-ORDERING-SORTING":"ba101fb6f49cb2298a547b32bbcd3fec6b0d168410fbbec36f6c082e9a2b5981"},"unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"unit_risks":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"high-risk","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"high-risk","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"high-risk","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"high-risk","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"high-risk","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"high-risk","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"high-risk","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"high-risk","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"high-risk","PTO-TILE-MODEL-ORDERING-SORTING":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":19,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"]} +{"artifact_digests":{"language_review":"31607fb99ec24a7beab82e02e7768ac863531596c3df40ef65a4d7ae009e90e6","translation":"3fd31ff1356d762a7f610240ea7a0a72c036e291aba5e9598bbdf83cac44a529","verification":"1c8d83b14f17eb6afcdde9384fe5139362becae64f095b9645880e7f624c1a13"},"batch_id":"PTO-READER-ZH-CN-READABILITY-BLOCK-OPERANDS-001","contexts":{"language_reviewer":"/claude/readability-operands-review","translator":"/claude/readability-operands-writer","verifier":"/claude/readability-verifier"},"locale":"zh-CN","protected_literal_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"reviewed_claim_count":425,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-CLAIM-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-CLAIM-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-CLAIM-TILE-MODEL-ORDERING-SORTING-026"],"reviewed_node_count":533,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-030","PTO-READER-NODE-BLOCK-MODEL-MEMORY-TIMG2COL-GM-031","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-001","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-002","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-003","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-004","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-005","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-006","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-007","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-008","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-009","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-010","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-011","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-012","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-013","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-014","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-015","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-016","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-017","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-018","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-019","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-020","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-021","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-022","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-023","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-024","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-025","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-026","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-027","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-028","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-029","PTO-READER-NODE-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-030","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TILE-BINDINGS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE-034","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-001","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-002","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-003","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-004","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-005","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-006","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-007","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-008","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-009","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-010","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-011","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-012","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-013","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-014","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-015","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-016","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-017","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-018","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-019","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-020","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-021","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-022","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-023","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-024","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-025","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-026","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-027","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-028","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-029","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-030","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-031","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-032","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-033","PTO-READER-NODE-TILE-MODEL-DISPATCH-TOP-LEVEL-034","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-001","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-002","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-003","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-004","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-005","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-006","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-007","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-008","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-009","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-010","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-011","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-012","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-013","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-014","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-015","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-016","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-017","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-018","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-019","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-020","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-021","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-022","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-023","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-024","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-025","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-026","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-027","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-028","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-029","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-030","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-031","PTO-READER-NODE-TILE-MODEL-ORDERING-SORTING-032"],"rubric_version":"mnemonic-translation-v1","schema_version":1,"source_commit":"4429dea002f04fe008619e408c8b4eafff4585be","translation_artifact_digests":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"a3df9526814e6401e8dba22b815850d2519906ba712d465886e73f806548aade","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"bb9f2db89079cb666e5031e4ddc17efdbad8690828da598a1da30d017f028ed2","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"8cc5ad31eb47c9aac315f9bcac7cd8775f2ba41fcc4258a681602400df8ab138","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"4f5b3cbc0bfa8d746730bc6322dffefbad91415030edbba0426a025cdfcb3d16","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"8fd665f16df3e9a3660e394032cc0e19a281262f83b90cad64abde2b5eaa6541","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"3120a96917a1c79d399f64e5189f8d558b8ae791b0946a7a5d896958153b56d0","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"d9a1ba5368a2579c8dcc4ddc1ca3cec198da27a875893ffb499e0fb1da86ed60","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"d64d2a6c6291f2e69c500515a5e22e3991ff0a70a80a7aa21f01722cc1eef567","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"09af4be02700a48fdb6a6ce00508ed45c707e3e44dd9b8ce5126254080c4f543","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"bf3b3a8990bce963fcfa66732de2819978e4797eea03693af788f3517b312673","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"5f1421a7f6d907edfc2630bc3b81a0ae64624a9288ae54736e73270f2ab9124a","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"d770b3792d178e6add269c5fcc8ee60684d2228c42d219ce87bb8170ca776051","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"4bfdbb573453c115e14342e25533e07d1bd552a565db13aaceac9690b4a5f0cd","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"f7cc79634cddba81f283aa707d2bc0fcb5a7d1715790e753c403171a874196f3","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"ddc28445be24a7aebaa151384cdbae368221ace09c43eacbcf963ce20c5026bd","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"2b64476e4aaba8f3614625fae8accda4128b990aee897b2af480a85fe8c4af32","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"95e2af47e49d1627f1601f376cd7cab24810e3d2e0f4fd7bd719fd1720d82738","PTO-TILE-MODEL-ORDERING-SORTING":"ba101fb6f49cb2298a547b32bbcd3fec6b0d168410fbbec36f6c082e9a2b5981"},"unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"],"unit_risks":{"PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM":"high-risk","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM":"high-risk","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION":"high-risk","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS":"high-risk","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS":"high-risk","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE":"high-risk","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX":"high-risk","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR":"high-risk","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT":"high-risk","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND":"high-risk","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE":"high-risk","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL":"high-risk","PTO-TILE-MODEL-ORDERING-SORTING":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":18,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-MEMORY-TIMG2COL-GM","PTO-BLOCK-MODEL-MEMORY-WEIGHT-TO-SHARED-GM","PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS","PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS","PTO-BLOCK-MODEL-OPERANDS-TIMG2COL-PARAMETERS","PTO-BLOCK-MODEL-OPERANDS-WEIGHT-PARAMETERS","PTO-TILE-MODEL-DISPATCH-ELEMENTWISE-TILE-TILE","PTO-TILE-MODEL-DISPATCH-IRREGULAR-AND-COMPLEX","PTO-TILE-MODEL-DISPATCH-LAYOUT-AND-REARRANGEMENT","PTO-TILE-MODEL-DISPATCH-MATRIX-AND-MATRIX-VECTOR","PTO-TILE-MODEL-DISPATCH-MEMORY-AND-DATA-MOVEMENT","PTO-TILE-MODEL-DISPATCH-REDUCE-AND-EXPAND","PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE","PTO-TILE-MODEL-DISPATCH-TOP-LEVEL","PTO-TILE-MODEL-ORDERING-SORTING"]} diff --git a/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-model-001.json b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-model-001.json index 5ff58b9a9..73c6dad85 100644 --- a/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-model-001.json +++ b/spec/evidence/mnemonic-descriptions/translation-reviews/zh-CN/readability-model-001.json @@ -1 +1 @@ -{"artifact_digests":{"language_review":"07b60ff09ce657c601c8c4f1e89960709fd2967c6e58eb07745e38b37bbdca27","translation":"0788048d265245aa4e5444722378d7954823e139e0f185cba05e26f26e10c001","verification":"f0e4ef1ce216e4abd815c17c101958bbbca257601841ce442e4e328e39515d69"},"batch_id":"PTO-READER-ZH-CN-READABILITY-MODEL-001","contexts":{"language_reviewer":"/claude/readability-model-review","translator":"/claude/readability-model-writer","verifier":"/claude/readability-verifier"},"locale":"zh-CN","protected_literal_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"reviewed_claim_count":703,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-023","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-024","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-025","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-026","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-027","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-028","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-029","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-031","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-032","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-033","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-034"],"reviewed_node_count":877,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-026","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-027","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-028","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-023","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-024","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-025","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-026","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-027","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-030","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-031","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-032","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-025","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-026","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-027","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-028","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-024","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-025","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-026","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-027","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-028","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-029","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-030","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-031","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-032","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-025","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-026","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-027","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-028","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-029","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-030","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-024","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-025","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-027","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-029","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-031","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-032","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-033","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-034","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-035","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-036","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-033","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-034","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-035","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-036","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-037","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-038","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-030","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-031","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-032","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-033","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-034","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-038","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-039","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-040","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-041","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-042","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-043","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-034","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-035","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-035","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-001","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-002","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-003","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-004","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-005","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-006","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-007","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-008","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-009","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-010","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-011","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-012","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-013","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-014","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-015","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-016","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-017","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-018","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-019","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-020","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-021","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-022","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-023","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-024","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-025","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-026","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-027","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-029","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-030","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-031","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-032","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-033","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-034","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-035","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-037","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-038","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-039","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-040"],"rubric_version":"mnemonic-translation-v1","schema_version":1,"source_commit":"399601472ff54902a09302ce63fe63aee841e4ea","translation_artifact_digests":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"03970625625763d79270db022ad212d725524fc58e0f292601dc2ed6ac584649","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"c5ed231df0adb667e10a25c329e83523baa01b7764bd3c8c068b9e9cb34f61a4","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"b56b51a5849d3a3fa243ef7396c4818aa37b0c28bc172c4b6c5bb5eb81b15b8c","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"236183dc80b2c39c1653eb95c814b58215452c481bc5c9f699202d20af0abf52","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"630ccbf16433b70a243648f269eff087e0a6da59224609aefb5dfe92af67e913","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"961fe25c93c18634f93f04faeeaa3d993e8e6bb5f18080348d1db29778f7922c","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"1ca7dab31c69ef41c6dc47ad589752af4a15d8afdbca4bfb5823406254244497","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"5c14b6da79ae4668a5421de38d1e42c5875ace48881e11b0b75c41ccc205de83","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"0fec6e7eae24666ae0e2dc00a9e744ae8829aaf22aaeb016f100a8b526456af7","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"22fe4aabcc914ce025b187e02399cfd0892425146926ac5847946abffe9d9812","PTO-BLOCK-MODEL-SCHEMA-HEADER":"60483dbf8f8e923336847c502d33ad2efe62785a826f730641a343fd086fd7c4","PTO-BLOCK-MODEL-STATE-BARG":"179acaf3988227d64da716d3c14daa4adc6233931831f5ed1546f6fb3188650a","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"fba1c24533c72f95304713e527efb4a92266f4720d6911025b7728e8ba533638","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"46ab2feb7254ba34d391d2620aae8c7d6e67b97fcceb4e1134580821bc0bfaac","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"0b54e79930e4d569bafa6afe27c50cda0e642374aa03d542233ebc2d2b892f30","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"776a3bf80bc048107aa2f7dc192b74d298311062ee9bec7b8707c4c6376b02de","PTO-BLOCK-MODEL-STATE-TYPES":"d619a5cfd02374d4a1a298510f148ac91c1eb6d303efd3a4fd92e468040a4c25","PTO-TILE-MODEL-CAPACITY-LOCAL":"1d587a7166067a3188722433392fa44a3a1838908504af6f6d5d5c421d5f1215","PTO-TILE-MODEL-CAPACITY-SHARED":"b4054c1e13c4277c29f291ad76eba65b454c58b3ad23f8d4b6b0d460fd4e4adc","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"fbb0fdc9d69e833a74ff48a4b26fe018633f2f4fd7e3bd98312c57c92d277caf","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"23b5a07c48696cdfc22eb55e7b857acb3ce0aa174ecf309b84165f409161ec98","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"2a54750ff4aa76231aefa48e2482cd0a62e6f5c09d6ed0546aa11fc9f786e1a4","PTO-TILE-MODEL-SHAPE-VALID-REGION":"915932e37fdaf0a8435f6f8b15718d0d172f9246ff20d95ea361b748fa75362d","PTO-TILE-MODEL-STATE-ALLOCATION":"fd4fee03d07d912be6b6b19fd5c67299d8801e91871c43f6a338db5db9d69e6f","PTO-TILE-MODEL-STATE-DESCRIPTORS":"5be18bf5d67fd6e5712ea451cb193b573b64021371227cd1a3e1f04d32f60c3f","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"40b8d8bbb47933f34a57e5378fb88a161543c3272c261626fc230555fc071ec6","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ab1a233d10ffee0c22db54250c29b88eda0a762bb435360fec297e382a5c4191","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"94df442b36e5e7fae3a8c0a4964ccd3793adbde236f06effc2fbcd5a824535fe","PTO-TILE-MODEL-STATE-TYPES":"73267d326036901d262c6fd8878d7b85654492a6d3962920dde6095f80f12c1f"},"unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"unit_risks":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"high-risk","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"high-risk","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"high-risk","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"high-risk","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"high-risk","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"high-risk","PTO-BLOCK-MODEL-SCHEMA-HEADER":"high-risk","PTO-BLOCK-MODEL-STATE-BARG":"high-risk","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-SHARED-GENERATION":"high-risk","PTO-BLOCK-MODEL-STATE-TYPES":"high-risk","PTO-TILE-MODEL-CAPACITY-LOCAL":"high-risk","PTO-TILE-MODEL-CAPACITY-SHARED":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"high-risk","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"high-risk","PTO-TILE-MODEL-SHAPE-VALID-REGION":"ordinary","PTO-TILE-MODEL-STATE-ALLOCATION":"high-risk","PTO-TILE-MODEL-STATE-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ordinary","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"high-risk","PTO-TILE-MODEL-STATE-TYPES":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":29,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-SHARED-GENERATION","PTO-BLOCK-MODEL-STATE-TYPES","PTO-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"]} +{"artifact_digests":{"language_review":"6ddd8b075016b5b2ea24286e4546808f58e1de8977f943a7cf3bd5c3ccae6268","translation":"d9edb85d5e8c85afc21870d084acd8fd9f21c6733b1db1d5e748152a6aa917a4","verification":"674cd42a7264e38138bd4418fa9fa46a344e05c96e5d6c1226bf611fca083549"},"batch_id":"PTO-READER-ZH-CN-READABILITY-MODEL-001","contexts":{"language_reviewer":"/claude/readability-model-review","translator":"/claude/readability-model-writer","verifier":"/claude/readability-verifier"},"locale":"zh-CN","protected_literal_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"reviewed_claim_count":683,"reviewed_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-CLAIM-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-CLAIM-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-CLAIM-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-CLAIM-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BARG-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-CLAIM-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-CLAIM-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-CLAIM-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-CLAIM-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-CLAIM-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-CLAIM-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-001","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-002","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-003","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-004","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-005","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-006","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-007","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-008","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-009","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-010","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-011","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-012","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-013","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-014","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-015","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-016","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-017","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-018","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-019","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-020","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-021","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-022","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-023","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-024","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-025","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-026","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-027","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-028","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-029","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-030","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-031","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-032","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-033","PTO-READER-CLAIM-TILE-MODEL-STATE-TYPES-034"],"reviewed_node_count":851,"reviewed_node_ids":["PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-EFFECTS-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-001","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-002","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-003","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-004","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-005","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-006","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-007","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-008","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-009","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-010","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-011","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-012","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-013","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-014","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-015","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-016","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-017","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-018","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-019","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-020","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-021","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-022","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-023","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-024","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-025","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-026","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-027","PTO-READER-NODE-BLOCK-MODEL-COMMIT-VALIDATION-028","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-001","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-002","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-003","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-004","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-005","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-006","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-007","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-008","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-009","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-010","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-011","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-012","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-013","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-014","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-015","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-016","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-017","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-018","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-019","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-020","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-021","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-022","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-023","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-024","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-025","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-026","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-027","PTO-READER-NODE-BLOCK-MODEL-FAULTS-ROLLBACK-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-BEGIN-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-029","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-030","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-031","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-ENTER-STOP-032","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-LIFETIME-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-001","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-002","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-003","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-004","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-005","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-006","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-007","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-008","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-009","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-010","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-011","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-012","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-013","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-014","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-015","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-016","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-017","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-018","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-019","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-020","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-021","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-022","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-023","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-024","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-025","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-026","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-027","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-028","PTO-READER-NODE-BLOCK-MODEL-LIFECYCLE-RESET-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-ATTRIBUTES-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-023","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-024","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-025","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-026","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-027","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-028","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING-029","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-DIMENSIONS-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-001","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-002","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-003","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-004","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-005","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-006","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-007","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-008","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-009","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-010","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-011","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-012","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-013","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-014","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-015","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-016","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-017","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-018","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-019","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-020","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-021","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-022","PTO-READER-NODE-BLOCK-MODEL-SCHEMA-HEADER-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-023","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-024","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-025","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-026","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-027","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-028","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-029","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-030","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-031","PTO-READER-NODE-BLOCK-MODEL-STATE-BARG-032","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-BINDING-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-024","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-025","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-026","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-027","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-028","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-029","PTO-READER-NODE-BLOCK-MODEL-STATE-CONTROL-STATE-030","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-001","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-002","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-003","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-004","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-005","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-006","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-007","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-008","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-009","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-010","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-011","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-012","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-013","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-014","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-015","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-016","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-017","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-018","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-019","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-020","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-021","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-022","PTO-READER-NODE-BLOCK-MODEL-STATE-DESCRIPTOR-STATE-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-001","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-002","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-003","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-004","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-005","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-006","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-007","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-008","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-009","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-010","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-011","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-012","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-013","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-014","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-015","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-016","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-017","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-018","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-019","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-020","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-021","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-022","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-023","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-024","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-025","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-026","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-027","PTO-READER-NODE-BLOCK-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-028","PTO-READER-NODE-TILE-MODEL-CAPACITY-LOCAL-029","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-001","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-002","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-003","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-004","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-005","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-006","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-007","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-008","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-009","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-010","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-011","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-012","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-013","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-014","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-015","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-016","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-017","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-018","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-019","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-020","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-021","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-022","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-023","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-024","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-025","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-026","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-027","PTO-READER-NODE-TILE-MODEL-CAPACITY-SHARED-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-031","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-032","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-033","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-034","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-035","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-ELEMENTS-036","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-001","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-002","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-003","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-004","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-005","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-006","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-007","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-008","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-009","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-010","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-011","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-012","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-013","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-014","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-015","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-016","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-017","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-018","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-019","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-020","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-021","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-022","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-023","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-024","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-025","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-026","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-027","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-028","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-029","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-030","PTO-READER-NODE-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-001","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-002","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-003","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-004","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-005","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-006","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-007","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-008","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-009","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-010","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-011","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-012","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-013","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-014","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-015","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-016","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-017","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-018","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-019","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-020","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-021","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-022","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-023","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-024","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-025","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-026","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-027","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-028","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-029","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-030","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-031","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-032","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-033","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-034","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-035","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-036","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-037","PTO-READER-NODE-TILE-MODEL-SHAPE-ROWS-COLUMNS-038","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-001","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-002","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-003","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-004","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-005","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-006","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-007","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-008","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-009","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-010","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-011","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-012","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-013","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-014","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-015","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-016","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-017","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-018","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-019","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-020","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-021","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-022","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-023","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-024","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-025","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-026","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-027","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-028","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-029","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-030","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-031","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-032","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-033","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-034","PTO-READER-NODE-TILE-MODEL-SHAPE-VALID-REGION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-001","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-002","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-003","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-004","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-005","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-006","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-007","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-008","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-009","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-010","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-011","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-012","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-013","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-014","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-015","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-016","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-017","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-018","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-019","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-020","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-021","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-022","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-023","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-024","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-025","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-026","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-027","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-028","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-029","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-030","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-031","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-032","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-033","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-034","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-035","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-036","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-037","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-038","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-039","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-040","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-041","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-042","PTO-READER-NODE-TILE-MODEL-STATE-ALLOCATION-043","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-001","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-002","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-003","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-004","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-005","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-006","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-007","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-008","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-009","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-010","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-011","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-012","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-013","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-014","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-015","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-016","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-017","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-018","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-019","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-020","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-021","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-022","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-023","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-024","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-025","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-026","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-027","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-028","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-029","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-030","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-031","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-032","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-033","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-034","PTO-READER-NODE-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS-035","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-LOCAL-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-001","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-002","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-003","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-004","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-005","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-006","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-007","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-008","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-009","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-010","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-011","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-012","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-013","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-014","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-015","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-016","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-017","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-018","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-019","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-020","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-021","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-022","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-023","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-024","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-025","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-026","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-027","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-028","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-029","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-030","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-031","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-032","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-033","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-034","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-035","PTO-READER-NODE-TILE-MODEL-STATE-SHARED-REGISTERS-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-001","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-002","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-003","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-004","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-005","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-006","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-007","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-008","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-009","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-010","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-011","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-012","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-013","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-014","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-015","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-016","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-017","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-018","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-019","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-020","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-021","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-022","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-023","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-024","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-025","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-026","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-027","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-028","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-029","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-030","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-031","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-032","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-033","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-034","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-035","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-036","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-037","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-038","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-039","PTO-READER-NODE-TILE-MODEL-STATE-TYPES-040"],"rubric_version":"mnemonic-translation-v1","schema_version":1,"source_commit":"399601472ff54902a09302ce63fe63aee841e4ea","translation_artifact_digests":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"03970625625763d79270db022ad212d725524fc58e0f292601dc2ed6ac584649","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"c5ed231df0adb667e10a25c329e83523baa01b7764bd3c8c068b9e9cb34f61a4","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"b56b51a5849d3a3fa243ef7396c4818aa37b0c28bc172c4b6c5bb5eb81b15b8c","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"236183dc80b2c39c1653eb95c814b58215452c481bc5c9f699202d20af0abf52","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"630ccbf16433b70a243648f269eff087e0a6da59224609aefb5dfe92af67e913","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"961fe25c93c18634f93f04faeeaa3d993e8e6bb5f18080348d1db29778f7922c","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"1ca7dab31c69ef41c6dc47ad589752af4a15d8afdbca4bfb5823406254244497","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"5c14b6da79ae4668a5421de38d1e42c5875ace48881e11b0b75c41ccc205de83","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"0fec6e7eae24666ae0e2dc00a9e744ae8829aaf22aaeb016f100a8b526456af7","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"22fe4aabcc914ce025b187e02399cfd0892425146926ac5847946abffe9d9812","PTO-BLOCK-MODEL-SCHEMA-HEADER":"60483dbf8f8e923336847c502d33ad2efe62785a826f730641a343fd086fd7c4","PTO-BLOCK-MODEL-STATE-BARG":"179acaf3988227d64da716d3c14daa4adc6233931831f5ed1546f6fb3188650a","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"fba1c24533c72f95304713e527efb4a92266f4720d6911025b7728e8ba533638","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"46ab2feb7254ba34d391d2620aae8c7d6e67b97fcceb4e1134580821bc0bfaac","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"0b54e79930e4d569bafa6afe27c50cda0e642374aa03d542233ebc2d2b892f30","PTO-BLOCK-MODEL-STATE-TYPES":"d619a5cfd02374d4a1a298510f148ac91c1eb6d303efd3a4fd92e468040a4c25","PTO-TILE-MODEL-CAPACITY-LOCAL":"1d587a7166067a3188722433392fa44a3a1838908504af6f6d5d5c421d5f1215","PTO-TILE-MODEL-CAPACITY-SHARED":"b4054c1e13c4277c29f291ad76eba65b454c58b3ad23f8d4b6b0d460fd4e4adc","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"fbb0fdc9d69e833a74ff48a4b26fe018633f2f4fd7e3bd98312c57c92d277caf","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"23b5a07c48696cdfc22eb55e7b857acb3ce0aa174ecf309b84165f409161ec98","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"2a54750ff4aa76231aefa48e2482cd0a62e6f5c09d6ed0546aa11fc9f786e1a4","PTO-TILE-MODEL-SHAPE-VALID-REGION":"915932e37fdaf0a8435f6f8b15718d0d172f9246ff20d95ea361b748fa75362d","PTO-TILE-MODEL-STATE-ALLOCATION":"fd4fee03d07d912be6b6b19fd5c67299d8801e91871c43f6a338db5db9d69e6f","PTO-TILE-MODEL-STATE-DESCRIPTORS":"5be18bf5d67fd6e5712ea451cb193b573b64021371227cd1a3e1f04d32f60c3f","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"40b8d8bbb47933f34a57e5378fb88a161543c3272c261626fc230555fc071ec6","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ab1a233d10ffee0c22db54250c29b88eda0a762bb435360fec297e382a5c4191","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"94df442b36e5e7fae3a8c0a4964ccd3793adbde236f06effc2fbcd5a824535fe","PTO-TILE-MODEL-STATE-TYPES":"73267d326036901d262c6fd8878d7b85654492a6d3962920dde6095f80f12c1f"},"unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"],"unit_risks":{"PTO-BLOCK-MODEL-COMMIT-EFFECTS":"high-risk","PTO-BLOCK-MODEL-COMMIT-VALIDATION":"high-risk","PTO-BLOCK-MODEL-FAULTS-ROLLBACK":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-BEGIN":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-ENTER-STOP":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-LIFETIME":"high-risk","PTO-BLOCK-MODEL-LIFECYCLE-RESET":"high-risk","PTO-BLOCK-MODEL-SCHEMA-ATTRIBUTES":"high-risk","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING":"high-risk","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS":"high-risk","PTO-BLOCK-MODEL-SCHEMA-HEADER":"high-risk","PTO-BLOCK-MODEL-STATE-BARG":"high-risk","PTO-BLOCK-MODEL-STATE-BINDING-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-CONTROL-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE":"high-risk","PTO-BLOCK-MODEL-STATE-TYPES":"high-risk","PTO-TILE-MODEL-CAPACITY-LOCAL":"high-risk","PTO-TILE-MODEL-CAPACITY-SHARED":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS":"ordinary","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY":"high-risk","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS":"high-risk","PTO-TILE-MODEL-SHAPE-VALID-REGION":"ordinary","PTO-TILE-MODEL-STATE-ALLOCATION":"high-risk","PTO-TILE-MODEL-STATE-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS":"ordinary","PTO-TILE-MODEL-STATE-LOCAL-REGISTERS":"ordinary","PTO-TILE-MODEL-STATE-SHARED-REGISTERS":"high-risk","PTO-TILE-MODEL-STATE-TYPES":"high-risk"},"unresolved_question_count":0,"verdict":"accepted","verifier_sample_count":28,"verifier_sample_unit_ids":["PTO-BLOCK-MODEL-COMMIT-EFFECTS","PTO-BLOCK-MODEL-COMMIT-VALIDATION","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-SCHEMA-ATTRIBUTES","PTO-BLOCK-MODEL-SCHEMA-BUNDLE-ENCODING","PTO-BLOCK-MODEL-SCHEMA-DIMENSIONS","PTO-BLOCK-MODEL-SCHEMA-HEADER","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-TILE-MODEL-CAPACITY-LOCAL","PTO-TILE-MODEL-CAPACITY-SHARED","PTO-TILE-MODEL-DEFINEDNESS-ELEMENTS","PTO-TILE-MODEL-DEFINEDNESS-PACKED-BOUNDARY","PTO-TILE-MODEL-SHAPE-ROWS-COLUMNS","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-LOCAL-REGISTERS","PTO-TILE-MODEL-STATE-SHARED-REGISTERS","PTO-TILE-MODEL-STATE-TYPES"]} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json new file mode 100644 index 000000000..bb02b664d --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"e426f8fdc370f9019c011b8c92cce6bd8a4479eeac6b36a352748bc7a0194008","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json new file mode 100644 index 000000000..a353482fd --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-CORE-SYNCHRONIZATION.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"7386d44ad569a5efa9c5647844bad861ad546abdc07b9c5323d77a1279b2a75b","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json new file mode 100644 index 000000000..5ec224634 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-KERNEL-LIFECYCLE.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"14e925f67ae512c0d6f686a680378f328f2877fb9519f12905bc89de2bfa969b","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-KERNEL-LIFECYCLE"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json new file mode 100644 index 000000000..bee3b3ea7 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/arch/PTO-ARCH-STATE-PE-EXECUTION-CONTEXT.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"c2a7e507e33e1be1973c4f279f05bbeae4f53eb15bab169fc2b75b0d35da34a9","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"arch","unit_id":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json new file mode 100644 index 000000000..5890a8948 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"42905ca239fbadb4c3037b2a16718fbfeeff5e5ba861ef54ab4d7c19669b3232","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json new file mode 100644 index 000000000..c2ea1ecb2 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"fc7fc52e1ec911be7d6872d1ce1c92e3deb108896a47f3f215f83bf15e21d925","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json new file mode 100644 index 000000000..341522e03 --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"0726a0fb32465a51f6c339066d4706535e334071dabaafcf4fec3dcbbe5c2aef","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json index d15a75865..cbfa097db 100644 --- a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION.json @@ -1 +1 @@ -{"block_mappings":[{"english_block_id":"block-model-operands-shared-generation-purpose","locale_block_id":"block-model-operands-shared-generation-purpose","locale_fragment_sha256":"98d2a4610152024b3d452eb6ffa5198c9f5143fc55ed56e4819664995614baf5"},{"english_block_id":"block-model-operands-shared-generation-concepts","locale_block_id":"block-model-operands-shared-generation-concepts","locale_fragment_sha256":"f43a4170cd7bdeac9f46fda2a3c52c881dd2a2df58feb24bb042f129b60971ba"},{"english_block_id":"block-model-operands-shared-generation-rules","locale_block_id":"block-model-operands-shared-generation-rules","locale_fragment_sha256":"4038d24fd045140d1e1d79069c4623164310ddf1daee499afa0356ea4dcb2bbc"},{"english_block_id":"block-model-operands-shared-generation-boundaries","locale_block_id":"block-model-operands-shared-generation-boundaries","locale_fragment_sha256":"b96c392befc32aa51e311231fc14de8a8cea22efd8ee2100b735dc31e247af25"},{"english_block_id":"block-model-operands-shared-generation-example","locale_block_id":"block-model-operands-shared-generation-example","locale_fragment_sha256":"59bebc64ec906a0c49274403709344eaf61288704d1eaaade63b9ec3f4cfa879"},{"english_block_id":"block-model-operands-shared-generation-related","locale_block_id":"block-model-operands-shared-generation-related","locale_fragment_sha256":"152b9dd19e6610facb4f95ba47730473c5322a3a38afaa64050bbd32eb5d5617"}],"claim_mappings":[{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/5"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/6"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/7"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/8"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/9"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/10"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/11"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/4"}],"english_block_ids":["block-model-operands-shared-generation-purpose","block-model-operands-shared-generation-concepts","block-model-operands-shared-generation-rules","block-model-operands-shared-generation-boundaries","block-model-operands-shared-generation-example","block-model-operands-shared-generation-related"],"english_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024"],"english_node_ids":["PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030"],"english_unit_shard_sha256":"d11d79059a5c6c972f1deb4d02c4d27cd547f558972111cc90ba2a13ec8ecc69","locale":"zh-CN","locale_documentation_path":"docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md","locale_guide_sha256":"9c1c448598d3095356e794f6f97e865b1ec0b0f1a23f12ca367b43d74dab28de","node_mappings":[{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","locale_fragment_sha256":"9c6c5140e4bfcb8ebd45711088b3b6450761a12772bb89dbb8963e1e41fd53a3","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-002","locale_fragment_sha256":"081e16ace5e4962f4a8adac40cde1bc09f33b875a0f16743c1fc954074d103a8","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-003","locale_fragment_sha256":"34749f197db660ca1b051244cbc12a279a67657faf8d9c92cc173145c6cf4330","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","locale_fragment_sha256":"6133193bdd923454f44432b587d488f81dd9bd2e06fdfb46ccb1585e6af1d7e7","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","locale_fragment_sha256":"2e9df3d1fdc3862acb3ae2c4edd25bb671dd995f71bf53cdf16e7d449d0f8df0","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","locale_fragment_sha256":"e67c5a99ba142a566e5e785aeed4a4fbfbfd9e6134de2b98255ae1bc59807560","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","locale_fragment_sha256":"97752e6e98ab4912f47e4eab99a7f10ad7e042e4ee2d39386449455aa00dba00","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","locale_fragment_sha256":"ab9c3d8dba530d9d95552961d916d738edba64f63bebcc97329b7c485d225e02","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","locale_fragment_sha256":"ddeefde1c971189455679e5e5d6147c77025c72fbfc98618a4cc498dedc55d4b","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","locale_fragment_sha256":"a550e175908eaf22ef42c89d4fab22d69df6f37eae6adeb144a6e25aeafbb561","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","locale_fragment_sha256":"749632d4e441d0e8e53bd9f6439a5b34a70453df75d2bb0f02e2d090ecb83f89","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","locale_fragment_sha256":"e098c5ec1524973eaece28aea9587c6074b644b852372a74391e5db45a89bc5d","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","locale_fragment_sha256":"6f6299e1a5761ca2e508e1d295dcd3d8b6e9965d8802e689f2ab91389a050737","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/5"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","locale_fragment_sha256":"66665ac745eae5dc6af6217d4f795caab5823da85367e9f37305d21e87ad6b3a","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/6"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","locale_fragment_sha256":"5044afb7be6c4234cbc31e5bfd6f5004f1666387197b4ce947f8cacb5ffd26ca","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/7"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-016","locale_fragment_sha256":"343313f791a6c2ec6720934a12d1da755e3f1d601b01f7e0d3e05faaba5f1f1b","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/8"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","locale_fragment_sha256":"c4e8045895e0e3043f2b84f47f8dfbc263924ef17efb2165a4fdc7dc9900968d","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/9"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","locale_fragment_sha256":"cf5ee15685d95dcea357ecac7111e161d88be78556508dfdec40f42ee310ca25","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/10"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","locale_fragment_sha256":"a3ca326a93024d94932fdf7a1872c9849199a34d23dab62835ca38b81a561bf3","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/11"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","locale_fragment_sha256":"8509cbdf3a32c6ca2c750de69581de98b1f3a3cfbeeb5a51803de915386faea5","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","locale_fragment_sha256":"f8294f96b596da85704483e27e17966aa48ef1f9cf511df2c79b9c10788e6557","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","locale_fragment_sha256":"c6902a3e48abf5d8f29b790d6bf4079b514cfaa7758279ced233531d8aa7a637","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","locale_fragment_sha256":"3fdd4d5b9be1aa09c5679630190fda3ac6e4359c3aa2fd1fd01dbe8bf7eb7352","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","locale_fragment_sha256":"d850886e848c21a3d44aad468f0e78ecd913d8171d1c0a84762d34c1e70b2356","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-025","locale_fragment_sha256":"b1dc635faaf6a03592df218d754babbf39dede22e0f338b5892f77b7770e421e","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","locale_fragment_sha256":"7988d778a27e82c75dcbb34ffc21e5dd09a64e1624a5484960b9e8c314910239","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","locale_fragment_sha256":"c71c613b68a6d8715ede544555072059a6da4c9a7c99e4d2c62a9d13faffc95c","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","locale_fragment_sha256":"f4bc14df6a7dd9b8abaa1a36fbd92d566f96ef4f3ad8f9d5c7fc4765bbbc9e0d","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","locale_fragment_sha256":"157f7e7b46eabd884734089a3814e73159fadff8fedcc30ae9296f67d8e95a9e","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","locale_fragment_sha256":"d5ea9c9f937016069c3e01e05391cc2a9270c3f2e42537c01c80aeac074bea9c","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/4"}],"protected_literals":["0","001","1","1111","12","127","128","16","2","255","256","3","32","4","6","64","7","8192","A","ASL","AbortBundleSharedGenerationsForBundle","B","B.ASSEMBLE","B.SUBVIEW","BeginBundleSharedGenerationProbe","BundleSharedGenerationCapacity","BundleSharedSubviewLegal","CELL","CommitBundleSharedGenerationCandidateRange","Fault_TileLegality","GPR","GPR[RegSrc] + uimm11","ID","INIT","LAST","MaterializeBundleSharedSubviewForPE","NDF","PE","PTO-B-ASSEMBLE-SHARED-GENERATION-001","RestoreBundleSharedGenerationProbe","TIMG2COL","TLOAD","TLSU","TMOV","ValidateBundleSharedGeneration","ValidateBundleSharedGenerationRange","_SharedGenerations","_SharedTiles","parent_size_code"],"protected_literals_sha256":"2cc96e3ac658ff48c6d1a22360d9b783bed3c04dcdf5a2480e9bd490654cd7ca","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"} +{"block_mappings":[{"english_block_id":"block-model-operands-shared-generation-purpose","locale_block_id":"block-model-operands-shared-generation-purpose","locale_fragment_sha256":"6021e8599d34fdd9ee8a907d5126dde4aaed3c530baede6a10f964167724c445"},{"english_block_id":"block-model-operands-shared-generation-concepts","locale_block_id":"block-model-operands-shared-generation-concepts","locale_fragment_sha256":"56b9cb602e01be235799059a4ff26c19c0c9b70f634d11cc2de106da21abebd0"},{"english_block_id":"block-model-operands-shared-generation-rules","locale_block_id":"block-model-operands-shared-generation-rules","locale_fragment_sha256":"90a4d7fb0ee1f7f9e6539de8ba7fd1178fc273272557b4300d4fee08aca59daa"},{"english_block_id":"block-model-operands-shared-generation-boundaries","locale_block_id":"block-model-operands-shared-generation-boundaries","locale_fragment_sha256":"f19a589a41c190a689abc51286a9b290f0415e199b5a72d004e7a781b03266f3"},{"english_block_id":"block-model-operands-shared-generation-example","locale_block_id":"block-model-operands-shared-generation-example","locale_fragment_sha256":"cad915ef48015b6261f20c18679c648d17f19cfe8f28ff4fb17faee274729589"},{"english_block_id":"block-model-operands-shared-generation-related","locale_block_id":"block-model-operands-shared-generation-related","locale_fragment_sha256":"c7b4f156f83657b69a4aa01ce56e330eccb030c89567e297a699ee662cb9e960"}],"claim_mappings":[{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/5"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/6"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/7"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/8"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/9"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/10"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/11"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/12"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/4"}],"english_block_ids":["block-model-operands-shared-generation-purpose","block-model-operands-shared-generation-concepts","block-model-operands-shared-generation-rules","block-model-operands-shared-generation-boundaries","block-model-operands-shared-generation-example","block-model-operands-shared-generation-related"],"english_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-CLAIM-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024"],"english_node_ids":["PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-039","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-040","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-041","PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030"],"english_unit_shard_sha256":"7d6f9963910b03d83e0c169e0f2667412473c9c81116e4e107436efced394e51","locale":"zh-CN","locale_documentation_path":"docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/operands/shared-generation.md","locale_guide_sha256":"bb5259bd07df6ed021cf996e5c914701bf6b434c84b2518e8e07258c727f55dd","node_mappings":[{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-001","locale_fragment_sha256":"9c6c5140e4bfcb8ebd45711088b3b6450761a12772bb89dbb8963e1e41fd53a3","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-032","locale_fragment_sha256":"f9b2733ac8f4eaf68ee30de575c0c0dad70de40e2f545301a44ebb119e76bb87","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-033","locale_fragment_sha256":"185532321e5f36e5a76c15278366f5177e0b14be4e19c848cbbd871882e9dfa9","locale_node_id":"block-model-operands-shared-generation-purpose:/blocks/0/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-004","locale_fragment_sha256":"6133193bdd923454f44432b587d488f81dd9bd2e06fdfb46ccb1585e6af1d7e7","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-034","locale_fragment_sha256":"6a239002db81c3950b2e9eb9482c1d7529305e6ef7db7217831e3e0629b873b4","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-006","locale_fragment_sha256":"e67c5a99ba142a566e5e785aeed4a4fbfbfd9e6134de2b98255ae1bc59807560","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-007","locale_fragment_sha256":"97752e6e98ab4912f47e4eab99a7f10ad7e042e4ee2d39386449455aa00dba00","locale_node_id":"block-model-operands-shared-generation-concepts:/blocks/1/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-008","locale_fragment_sha256":"ab9c3d8dba530d9d95552961d916d738edba64f63bebcc97329b7c485d225e02","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-009","locale_fragment_sha256":"ddeefde1c971189455679e5e5d6147c77025c72fbfc98618a4cc498dedc55d4b","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-010","locale_fragment_sha256":"a550e175908eaf22ef42c89d4fab22d69df6f37eae6adeb144a6e25aeafbb561","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-011","locale_fragment_sha256":"749632d4e441d0e8e53bd9f6439a5b34a70453df75d2bb0f02e2d090ecb83f89","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-012","locale_fragment_sha256":"e098c5ec1524973eaece28aea9587c6074b644b852372a74391e5db45a89bc5d","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-013","locale_fragment_sha256":"6f6299e1a5761ca2e508e1d295dcd3d8b6e9965d8802e689f2ab91389a050737","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/5"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-014","locale_fragment_sha256":"66665ac745eae5dc6af6217d4f795caab5823da85367e9f37305d21e87ad6b3a","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/6"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-035","locale_fragment_sha256":"87d26c23b4d3bb5f081950c34f09a41ad8736ad2d65d3246d5b0fbe17295dd0d","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/7"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-036","locale_fragment_sha256":"9bc0345a03e94b88b3289c4ca333c80c6af5b5f3ab835632e5ca8e9510d5116a","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/8"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-017","locale_fragment_sha256":"c4e8045895e0e3043f2b84f47f8dfbc263924ef17efb2165a4fdc7dc9900968d","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/9"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-018","locale_fragment_sha256":"cf5ee15685d95dcea357ecac7111e161d88be78556508dfdec40f42ee310ca25","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/10"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-037","locale_fragment_sha256":"eb278388cdf944d858c2717518c152234d69f4ede531e44258f00cae6b21ab45","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/11"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-038","locale_fragment_sha256":"69089a0248bcb4984d01dc780d02b68f54e1a812e996ea87e74707d720061aa9","locale_node_id":"block-model-operands-shared-generation-rules:/blocks/2/nodes/12"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-020","locale_fragment_sha256":"8509cbdf3a32c6ca2c750de69581de98b1f3a3cfbeeb5a51803de915386faea5","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-021","locale_fragment_sha256":"f8294f96b596da85704483e27e17966aa48ef1f9cf511df2c79b9c10788e6557","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-039","locale_fragment_sha256":"b904837bc5ee537d9d42ade5f62a5584ef6fbe1aeb22bb17dfb74be709691b34","locale_node_id":"block-model-operands-shared-generation-boundaries:/blocks/3/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-023","locale_fragment_sha256":"3fdd4d5b9be1aa09c5679630190fda3ac6e4359c3aa2fd1fd01dbe8bf7eb7352","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-024","locale_fragment_sha256":"d850886e848c21a3d44aad468f0e78ecd913d8171d1c0a84762d34c1e70b2356","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-040","locale_fragment_sha256":"755015b58b3ae18db434ec7479d319a010673f24cc9008465f58b42d32993d66","locale_node_id":"block-model-operands-shared-generation-example:/blocks/4/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-026","locale_fragment_sha256":"7988d778a27e82c75dcbb34ffc21e5dd09a64e1624a5484960b9e8c314910239","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-027","locale_fragment_sha256":"c71c613b68a6d8715ede544555072059a6da4c9a7c99e4d2c62a9d13faffc95c","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-028","locale_fragment_sha256":"f4bc14df6a7dd9b8abaa1a36fbd92d566f96ef4f3ad8f9d5c7fc4765bbbc9e0d","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-041","locale_fragment_sha256":"94fa7352a99ebbdd0a1d34f705b883309ad3975094390c9eee506ffee16e01a4","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-030","locale_fragment_sha256":"d5ea9c9f937016069c3e01e05391cc2a9270c3f2e42537c01c80aeac074bea9c","locale_node_id":"block-model-operands-shared-generation-related:/blocks/5/nodes/4"}],"protected_literals":["0","001","009","1","1111","12","128","19","2","3","32","4","512","8192","A","ASL","AbortBundleSharedGenerationsForBundle","B.ASSEMBLE","BundleSharedGenerationCapacity","BundleSharedSubviewLegal","CELL","CommitBundleSharedGenerationCandidateRange","GPR","GPR[RegSrc] + uimm11","ID","INIT","INIT_LAST","LAST","MaterializeBundleSharedSubviewForPE","NDF","PE","PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009","PTO-B-ASSEMBLE-SHARED-GENERATION-001","TIMG2COL","TLOAD","TLSU","TMOV","TPC","ValidateBundleSharedGenerationRange","_SharedGenerations","_SharedTiles","parent_size_code","pe_mask"],"protected_literals_sha256":"e3c020a42d6739af7023f6473df5a627a2c1c82ea6cb63b152f3f75a5a26f8c1","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json index f7304df79..a2847372d 100644 --- a/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/block/PTO-BLOCK-MODEL-STATE-SHARED-GENERATION.json @@ -1 +1 @@ -{"block_mappings":[{"english_block_id":"block-model-state-shared-generation-state-purpose","locale_block_id":"block-model-state-shared-generation-state-purpose","locale_fragment_sha256":"3388227cf6303e120e06cbe26431b6d66d7d5ab6fbe2db021626161f88d7ce0d"},{"english_block_id":"block-model-state-shared-generation-state-concepts","locale_block_id":"block-model-state-shared-generation-state-concepts","locale_fragment_sha256":"6f75244b6f23b3f93f3b463cb6b9820186dd7c2e114b0bc7c259d03446faa383"},{"english_block_id":"block-model-state-shared-generation-state-rules","locale_block_id":"block-model-state-shared-generation-state-rules","locale_fragment_sha256":"bfd586fef321354675a944b69328d3cef8663a4e5ac29c40b6f80a6ad2073411"},{"english_block_id":"block-model-state-shared-generation-state-boundaries","locale_block_id":"block-model-state-shared-generation-state-boundaries","locale_fragment_sha256":"51a6dca43e8e8f198a82ac693c47ec2e2cde487d757edb2c22e199c73897eb8c"},{"english_block_id":"block-model-state-shared-generation-state-example","locale_block_id":"block-model-state-shared-generation-state-example","locale_fragment_sha256":"07e4dee5b0dbf8fcc40999dd80ddd9d67b378e919d0c8a649f3644e693363a2d"},{"english_block_id":"block-model-state-shared-generation-state-related","locale_block_id":"block-model-state-shared-generation-state-related","locale_fragment_sha256":"af0f61bf8338925fc2ad94dcd83c02da0eb25be67d21e187190860d526e02137"}],"claim_mappings":[{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/5"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/6"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/7"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/4"}],"english_block_ids":["block-model-state-shared-generation-state-purpose","block-model-state-shared-generation-state-concepts","block-model-state-shared-generation-state-rules","block-model-state-shared-generation-state-boundaries","block-model-state-shared-generation-state-example","block-model-state-shared-generation-state-related"],"english_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020"],"english_node_ids":["PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-013","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-014","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-017","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-021","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026"],"english_unit_shard_sha256":"e311089e993afe48e4f948b5a15a2dbf591504038143570d3c4208f48aa0d300","locale":"zh-CN","locale_documentation_path":"docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md","locale_guide_sha256":"032f129e5db8a47dea75a650f9e1d7daf7bc2c04494ed04f245f3e20c8689b5d","node_mappings":[{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","locale_fragment_sha256":"9c6c5140e4bfcb8ebd45711088b3b6450761a12772bb89dbb8963e1e41fd53a3","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-002","locale_fragment_sha256":"8dfc224b8d598bdccaa6ae73df10ce5cd86feb80fa3777ed4dcf1aa35f7084de","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","locale_fragment_sha256":"6133193bdd923454f44432b587d488f81dd9bd2e06fdfb46ccb1585e6af1d7e7","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","locale_fragment_sha256":"60b3190d66f6f93fca924744fa2c009281e9371cd47e76013d789782bc71b4f1","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","locale_fragment_sha256":"a8f7c5c57eb5442abee2a8d530fc82443b7a724ac190a6f03df9fd7c2a74b53e","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-006","locale_fragment_sha256":"7df530dc64af6af1d31e7cdb87a063b0d6b93cd09fadeb6a29c956cfb0ea1b74","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-007","locale_fragment_sha256":"c02908537b8569927c6e131e280511664ceaaa7463e9443078b375fc0603e56c","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","locale_fragment_sha256":"3070b77cafd584c3ce4a5635324bacbb19c657b7e4d3508124f538a7056a3775","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/5"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","locale_fragment_sha256":"9f8748e34d2eae469a601880ef201211bab9b1b37fbe53f216c8acac473c5b0c","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/6"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","locale_fragment_sha256":"dfad6fedb4dd75500583d6044a2d3cb27016933f289ec4d71b58c6bf5bbc17d4","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/7"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","locale_fragment_sha256":"ab9c3d8dba530d9d95552961d916d738edba64f63bebcc97329b7c485d225e02","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-012","locale_fragment_sha256":"b95bd7d304c39fb61b451ea74be81f4500a58ffeae93c401d8c2e81e51298e61","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-013","locale_fragment_sha256":"e3be1a06c3e256b044fb4f6ab8a54cbfb60ae00eeba271248131b9696e1eec36","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-014","locale_fragment_sha256":"147faabd47dbdb090483121524e9d258e3d16fce21e254cc2e549cbb103f2e08","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","locale_fragment_sha256":"5c647967b5509aa5e0c428f6e2ed4a77bcc3b2f82417d0bd619c12a5ed18562d","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","locale_fragment_sha256":"8509cbdf3a32c6ca2c750de69581de98b1f3a3cfbeeb5a51803de915386faea5","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-017","locale_fragment_sha256":"47fa8c38b0126f9f5ddb1283debcfafe1f9d3e2fefa2d94fcad37bbc1887266c","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-018","locale_fragment_sha256":"7fda701a4462f744ef06a3469a6ff0d60264feacc1abfdf7a5f3576a0cad8476","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","locale_fragment_sha256":"3fdd4d5b9be1aa09c5679630190fda3ac6e4359c3aa2fd1fd01dbe8bf7eb7352","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","locale_fragment_sha256":"d850886e848c21a3d44aad468f0e78ecd913d8171d1c0a84762d34c1e70b2356","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-021","locale_fragment_sha256":"95adadf5458f554509916b2c53d0060581fccfc576b651d61dc88f352f7bb39e","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","locale_fragment_sha256":"7988d778a27e82c75dcbb34ffc21e5dd09a64e1624a5484960b9e8c314910239","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-023","locale_fragment_sha256":"dfb3da9d71bc9a4bd7e30ea6b4344ea2f19b44ded8f7e66553816dd1bdf5d627","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","locale_fragment_sha256":"a1bb246f620b1ed1dd6d8352071c80a4d6fb382e01480e70835f1ce455e571dc","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-025","locale_fragment_sha256":"c759d1798dd8c1f757beff81d50ecfbe2733dfe259fa4c15d4307c6994e05a6c","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","locale_fragment_sha256":"d5ea9c9f937016069c3e01e05391cc2a9270c3f2e42537c01c80aeac074bea9c","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/4"}],"protected_literals":["001","3","A","ASL","AbortBundleSharedGeneration(id)","B.ASSEMBLE","BundleSharedGenerationOpen(id)","ClearBundleHeaderState","ClearBundleSharedGenerationState(id)","ID","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO_SHARED_TILE_COUNT","ResetBundleSharedGenerationState","S","_SharedGenerations","arrived_participants","closed","covered_cells","last_seen","open","published","ready_cells","working_initialized_mask","working_tile","working_valid"],"protected_literals_sha256":"1f902c0129a041d8e2c13dad836237215f81c24199a0e566cb865763b71ef9e0","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"} +{"block_mappings":[{"english_block_id":"block-model-state-shared-generation-state-purpose","locale_block_id":"block-model-state-shared-generation-state-purpose","locale_fragment_sha256":"0cfde543e304b1829e15f26aa8a9123d3d9aee16acc49126e8bfbfa9d74b5d2a"},{"english_block_id":"block-model-state-shared-generation-state-concepts","locale_block_id":"block-model-state-shared-generation-state-concepts","locale_fragment_sha256":"8d66ddf839564fcd93befaa801a7c7b742baabac43d1dc965f673762943d16d1"},{"english_block_id":"block-model-state-shared-generation-state-rules","locale_block_id":"block-model-state-shared-generation-state-rules","locale_fragment_sha256":"231a2076ed58626231745143ecf23c768d265ddc75cd74deee35c3d83db25109"},{"english_block_id":"block-model-state-shared-generation-state-boundaries","locale_block_id":"block-model-state-shared-generation-state-boundaries","locale_fragment_sha256":"9715178145079824ba2cdf5b4189370e44663882e0e0f1350b61370900d47c1f"},{"english_block_id":"block-model-state-shared-generation-state-example","locale_block_id":"block-model-state-shared-generation-state-example","locale_fragment_sha256":"84249721249d8f5b5e7434388a94071d95d45cb6ebb6013526c74b14e1a0b5a7"},{"english_block_id":"block-model-state-shared-generation-state-related","locale_block_id":"block-model-state-shared-generation-state-related","locale_fragment_sha256":"68f66e6fcf896992aacff1b1e637917524c6d34eeee50a5f943369726dc83db3"}],"claim_mappings":[{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/5"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/6"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/7"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/4"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/5"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/1"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/2"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/3"},{"english_claim_id":"PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/4"}],"english_block_ids":["block-model-state-shared-generation-state-purpose","block-model-state-shared-generation-state-concepts","block-model-state-shared-generation-state-rules","block-model-state-shared-generation-state-boundaries","block-model-state-shared-generation-state-example","block-model-state-shared-generation-state-related"],"english_claim_ids":["PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-002","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-023","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-006","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-007","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-025","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-026","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-027","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-012","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-018","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-033","PTO-READER-CLAIM-BLOCK-MODEL-STATE-SHARED-GENERATION-020"],"english_node_ids":["PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-028","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-029","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-030","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-031","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-032","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-033","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-034","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-035","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-036","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-037","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-038","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-039","PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026"],"english_unit_shard_sha256":"941e83b6705a635e60e16b217c88e3eb9834bcae2763084b40d8d4577d920585","locale":"zh-CN","locale_documentation_path":"docs/site/i18n/zh-CN/docusaurus-plugin-content-docs-reference/current/block/model/state/shared-generation-state.md","locale_guide_sha256":"582d6be13faff8f1b17b89e5825e564a8821b0117416bfb6a29e334ee5165a34","node_mappings":[{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-001","locale_fragment_sha256":"9c6c5140e4bfcb8ebd45711088b3b6450761a12772bb89dbb8963e1e41fd53a3","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-028","locale_fragment_sha256":"ab8f2a5478c74c53361f0c38c2f223ee21e90f0d7d4c7543133db12386138f81","locale_node_id":"block-model-state-shared-generation-state-purpose:/blocks/0/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-003","locale_fragment_sha256":"6133193bdd923454f44432b587d488f81dd9bd2e06fdfb46ccb1585e6af1d7e7","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-004","locale_fragment_sha256":"60b3190d66f6f93fca924744fa2c009281e9371cd47e76013d789782bc71b4f1","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-005","locale_fragment_sha256":"a8f7c5c57eb5442abee2a8d530fc82443b7a724ac190a6f03df9fd7c2a74b53e","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-029","locale_fragment_sha256":"3e970675fac7e0f4cfa38e983472b9cb094ff7fd1febd6a3ce2bc4b433930c33","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-030","locale_fragment_sha256":"51ebce65a5f1c6db083c8022f840a21f60d10b9c6eb11eca6117bf777ae9fb1f","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-008","locale_fragment_sha256":"3070b77cafd584c3ce4a5635324bacbb19c657b7e4d3508124f538a7056a3775","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/5"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-009","locale_fragment_sha256":"9f8748e34d2eae469a601880ef201211bab9b1b37fbe53f216c8acac473c5b0c","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/6"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-010","locale_fragment_sha256":"dfad6fedb4dd75500583d6044a2d3cb27016933f289ec4d71b58c6bf5bbc17d4","locale_node_id":"block-model-state-shared-generation-state-concepts:/blocks/1/nodes/7"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-011","locale_fragment_sha256":"ab9c3d8dba530d9d95552961d916d738edba64f63bebcc97329b7c485d225e02","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-031","locale_fragment_sha256":"af1695c14d69d92a7fc36b8bf4b9327686e81f7d428d6baba01e39ed08fb6f30","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-032","locale_fragment_sha256":"b2b9faba780811d7338af935cb31ac16aa87b6b11c3cd63ac7da32b971630355","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-033","locale_fragment_sha256":"e88ec22171f4a7fc43e0699514858db8fe632a6c44952f689a8ab60680abe656","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-015","locale_fragment_sha256":"5c647967b5509aa5e0c428f6e2ed4a77bcc3b2f82417d0bd619c12a5ed18562d","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/4"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-034","locale_fragment_sha256":"95da9361ddb04196001dfe8fb62e53dffadccf395c57e09bb83c3036448e9f3a","locale_node_id":"block-model-state-shared-generation-state-rules:/blocks/2/nodes/5"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-016","locale_fragment_sha256":"8509cbdf3a32c6ca2c750de69581de98b1f3a3cfbeeb5a51803de915386faea5","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-035","locale_fragment_sha256":"5a8c61ae247689b63b4eb964e5230a135f9289143680b632a48517e30c5770bd","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-036","locale_fragment_sha256":"0ec72ea480f9953fad9bbcf8d241679bf53e2e36df97d74cfe0f9c683c478307","locale_node_id":"block-model-state-shared-generation-state-boundaries:/blocks/3/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-019","locale_fragment_sha256":"3fdd4d5b9be1aa09c5679630190fda3ac6e4359c3aa2fd1fd01dbe8bf7eb7352","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-020","locale_fragment_sha256":"d850886e848c21a3d44aad468f0e78ecd913d8171d1c0a84762d34c1e70b2356","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-037","locale_fragment_sha256":"5d1d86717e84272bbee89de01063a63f67d75182f97c9059084ff1fd0982ce09","locale_node_id":"block-model-state-shared-generation-state-example:/blocks/4/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-022","locale_fragment_sha256":"7988d778a27e82c75dcbb34ffc21e5dd09a64e1624a5484960b9e8c314910239","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/0"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-038","locale_fragment_sha256":"e6e6d2435a3fd4e01cabde32e9debb31933a8176397993e7953831e16a0a98c2","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/1"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-024","locale_fragment_sha256":"a1bb246f620b1ed1dd6d8352071c80a4d6fb382e01480e70835f1ce455e571dc","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/2"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-039","locale_fragment_sha256":"c88782172d3c8ce28a826bbe62f280c6920be6f15c28a3219bced670ceb8ce0f","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/3"},{"english_node_id":"PTO-READER-NODE-BLOCK-MODEL-STATE-SHARED-GENERATION-026","locale_fragment_sha256":"d5ea9c9f937016069c3e01e05391cc2a9270c3f2e42537c01c80aeac074bea9c","locale_node_id":"block-model-state-shared-generation-state-related:/blocks/5/nodes/4"}],"protected_literals":["001","19","A","ASL","AbortBundleSharedGeneration(id)","B.ASSEMBLE","BundleSharedGenerationOpen(id)","ClearBundleHeaderState","ClearBundleSharedGenerationState(id)","ID","PE","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO_SHARED_TILE_COUNT","ResetBundleSharedGenerationState","RetirePEOwnedSharedGenerationsForInvocation","S","_SharedGenerations","arrived_participants","closed","covered_cells","last_seen","next_operation_ordinal","open","published","ready_cells","released_participants","working_initialized_mask","working_tile","working_valid"],"protected_literals_sha256":"3ac01ff04a1759c778fb96dcad251952c825b3fa6a16eb5a490adfa6ec7c8410","schema_version":1,"status":"complete","surface":"block","unit_id":"PTO-BLOCK-MODEL-STATE-SHARED-GENERATION"} diff --git a/spec/evidence/mnemonic-descriptions/translations/zh-CN/scalar/PTO-SCALAR-SYNC-CORE.json b/spec/evidence/mnemonic-descriptions/translations/zh-CN/scalar/PTO-SCALAR-SYNC-CORE.json new file mode 100644 index 000000000..bc498c62d --- /dev/null +++ b/spec/evidence/mnemonic-descriptions/translations/zh-CN/scalar/PTO-SCALAR-SYNC-CORE.json @@ -0,0 +1 @@ +{"block_mappings":[],"claim_mappings":[],"english_block_ids":[],"english_claim_ids":[],"english_node_ids":[],"english_unit_shard_sha256":"29248f303e5f47f199d3fc135d26e8376db87ba0449a5e783ea664f98a583805","locale":"zh-CN","locale_documentation_path":null,"locale_guide_sha256":null,"node_mappings":[],"protected_literals":[],"protected_literals_sha256":"37517e5f3dc66819f61f5a7bb8ace1921282415f10551d2defa5c3eb0985b570","schema_version":1,"status":"pending","surface":"scalar","unit_id":"PTO-SCALAR-SYNC-CORE"} diff --git a/spec/evidence/pto-isa-0587-abi-vectors.json b/spec/evidence/pto-isa-0587-abi-vectors.json index 1c5fb7fb4..b44e0e551 100644 --- a/spec/evidence/pto-isa-0587-abi-vectors.json +++ b/spec/evidence/pto-isa-0587-abi-vectors.json @@ -15,12 +15,12 @@ "inputs": [ { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" } ], @@ -32,7 +32,7 @@ "inputs": [ { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, null @@ -46,12 +46,12 @@ "inputs": [ { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.0" } ], @@ -64,12 +64,12 @@ "inputs": [ { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, { "encoding_abi": "pto-isa-0.58.0-legacy-selector-v0", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" } ], @@ -82,7 +82,7 @@ "inputs": [ { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, { @@ -99,12 +99,12 @@ "id": "elf-load-match", "image": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "implementation": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "stage": "load" @@ -115,7 +115,7 @@ "image": null, "implementation": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "reason": "missing-identity", @@ -131,7 +131,7 @@ }, "implementation": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "reason": "encoding-hash-mismatch", @@ -142,12 +142,12 @@ "id": "bare-metal-manifest-match", "image": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "implementation": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "stage": "bare-metal-load" @@ -157,12 +157,12 @@ "id": "bare-metal-manifest-mismatch", "image": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.0" }, "implementation": { "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7" }, "reason": "release-mismatch", @@ -187,7 +187,7 @@ "section": ".note.pto.isa" }, "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "release": "0.58.7", "schema_version": 1 } diff --git a/spec/evidence/pto-isa-0587-encoding-totality.json b/spec/evidence/pto-isa-0587-encoding-totality.json index 4eb8c1b8d..c4160d123 100644 --- a/spec/evidence/pto-isa-0587-encoding-totality.json +++ b/spec/evidence/pto-isa-0587-encoding-totality.json @@ -1,6 +1,6 @@ { "contract_status_counts": { - "reviewed-complete": 119 + "reviewed-complete": 118 }, "cube": { "function_map": { @@ -55,12 +55,12 @@ "unknown_or_reserved_selector": "TileExecution_Rejected" }, "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "family_counts": { "CUBE": 12, - "TEPL": 79, + "TEPL": 78, "TLSU": 28, - "total": 119 + "total": 118 }, "negative_raw_vectors": [ { @@ -367,7 +367,6 @@ 11, 12, 13, - 14, 26, 27 ], @@ -455,18 +454,18 @@ }, "mode_counts": { "0": 26, - "1": 16, + "1": 15, "2": 28, "3": 9 }, "raw_space": { - "accepted": 1975, - "classification_sha256": "a4969995804c3381531c6b0d2363bb2ad6a1daa6fb56709a7f2aa429be420e51", + "accepted": 1950, + "classification_sha256": "d35f1e36066d7de8044e83d2460162eba7025251f7fed3235c74eb832ef1ff82", "illegal": 128, - "reserved": 1993, + "reserved": 2018, "total": 4096 }, - "selector_count": 79 + "selector_count": 78 }, "tlsu": { "function_map": { diff --git a/spec/evidence/public-source-reconciliation.json b/spec/evidence/public-source-reconciliation.json index f972ed70b..abb27eddd 100644 --- a/spec/evidence/public-source-reconciliation.json +++ b/spec/evidence/public-source-reconciliation.json @@ -305,8 +305,8 @@ }, "summary": { "scalar_forms": { - "count": 466, - "closed": 466, + "count": 467, + "closed": 467, "open": 0 }, "tile_operations": { @@ -3590,6 +3590,13 @@ "semantic_family": "ALU", "closure_status": "closed", "public_layer": "shared-scalar-source-layer" + }, + { + "form_id": "sync_core_32_0330a02b7c32", + "mnemonic": "SYNC.CORE", + "semantic_family": "SYS", + "closure_status": "closed", + "public_layer": "scalar-control-or-lowering-layer" } ], "tile_operations": [ diff --git a/spec/evidence/release-gate-readiness.json b/spec/evidence/release-gate-readiness.json index 0119e434c..dd12da913 100644 --- a/spec/evidence/release-gate-readiness.json +++ b/spec/evidence/release-gate-readiness.json @@ -160,7 +160,7 @@ "scripts/check-active-paths": "81cb71759976e6cdd9c337ed2640cf388391d825e6f64de82dcc831b5752666b", "scripts/check-asl-layout": "5283ef77e8650d607c537e29de06fb544add29be6b76caf6e431f1954301e39f", "scripts/check-asl-tests": "3a0ef89d06725179960c8a7cd3a319d71f18ef76c798e4863036c860cbab2189", - "scripts/check-binary-closure": "d160018d6b8450ae0042aeff595f0186db7f1e8e9c767515b67ec71dbf302274", + "scripts/check-binary-closure": "b6c267b71879f8b918b860b793214c70c583852ce1b97a411c9efaa6e8c1a208", "scripts/check-ndf": "288f430cfc09ce3b76fea16a8d02d7eb71f67fc199042b76742ecfed8d68ed0e", "scripts/check-pr": "356953dd2509ed512f57cf1924e64108e8855eaa5332b08a11d190077c85e973", "scripts/check-release-artifacts": "0b56313baaf97106f96b89f1f1aa7f42f2c9cb47a3b155bbad1d3b42c0ca7a2d", @@ -197,8 +197,8 @@ "scripts/setup-aslref": "85f1a33594bc74f1f8f53cf0234f39e06c4228e78b4e1dc85dece7110f10368b", "scripts/tile_taxonomy.py": "49385a4413b15eed33e87c20df0e2fb29e9b8171c68167dbea57cc813eb1f59d", "scripts/workflow_contract.py": "409df4d48033f9b0801b1452f74a9924aad0cfece9ae636f65855fd3c20b4bf4", - "spec/evidence/architecture-readiness.json": "c9e9345b3e32ac001e969ecd6c0ed406b579589d266320e916226bff0dc1abab", - "spec/evidence/release-traceability-readiness.json": "75e2d55b048c4acd56b0b4ff6586940e3570c3c51d93f38f450aca09af6f346d", + "spec/evidence/architecture-readiness.json": "f49a37405ff301fc41a647c667104bd95aee1b759611e6f53845df4ca90944fc", + "spec/evidence/release-traceability-readiness.json": "325c6a20db529ee1384c30677c960191fd92f750340a7831bbea3ffd0aea818f", "spec/release-inputs.json": "45cc1837dcd0f3d16b623a0eec1e4eff8eec5b96bd07fb35ccd943ef0f8ef897", "spec/release-selection.json": "f067939cb1629fa860d0cafba2296801285fe985d15f5d0e99ea73849fd00962", "spec/schemas/pto-release-selection.schema.json": "5e7b2abaed81613e587cb0cc5aff172538ee9644ffd9d490d4c1bbe8f1d8ae89", @@ -206,16 +206,16 @@ "spec/schemas/pto-spec-release-event-v2.schema.json": "292f7997630a0320bce42f6f9c3beae6651ba5d793f95150cdd2fd861603f207" }, "summary": { - "documentation_page_count": 905, - "executable_requirement_count": 669, + "documentation_page_count": 919, + "executable_requirement_count": 671, "gate_count": 12, - "mnemonic_count": 663, + "mnemonic_count": 665, "status": "ready-for-exact-head-verification", - "test_count": 4077, - "test_page_count": 41, + "test_count": 4197, + "test_page_count": 42, "test_page_size": 100, "uncovered_executable_requirement_count": 0, "uncovered_unit_count": 0, - "unit_count": 905 + "unit_count": 919 } } diff --git a/spec/evidence/release-traceability-readiness.json b/spec/evidence/release-traceability-readiness.json index 2593f441d..8e1a27658 100644 --- a/spec/evidence/release-traceability-readiness.json +++ b/spec/evidence/release-traceability-readiness.json @@ -115,6 +115,34 @@ "PTO-AVS-ARCH-OVERVIEW-ENCODING-OWNERSHIP-STATIC-001" ] }, + { + "executable": false, + "id": "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "owners": [ + "asl/arch/state/core-synchronization.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", + "PTO-AVS-ARCH-STATE-CORE-SYNCHRONIZATION-STATIC-001", + "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-TSTORE-UNDEF-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001", + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001" + ] + }, { "executable": false, "id": "PTO-ARCH-ENCODING-OWNERSHIP-001", @@ -188,6 +216,57 @@ "PTO-AVS-TILE-TLSU-BYTE-ROW-STRIDE-EXECUTION-005" ] }, + { + "executable": false, + "id": "PTO-ARCH-GM-OBLIGATIONS-001", + "owners": [ + "asl/arch/memory-model/gm-obligations.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-MEMORY-MODEL-GM-OBLIGATIONS-STATIC-001", + "PTO-AVS-BLOCK-TSTORE-MASK-001", + "PTO-AVS-BLOCK-TSTORE-UNDEF-001" + ] + }, + { + "executable": false, + "id": "PTO-ARCH-KERNEL-LIFECYCLE-001", + "owners": [ + "asl/arch/state/kernel-lifecycle.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003", + "PTO-AVS-ARCH-STATE-KERNEL-LIFECYCLE-STATIC-001", + "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-TSTORE-UNDEF-001", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001" + ] + }, { "executable": false, "id": "PTO-ARCH-MEMORY-MODEL-ATOMIC-001", @@ -213,10 +292,25 @@ "ADR-MEM-0011" ], "tests": [ + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002" ] }, + { + "executable": false, + "id": "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", + "owners": [ + "asl/arch/memory-model/ordering.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" + ] + }, { "executable": false, "id": "PTO-ARCH-MEMORY-MODEL-CONFLICT-001", @@ -257,7 +351,8 @@ ], "tests": [ "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001", - "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002" + "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001" ] }, { @@ -272,6 +367,7 @@ ], "tests": [ "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002" ] }, @@ -368,11 +464,17 @@ ], "readiness_subjects": [ "ADR-GOV-0013", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "tests": [ + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", - "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002" + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", + "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009" ] }, { @@ -417,6 +519,29 @@ "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001" ] }, + { + "executable": false, + "id": "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "owners": [ + "asl/arch/memory-model/fault-precision.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003", + "PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001", + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001" + ] + }, { "executable": false, "id": "PTO-ARCH-MEMORY-MODEL-VISIBILITY-001", @@ -431,6 +556,36 @@ "PTO-AVS-ARCH-MEMORY-MODEL-MEMORY-EVENTS-STATIC-001" ] }, + { + "executable": false, + "id": "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "owners": [ + "asl/arch/state/pe-execution-context.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", + "PTO-AVS-ARCH-STATE-PE-EXECUTION-CONTEXT-STATIC-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" + ] + }, { "executable": false, "id": "PTO-ARCH-STATE-CLOSURE-001", @@ -1058,17 +1213,44 @@ ], "readiness_subjects": [ "ADR-BLOCK-0016", - "ADR-CUBE-0014" + "ADR-CUBE-0014", + "ADR-SCALAR-0007" ], "tests": [ "PTO-AVS-BLOCK-ASSEMBLE-OUTPUT-STRUCTURE-001", "PTO-AVS-BLOCK-BSTART-TIMG2COL-SHARED-001", "PTO-AVS-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-STATIC-001", "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", "PTO-AVS-BLOCK-SHARED-EXPLICIT-RANGE-001", "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "PTO-AVS-BLOCK-SHARED-RANGE-FAULTS-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SUBVIEW-SHARED-001" ] }, @@ -1079,14 +1261,21 @@ "asl/block/model/operands/range-modifiers.asl" ], "readiness_subjects": [ - "ADR-BLOCK-0016" + "ADR-BLOCK-0016", + "ADR-SCALAR-0007" ], "tests": [ "PTO-AVS-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS-STATIC-001", "PTO-AVS-BLOCK-SHARED-STANDALONE-COMPAT-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", "PTO-AVS-BLOCK-TLOAD-SHARED-001" ] }, @@ -1098,12 +1287,15 @@ ], "readiness_subjects": [ "ADR-BLOCK-0016", - "ADR-MEM-0009" + "ADR-MEM-0009", + "ADR-SCALAR-0007" ], "tests": [ "PTO-AVS-BLOCK-ASSEMBLE-DYNAMIC-DOMAIN-002", "PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001", - "PTO-AVS-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS-STATIC-001" + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS-STATIC-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014" ] }, { @@ -1386,11 +1578,16 @@ ], "readiness_subjects": [ "ADR-CUBE-0014", - "ADR-GOV-0009" + "ADR-GOV-0009", + "ADR-SCALAR-0007" ], "tests": [ + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-TMATMUL-INACTIVE-SHARED-029", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-READINESS-012", "PTO-AVS-BLOCK-TMATMUL-SHARED-UNDEF-020", "PTO-AVS-BLOCK-TMATMUL-SHARED-WAIT-002", @@ -1771,6 +1968,7 @@ ], "tests": [ "PTO-AVS-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-STATIC-001", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", "PTO-AVS-BLOCK-TMATMUL-SHARED-SUBVIEW-033", "PTO-AVS-BLOCK-TMATMUL-SHARED-SUBVIEW-PREFLIGHT-032", "PTO-AVS-BLOCK-TMATMUL-SHARED-SUBVIEW-SINGLE-ROW-037" @@ -2322,6 +2520,7 @@ "tests": [ "PTO-AVS-BLOCK-GMOV-COLLECTIVE-001", "PTO-AVS-BLOCK-GMOV-PEER-001", + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-GMOV-READINESS-001", "PTO-AVS-BLOCK-GMOV-ZERO-001" ] @@ -2693,7 +2892,8 @@ "asl/block/model/dispatch/timg2col-schema.asl" ], "readiness_subjects": [ - "ADR-BLOCK-0018" + "ADR-BLOCK-0018", + "ADR-SCALAR-0007" ], "tests": [ "PTO-AVS-BLOCK-BSTART-TIMG2COL-SHARED-SINGLETON-PE2-001", @@ -2806,7 +3006,8 @@ ], "readiness_subjects": [ "ADR-BLOCK-0019", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "tests": [ "PTO-AVS-BLOCK-MODEL-DISPATCH-WEIGHT-SHARED-EXEC-STATIC-001", @@ -3656,6 +3857,7 @@ "PTO-AVS-BLOCK-TMATMUL-INACTIVE-LOCAL-027", "PTO-AVS-BLOCK-TMATMUL-INACTIVE-SHARED-029", "PTO-AVS-BLOCK-TMATMUL-INACTIVE-STRUCTURAL-028", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-TRANSPOSE-030" @@ -4137,7 +4339,9 @@ "ADR-MEM-0007", "ADR-MEM-0009" ], - "tests": [] + "tests": [ + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010" + ] }, { "executable": false, @@ -7738,6 +7942,7 @@ "readiness_subjects": [], "tests": [ "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SYS-FENCE-D-EXEC-001", "PTO-AVS-SYS-FENCE-D-PLACE-001", "PTO-AVS-SYS-FENCE-D-VISIBLE-001", @@ -13778,6 +13983,21 @@ "PTO-AVS-SCALAR-SWI-U-DECODE-001" ] }, + { + "executable": true, + "id": "PTO-INST-SCALAR-SYNC-CORE", + "owners": [ + "asl/scalar/sys/SYNC.CORE.asl" + ], + "readiness_subjects": [], + "tests": [ + "PTO-AVS-SCALAR-SYNC-CORE-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001", + "PTO-AVS-SYS-SYNC-CORE-EXEC-001", + "PTO-AVS-SYS-SYNC-CORE-PLACE-001" + ] + }, { "executable": true, "id": "PTO-INST-SCALAR-TLB-IA", @@ -15605,7 +15825,9 @@ "tests": [ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", - "PTO-AVS-TILE-TROWMAX-U16-DECODED-001" + "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001" ] }, { @@ -15620,7 +15842,9 @@ ], "tests": [ "PTO-AVS-TILE-TROWMIN-S8-001", - "PTO-AVS-TILE-TROWMIN-STATIC-001" + "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001" ] }, { @@ -15836,6 +16060,7 @@ ], "tests": [ "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "PTO-AVS-BLOCK-TSTORE-CUBE-002", "PTO-AVS-BLOCK-TSTORE-PACKED-001", @@ -16595,6 +16820,7 @@ "ADR-GOV-0001" ], "tests": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", "PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001", "PTO-AVS-ARCH-NEXT-INSTRUCTION-COMMAND-64-004", "PTO-AVS-ARCH-NEXT-INSTRUCTION-ILLEGAL-ENCODING-005", @@ -16604,7 +16830,8 @@ "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-48-003", "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-BODY-ENTRY-005", "PTO-AVS-ARCH-NEXT-INSTRUCTION-TRUNCATED-FETCH-001", - "PTO-AVS-ARCH-NEXT-INSTRUCTION-UNMAPPED-FETCH-001" + "PTO-AVS-ARCH-NEXT-INSTRUCTION-UNMAPPED-FETCH-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001" ] }, { @@ -16630,7 +16857,8 @@ "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-32-001", "PTO-AVS-ARCH-NEXT-INSTRUCTION-SCALAR-48-003", "PTO-AVS-ARCH-NEXT-INSTRUCTION-TRUNCATED-FETCH-001", - "PTO-AVS-ARCH-NEXT-INSTRUCTION-UNMAPPED-FETCH-001" + "PTO-AVS-ARCH-NEXT-INSTRUCTION-UNMAPPED-FETCH-001", + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001" ] }, { @@ -16693,6 +16921,7 @@ "asl/arch/programming-model/execution-context.asl" ], "readiness_subjects": [ + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0003", "ADR-STATE-0004", @@ -16702,7 +16931,8 @@ "tests": [ "PTO-AVS-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT-STATIC-001", "PTO-AVS-ARCH-QUEUE-READINESS-RECOVERY-001", - "PTO-AVS-ARCH-TEMPORARY-QUEUE-VALIDITY-001" + "PTO-AVS-ARCH-TEMPORARY-QUEUE-VALIDITY-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" ] }, { @@ -16713,6 +16943,7 @@ ], "readiness_subjects": [ "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-TILE-0001", "ADR-TILE-0002", @@ -17616,6 +17847,20 @@ ], "tests": [] }, + { + "executable": false, + "id": "PTO-SYNC-CORE-DECISION-BINDING-001", + "owners": [ + "asl/scalar/sys/SYNC.CORE.asl" + ], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "tests": [ + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001" + ] + }, { "executable": false, "id": "PTO-TABS-CONTRACT-001", @@ -18624,6 +18869,7 @@ "PTO-AVS-TILE-EXECUTION-MASK-SELECT-001", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", "PTO-AVS-TILE-EXECUTION-MASK-SNAPSHOT-001", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-GPR-MASK-EIGHT-BIT-001", "PTO-AVS-TILE-MODEL-LEGALITY-EXEC-MASK-SRC-SCHEMA-STATIC-001", "PTO-AVS-TILE-PREDICATE-CARRIERS-LOCAL64-001", @@ -18799,9 +19045,15 @@ "ADR-MEM-0007", "ADR-MEM-0008", "ADR-MEM-0009", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "tests": [ + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-TLOAD-16X16-STRIDE-003", "PTO-AVS-TILE-TLOAD-PARTIAL-001" @@ -19093,9 +19345,21 @@ "ADR-MEM-0002", "ADR-MEM-0006", "ADR-MEM-0007", + "ADR-SCALAR-0007", "ADR-TILE-0008" ], "tests": [ + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", "PTO-AVS-BLOCK-SOURCE-BACKING-DEST-001", "PTO-AVS-TILE-TMOV-DEFINED-001" ] @@ -19748,6 +20012,7 @@ "PTO-AVS-BLOCK-PREDICATE-DESTINATION-REUSE-002", "PTO-AVS-BLOCK-SELECT-MIXED-CARRIERS-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-PREDICATE-CARRIERS-GPR-SHAPE-002", "PTO-AVS-TILE-TSEL-CROSS-CARRIER-001", "PTO-AVS-TILE-TSEL-CROSS-CARRIER-ALIAS-001", @@ -20145,7 +20410,7 @@ "asl/arch/data-types/formats/tf32.asl": "1b1a14d0d609cc41a312e59df8621a0f3ac711a8589c5e99844aa80fb0885873", "asl/arch/data-types/fp19.asl": "3733d0d930df3f890b4aa5237dfface8f0cc2081f42244f45aae711435865fa6", "asl/arch/data-types/integer.asl": "608dae6aca9eb2ab5a396c8b73a7235e8065f9ab539dd066e6282fd634958bf4", - "asl/arch/data-types/memory-model.asl": "4ff0552a05f90dcc9442167370c2ac242f92bbb3999bcd97635045b73cdc8465", + "asl/arch/data-types/memory-model.asl": "b8472609df8e85562f7379bfb013d04a29b78e6987d9ce7b09390a6d38ffc8d4", "asl/arch/data-types/memory-operations.asl": "4c5b08dd7c47caa6b1917185886bd8ea6929a9bf00c2b8578b86ead04e110b71", "asl/arch/data-types/numeric-classification.asl": "1168da252c7dedaa6ff2c34b814c6a5cbd8d38320db36ea27b125a654ae51a84", "asl/arch/data-types/numeric-formats.asl": "8ee9de4f827345dc26721d216327705c976f361411430f543807960a9c73ad1a", @@ -20153,8 +20418,8 @@ "asl/arch/data-types/rounding.asl": "0050120f15047421e9da2836731c9ac5acd525e17f502117ef01290d09895daa", "asl/arch/data-types/system-registers.asl": "4493903781b924264641d185c2680758d7e96b700cbc915b4c6b5815c0a1e2d4", "asl/arch/data-types/tile-data-types.asl": "70ed87af56adda4d346a76eced16dbb5d80dd53e04b1212d11aeb9d6448f94e0", - "asl/arch/data-types/trap-context.asl": "aba39318d6277a1239966ba58d4db42b11afe3913376a6a78c65091121b8859d", - "asl/arch/dispatch/top-level.asl": "7d045e63b9125d8b4a5016057b42a2c95bd9d514485f10a4e16e57495ae4a937", + "asl/arch/data-types/trap-context.asl": "cf0361a5e1e262d15ad8ef5328f19528a7fcc781b4a575b703dc99e9647539b9", + "asl/arch/dispatch/top-level.asl": "f415e786390c7aa343b32b13ce761767df082ec8a031fb727112aba8a689956e", "asl/arch/features/extension-first-use.asl": "a93c85af7384b1330d0acef47ab21fc511ca36394c06cffe20ae3d48dfe164c2", "asl/arch/features/minmax.asl": "5e5f95621a7e1632b0013e444286fa954bff78754da68d9f49d01db5946ab5f3", "asl/arch/features/mx-formats.asl": "44639ab47cd2dec4c6a03231a07003e55835f42c9d58c622e05332e8bedfeb1d", @@ -20163,28 +20428,32 @@ "asl/arch/features/tile-allocation.asl": "731fc0920275aafae0a08324f6fccb286fef098fe5e924c4bafb4834017af6fd", "asl/arch/memory-model/address-space.asl": "38f51482e98372cf487b2f33f544ae9640e70f118e075b8f3285c5d6a10ebf52", "asl/arch/memory-model/atomicity.asl": "62f7e2c43e82c804a98665bf2410b8309d581d1ff401a7adcdb9b993e04ec5cb", - "asl/arch/memory-model/fault-precision.asl": "53c975358a173d5ba8b82247d503d3bb2670cafb4ebf63678d7b7bf9b385b243", + "asl/arch/memory-model/fault-precision.asl": "feb7b8d6239e4611ed341b208497a328b0f44fd336d9a3989095546360423223", "asl/arch/memory-model/global-memory-access.asl": "b52b8820dceab5f08c6784f0166c59a4c95e300c992f7b10f02a21b273723ac0", + "asl/arch/memory-model/gm-obligations.asl": "c21a2ee12b39de495447a4dd2e2e92f4b1d4f2a3929867c05ca492fa1f4465af", "asl/arch/memory-model/instruction-fetch.asl": "f9bf16659406ddc7cc4ae8ca050612d2c5fd6878d5dbc11ec9434467a9def162", - "asl/arch/memory-model/memory-events.asl": "7ed7aed6c0fe29ce37eae806783bb05e00dd9505fa32a5b67d6045e9def8f52a", - "asl/arch/memory-model/ordering.asl": "772a4d85f78e7a22f52a7669d5d63b44397f148504e7a3e9f93e97be72d1a50d", + "asl/arch/memory-model/memory-events.asl": "23d3194c48d44f8aea4db93194bfff6133dcafeb7c39ac814611024af24e2392", + "asl/arch/memory-model/ordering.asl": "dc33febbab97e67338b795595846491655479623d7ec82e57b07a3f414a92ad4", "asl/arch/overview/architecture.asl": "e1cfad2c51711b1c9f434e57a3da8e68c184ccb6876de5ec02309ef20e52d3ee", "asl/arch/overview/encoding-ownership.asl": "c966dc5c893b35cf6ce25ec303839f60c68f52d90bf2f5bdd74b5de115ea9083", "asl/arch/overview/instruction-classification.asl": "96caf76a14524690722a25b4ac82556cec0ab73beb4fb391c4ed2ef1b1824905", - "asl/arch/programming-model/core-pe-topology.asl": "2c987f6f6573d5da50a569f821dbddcd93ea428f408f59d148ebc5fd3b866447", - "asl/arch/programming-model/execution-context.asl": "0910c43db8c372ba9bb7bf67ebe0d80e6daffa87dd0b2c3e42f7ec48b809044e", + "asl/arch/programming-model/core-pe-topology.asl": "da295e6d0b163888ccc5fd813815c255453956125b9ac9ccced1b2f1227ffe7a", + "asl/arch/programming-model/execution-context.asl": "660233010c2ff4d4bfbe374d2fb712524db3390fadcb5afd96e00eed2c3e2185", "asl/arch/programming-model/general-queue-management.asl": "cfabc9f02f3aa0e42e290059bf383640e3f0f5dc007423d2dec4e100138a1b20", "asl/arch/programming-model/predicate-registers.asl": "10cfd70a5e5caf277c5abbb3976574946b01be2cbe0cd08ce141cf4bde716968", - "asl/arch/programming-model/scalar-registers.asl": "76b63e6e3f5109fe6143d8c337b3d95738ecdadca6501693e2b744801d9fdc63", + "asl/arch/programming-model/scalar-registers.asl": "a81ea306707189f48f4edc593de20881afacedaf4bde23b287ad7d571f655e0f", "asl/arch/programming-model/shared-tile-registers.asl": "b2802d0449740f79b0bf311ad5c70b1daed25eb232db303a0701d49704aa0e32", "asl/arch/programming-model/tile-registers.asl": "59452d3b3b708dc43f6ec4f930b1c7153d6d5247a93119669527bd29b26ec99e", + "asl/arch/state/core-synchronization.asl": "a9f34342e9982ea84c4ebf797b32745807792a833c95a5d6e8d66157b66aeb53", "asl/arch/state/definedness.asl": "f68778534d67e736f701f8e24e03f27a018f3eabcec1421a6b33856030874ad1", + "asl/arch/state/kernel-lifecycle.asl": "8a123a5b65ffd08221008c5174b6b86f26ca1a8b9fa592b2650133a78af47fe8", "asl/arch/state/numeric-status.asl": "3d3fe1709c7e2903bca96d50e9671a6a484c442ff08ce4a8340168cdb38ac6d9", + "asl/arch/state/pe-execution-context.asl": "73907346c7c8880eefd700058bd51c025f77eb1df1165b49e1703783780f0bdc", "asl/arch/state/program-counter.asl": "3b5f7bad14ca62af5d776ae551ddf32b4b9f43fe25d96ce0fd31a59b44e1e845", "asl/arch/state/tile-descriptor.asl": "52604c09f7171f5f530755929970b499296d3ce84a5ee337d7bc8c63eb8d7913", - "asl/arch/state/trap-context.asl": "a1257f3e56eb78a9c8c41f6e4c2110d0228693fea930e63684d37a2aaa33988f", + "asl/arch/state/trap-context.asl": "a62c9af2d3c28d917478fff38b7e01b3f76760bab65595213d7e2d8d32f6bd9d", "asl/arch/system-registers/access-control.asl": "b902ec666fffe515cb48ef7f54c144d19b514561537489a670349369eee3a819", - "asl/arch/system-registers/addressing.asl": "dca85cc84a2790ebf38adad8805f557a9ef1573afb50c423a1e0b7754611c1a6", + "asl/arch/system-registers/addressing.asl": "e16c7069e904cea1730b2ba82baf9a3e116b05c99179df4332f1fc36f88359b2", "asl/arch/system-registers/context.asl": "ddac5a98c9b3cbc4029dd0ab5f42ea079a8a7a651b6eee2cf06d02dd2fa44e4e", "asl/arch/system-registers/interrupt.asl": "2341ac0204294c8619bbfc70f514e70f535ff7bc1ddb3d799639378d5071af34", "asl/arch/system-registers/maintenance.asl": "c69cc578f4021c416643dd2b5f608855ef9bfe89d7c280a574dff09783b9b5af", @@ -20264,7 +20533,7 @@ "asl/block/lifecycle/MCOPY.asl": "d548723be6bda6d4bda08463d4edccaa39f44d70b4f8aadb7e5f5338da1740b2", "asl/block/lifecycle/MSET.asl": "04f922bbef50a90a97b874af7c266f7482be321d5a361d3839c2eb6e38b3e6ce", "asl/block/model/commit/effects.asl": "b72f134135b9c4ca680e8d6c4e38756646727280f9c06d90a95d34a3b024728d", - "asl/block/model/commit/validation.asl": "9277449978007b17733edf260fec4857a64de80078ff72047da307723d0cd27f", + "asl/block/model/commit/validation.asl": "6d1a64ba6103916ac4afcbfb80572fb838e79c3586281cd6ca55afd64e9cef82", "asl/block/model/dispatch/binary-operation-classification.asl": "e7ba0606cd504b488d3619026a732054dbb477faf6106ad1513c20177b520c65", "asl/block/model/dispatch/cell-rearrangement-schema.asl": "08f3760d99552382f4f8cbcfc5c5fba3ac7cb021efa6db24287e97cc84b40dbb", "asl/block/model/dispatch/command-data-attributes.asl": "9339fc2e9585f9349a2fb401d08b45d1ebf5493ba71d7eca2ce751936f42b993", @@ -20282,6 +20551,7 @@ "asl/block/model/dispatch/expansion-schema.asl": "e341b52a6d77c9977a8787980cfb6df5aa11b6eb0ebfd65ba9f3932bd7a7f8ed", "asl/block/model/dispatch/expdif-schema.asl": "de5b727b34a77015b22baaeb73bb71b085d8e8bf20dded77675c183ae57305ae", "asl/block/model/dispatch/generation-schema.asl": "76cfceccdce296468d71b0e4605eb4b0b2702c5ea6bdabec16826b9517f86653", + "asl/block/model/dispatch/gm-obligation-dispatch.asl": "5e3c44ef17111fffc114f457b13ee170d17a95171eb03abea09167fd973df7b1", "asl/block/model/dispatch/lea-schema.asl": "913306d0fb506c01067f5b41bd3d8451c35ed8d1a68f6f2ae467ad18ac5c3eb0", "asl/block/model/dispatch/matrix-scale.asl": "b6ec56e602786648e5e764aafef07837029b84b9595707d389bd1b998cab4505", "asl/block/model/dispatch/numeric-control.asl": "8372aa20c99f953c426e489be3555430cc0fe240d4808fda34180a9a11f5a8f7", @@ -20289,19 +20559,19 @@ "asl/block/model/dispatch/reduction-schema.asl": "0abfc3f6391e5ff4907be7e0571314c80106a8760bb7af6cae8cae811a64f392", "asl/block/model/dispatch/scalar-schema.asl": "03939cf0b88b2e1677a6384790028a5e8f68dceded1b7bc880caef6da8161a6f", "asl/block/model/dispatch/shared-cube-matrix.asl": "0b9fdd4d8d39a9679ff275a866fff510fdc407a163b6645cfee7b3db75db6d8f", - "asl/block/model/dispatch/shared-tlsu.asl": "7e29fa92195753fae53a08eae4c7a6b66fb71062bd8f7e17e0afb47b39223661", - "asl/block/model/dispatch/start.asl": "9e962389e579c0383e1cb2f63b904ac86e0ab0288cf31cb0444ad154375b9af9", + "asl/block/model/dispatch/shared-tlsu.asl": "e11d8c6bdbb46782e62d6ab9701878d69d4b3e911a9eb9fd4561f21046f6edf0", + "asl/block/model/dispatch/start.asl": "5d9b10ae87d39befc98d966b6ca63a4c600879d2b2b3b131a101b48793f7a127", "asl/block/model/dispatch/tcvt-destination.asl": "8ad3e52ffa7b62d772a54ef45378d8d8671859bec47b3cac8121b0373ecb143a", "asl/block/model/dispatch/tcvt-schema.asl": "2c9c7ec6214f8321416573735a0df6415e2374a97595a9b12f2cec834a50506c", "asl/block/model/dispatch/tgpr2t-schema.asl": "996eaeb7689d40a6acfb8c5c16bb5998a4a1e45ced5aabdb2eafb563a84a29b6", - "asl/block/model/dispatch/tile-execution.asl": "92deb0b4dcdff1255da07f8d7058796d1c2e0b8f1ac013069096f47711a46411", + "asl/block/model/dispatch/tile-execution.asl": "ad11c4a4b8f6e4689a9b2133396cc597fd29758f58926a121fbc521f531e8dfe", "asl/block/model/dispatch/tile-instruction-operands.asl": "42c8fc31e43b044ce8faef3c2cbdb45e38747b3bd77188e3b08ffe775581104d", "asl/block/model/dispatch/tile-scalar-schema.asl": "d59bb8b00475b1f02492864f3730de1165408aef49f0213ab36f3cdbdf609b43", "asl/block/model/dispatch/tile-schema.asl": "1acf4889509a4a948cd83ffcff83c397d1a12474acc1723b232e9bed0e2135ad", - "asl/block/model/dispatch/timg2col-execution.asl": "c8e1b73903e8dee4ea7239e40423dd2ed5dcc52446481c381386459a71657feb", + "asl/block/model/dispatch/timg2col-execution.asl": "2ce246c1bfc4d69dc64cf540e12ca51653fdaf5d6f183ebce9d05f9b34398dc8", "asl/block/model/dispatch/timg2col-schema.asl": "5d41621d599fb58196b7f9c2debc41b8073b92cea90f219bd11f48a2c1bca4a5", "asl/block/model/dispatch/tlsu-gm-atom-red.asl": "fabf68909460be45ce1a81938e0e78f1132e9cc9a9a5bfbe85a2729228ca334b", - "asl/block/model/dispatch/tlsu-gmov.asl": "e7667ccbaf14a491489ba4add52e681e0dc88cc873fd4f6ff93027860f3b98d3", + "asl/block/model/dispatch/tlsu-gmov.asl": "9a34b69629e9e489cf9e73e661b283e1e9b4180534f1f171d7eb488b328117e9", "asl/block/model/dispatch/tlsu-layout-conversion.asl": "166898ac69d971fc62953c426f7d14494443caa86d701e7286dc485ed4753ad1", "asl/block/model/dispatch/tlsu-mgather-cas.asl": "315c14c7cee2688c674e31b49206c05a68bcd9ebc57e62bfdec0fd6ec4ffe1a7", "asl/block/model/dispatch/tlsu-mgather-mask.asl": "1c643c69acaac645ed24b33ed86a7adb47f5e67832b225285328b7408f79ae47", @@ -20310,23 +20580,25 @@ "asl/block/model/dispatch/tlsu-mscatter.asl": "9dac4c18345dbd6e85fd0733c2587f3b125c5999f78ff895751c0a55bdf1b464", "asl/block/model/dispatch/tlsu-prefetch.asl": "08d470dfc375c62c22219fb5158f24c42caa3410fdb284afd85eccd71e258275", "asl/block/model/dispatch/top-level.asl": "55896f263568e6c2e929756c9d22f6fc5f36ec4698cdbe6828384872cd532f7e", - "asl/block/model/dispatch/weight-to-shared-execution.asl": "b14a55f0dcba8a3bc206a404763cf0cacb88f6d15c83e15a1dae663abf01c28b", + "asl/block/model/dispatch/weight-to-shared-execution.asl": "7aa120ba235dc2fc7f3e56508912992595b675accf011d54c712e11e8d1e326d", "asl/block/model/dispatch/weight-to-shared-schema.asl": "35a4a68557fa122603f26e9aa32a4b5c64982645c43e28afeb06101055cfc55f", "asl/block/model/faults/rollback.asl": "fde8e43f184cf5aac3c0b8d8ad0559d54e7f1f113dda93485a8b341eb3b9b1d3", "asl/block/model/lifecycle/begin.asl": "34d7923f48b2635f5ba6373e0dd03b972d28b1f9c588c41baf5da875064c86e1", "asl/block/model/lifecycle/enter-stop.asl": "d5f977bb2248fb33078f42aae3e086375a562ed1e83c64dc49d53b82af2ac9f4", "asl/block/model/lifecycle/lifetime.asl": "5d8588b0a40cb70a08aef05a251eae50ebf6a177fd230b7fb9923ea171c54c9f", - "asl/block/model/lifecycle/reset.asl": "85a8afbef56ccf7ec48c92126278a9a9798eaeed90ae69e050b9ed9b85443c8e", + "asl/block/model/lifecycle/reset.asl": "3caaf424989b0d635be22210323284defce5bf95616141cb058b6f975c59cf35", "asl/block/model/memory/timg2col-gm.asl": "6fba4b3cba79ea3a34d4ed8703cfad74240485651dabc24b10601227eb46e2c8", "asl/block/model/memory/weight-to-shared-gm.asl": "72e752ec70c4fb78d325f7001d5414321aac1f8f1a557b819dabfd604fa4bb10", "asl/block/model/operands/local-generation-cube.asl": "b45de5ddf7585e4912b90e113353e1d3d9c727d926e883d93ae20f4c533bb91b", + "asl/block/model/operands/local-generation-squash.asl": "3385681de9739095f7ecc3e49ab10a2feb89a1900c4026f30656c88d823e6b40", "asl/block/model/operands/local-generation.asl": "b8991f4fa1726b0b5b60172cff68aeddb56ca846a0908e05223dc318ce8ab4c1", - "asl/block/model/operands/portable-carriers.asl": "c86d2fdd48e401c98a6a0bbbf1990fe72451c8567bc0dc3e157c204e72160e47", - "asl/block/model/operands/range-modifiers.asl": "c95f0e58a62ace6ff6ce3aadf5b3d783eded605c7231fbcb26eac2193a3358ce", + "asl/block/model/operands/portable-carriers.asl": "6c3313aeab650f5306c0b960e4b03ac7ba9af38d4c60066481ccfb92d192bbd7", + "asl/block/model/operands/range-modifiers.asl": "43c6651051273503d47e56dcf3598ae87f6c6d534625956ffbab28a7f960203a", "asl/block/model/operands/scalar-bindings.asl": "ff1b17562272349583912a375ffed18ffde8a22637f94058c1548d266efa0f10", "asl/block/model/operands/shared-bindings.asl": "6678bc4c0986747635c52040454da4b31a9d19c84d4c818a63ffda2a16a0f33f", - "asl/block/model/operands/shared-generation.asl": "b968fa86f8bb03b89a2284ae341c5c38cbdce4acd3aacc7eb9254cce11443b9f", - "asl/block/model/operands/subview-descriptor.asl": "4875db42e9f84da50aa1df82596a98d1b630a871703dd4ea97cbdf9adc2aa81c", + "asl/block/model/operands/shared-generation-pe-requests.asl": "9aead9d70ab62bf1e439b64caaa87b99e6bd93da4c5fb208398798636ee8679e", + "asl/block/model/operands/shared-generation.asl": "92becca84462539ab6bb23898177b71fd172ca9550ac85e782986f56ebf3be7f", + "asl/block/model/operands/subview-descriptor.asl": "9d73d533e2be181749f955f56d2134ea1381cae70f715d5843ab7266d9261007", "asl/block/model/operands/tile-bindings.asl": "172f88cfeb837a3a0440cbafebec4990c37fb5039cdeffd8c8d76233910c1b6b", "asl/block/model/operands/timg2col-parameters.asl": "cc2d3bd4c59aa87dc618b5eef32ec8606ee886d0be3eec5d0090903a9e605ea2", "asl/block/model/operands/weight-to-shared-parameters.asl": "c42be3478e831f484a67729ad28a152b04cc7a87e1dcf3c7456778cfdc1cbd81", @@ -20336,10 +20608,10 @@ "asl/block/model/schema/header.asl": "b7b8e69337e5ef47b748f9f937c078e95efa7ab9727defad18d7cb2275be8da1", "asl/block/model/state/barg.asl": "b4136ceee8d6874cb9a05497776dad35a5454e797b86c850050b5864f1bb902c", "asl/block/model/state/binding-state.asl": "46b650a4830ca540fa274c2ad3cdfd70910d71795761f16b92160fd2d7a96a3a", - "asl/block/model/state/control-state.asl": "7922c460f09a73dbc706139e41d5cafe7e4c3f38683dd1238ff1f5643ad6730f", - "asl/block/model/state/descriptor-state.asl": "047fbd6d867b2b1eb9027a460f92bf385e2178b01bc24cc8cacf049a24df129f", - "asl/block/model/state/shared-generation-state.asl": "fb8d85dc010af90aaf4e10e77c87807a02628a6ab21ded62549d1655074043a2", - "asl/block/model/state/types.asl": "c082c6b735c23694820b83f58baf8a21943c7fdac51249d320a9aaa031f7fafa", + "asl/block/model/state/control-state.asl": "b231ec9445006ff6c2a42e6ce5855cc2cb97bcaef1c73c3746a31368bdb13a7c", + "asl/block/model/state/descriptor-state.asl": "0f91aefb804c1c0ef4e0dafb9f1d4267d00ea0e5e18f76e2d3f87a78352c62c0", + "asl/block/model/state/shared-generation-state.asl": "3a9c53855736ff45b7726d2a08cf3833cadc0783a365eec42aa531d371c0284e", + "asl/block/model/state/types.asl": "4c1e7c2841227ce6c00febeb12f64d30dc3b900dcc5bdb5b7819b47991094cd3", "asl/block/operands/B.ASSEMBLE.asl": "223631f3d15dbd9aad577f6e9cdcc12f83be8726acc3f29cfa8a59d36d206c92", "asl/block/operands/B.IOR.asl": "cc294ebdae4887552e54e7aa083c1d965dcd5eca898545431e13a91f788fead5", "asl/block/operands/B.IOS.asl": "b3840d05c5c66ac75d7f2b0f6946d376311cb21c979b6b3bf2686b10d660a781", @@ -20777,7 +21049,7 @@ "asl/scalar/fsu/SCVTF.asl": "741e3a179d0243c099b89c695b3224b96dd94a8b371228f7cd9a6c57b7125969", "asl/scalar/fsu/UCVTF.asl": "bb1dd7dc1336cf43d77a963bd283d6b3ea9837f6dc86cda7a0286001d27889a0", "asl/scalar/model/agu/addressing.asl": "2b99385665915f8f3ef589e60f4654296b8ba1f0fc64db9896909c8cea6884ed", - "asl/scalar/model/agu/memory.asl": "792e0aece3e74488b326f16ea7b3556534d3d244713af6b3dd357a2d5dedde2d", + "asl/scalar/model/agu/memory.asl": "14a90f4fe69d91857c03927b097ccee7a641ec2884a1df67de53ab4f5eaa269c", "asl/scalar/model/alu/semantics.asl": "3ea286b50965fd9a218d6a5ef9a1f8f230638d0163a734d536b3b6158039ca47", "asl/scalar/model/amo/semantics.asl": "2e4f6961ffb640a16e971ebd46f389e11875192078b84241c9f5d355d461449d", "asl/scalar/model/bru/semantics.asl": "3b5af1348da6e2027354beb3557a0631f9217af450482432faa77cec67d699a8", @@ -20785,16 +21057,16 @@ "asl/scalar/model/dispatch/alu.asl": "aae66b82e868949861a1a93427ac9a35091d4ad339ed4535b500b0a1fc408c45", "asl/scalar/model/dispatch/amo.asl": "6c1cbff9ffb76d530083ce68fc0b2b288475080ba5713b28d363f3fb23ea2666", "asl/scalar/model/dispatch/bru.asl": "ff1616fb96e8fa5f6add13f2ce39c54f985d38b558510370dee134cb09d845ee", - "asl/scalar/model/dispatch/decode.asl": "3ae5694456463c805871a6bcc7d6a3d08a9b5498495941c9dbed6eb784e33e9d", + "asl/scalar/model/dispatch/decode.asl": "4a8ebb42308e5fcf27d70c4fbbe97a3544ed3d4f3fc0044dc294fc9d27c495e2", "asl/scalar/model/dispatch/fsu.asl": "68ce7c4ba391f84e581110ab55358004586a9d54e43b1a06eef1fe30455ec8c5", - "asl/scalar/model/dispatch/sys.asl": "3962b4109ea93dfb583d5f27b5eff22367ddd1e33b55f364a5ce0b7dfa43e8e5", - "asl/scalar/model/dispatch/top-level.asl": "ddab80194961559047af378635173792ea4855c8a7d3ce597b9ff1ea62865fd3", + "asl/scalar/model/dispatch/sys.asl": "d5bee4a6d78af882b6ad9a8d7ca6200d3df3f9495061a617f5b3532f45d8ad20", + "asl/scalar/model/dispatch/top-level.asl": "595e7805a9b0a5cb3c0691373b161ea906a8044339ed3dcadec08065d4f118a7", "asl/scalar/model/fsu/arithmetic.asl": "caf8abe955be90b30655112166b5844e02e575cbbc9e447a2ce84c0284b56f96", "asl/scalar/model/fsu/reference-quantization.asl": "e13894a4bb0969202171ee431bf3cd490b7011282547ebce15bbfad910d8b586", "asl/scalar/model/fsu/reference-scalar-fp-specials.asl": "f4005e8d87791a0479196b656d98c339e7fa66b839a50aeb7d35b39108a8c6a8", "asl/scalar/model/fsu/scalar-fp.asl": "5015671b9435e0c2cf4185071937d8150ceec9d64172b926926c1cb9a7a039fa", "asl/scalar/model/sys/registers.asl": "58ae7d723a370e9df17541ffcc60f46dbfa7a17d05cceae6eb6b4445dcecf126", - "asl/scalar/model/sys/semantics.asl": "ac6836cfc0015fd19563a495cfd1a12c9efc1c6729c32567a75cd162f1e51666", + "asl/scalar/model/sys/semantics.asl": "0139d3b6f3213b38252adf357da1edc72e3a9b2b8af07d79200fb55b146e8736", "asl/scalar/model/types/operands.asl": "f1bfb9a3ea9012c6895705aa0ce14c20eb17976bf0a98b1f31290786bd0c5fcb", "asl/scalar/model/types/operations.asl": "ace26d2dd88298716d8dafaacb18b3858639c87dc2caa0326327e703b3adcf88", "asl/scalar/sys/ACRC.asl": "1f76f4efc0440797fb02adb3677f8a5372dbf5689cc67071c1fa67c5ced30404", @@ -20828,6 +21100,7 @@ "asl/scalar/sys/SSRGET.asl": "a8ded2822340f6b7a11caf91a88a692adf59616e1db8253c2df6ef54a735746c", "asl/scalar/sys/SSRSET.asl": "a72f6c4ce6cf839d11b78ae5379920fdb7b7c3bab84d578d2da7a734fdf1a0e6", "asl/scalar/sys/SSRSWAP.asl": "6ae0b6069c1302eb2ca43e23b4c3ac7a1a73dafa5dc8da7962e35430a20502c8", + "asl/scalar/sys/SYNC.CORE.asl": "0b7f3fe524f7ea58b53ebd52468d715321a4545e08339175c17921296e2560d5", "asl/scalar/sys/TLB.IA.asl": "13a77fe9a21de17bca74a4dab5c717d541877b0a82f99b3efb23ee70edce41e3", "asl/scalar/sys/TLB.IALL.asl": "d2494dfaf0f9f09ed3e05f23fb1be5041c6928a881962b8be282afdf95573b22", "asl/scalar/sys/TLB.IAV.asl": "c32ae60a4693ea542e6e4f5a30367354b14b3cf27ecf2be3907c7b413f341e63", @@ -20904,7 +21177,7 @@ "asl/tile/memory-and-data-movement/irregular/MSCATTER_POPC.asl": "4c4be562120d248f11f41f75b2ec282063fd1d14209d49548632d9bcfc2603d4", "asl/tile/memory-and-data-movement/irregular/MSCATTER_XOR.asl": "de6c067188c57373aeaef237d0309192e349db8d49dcf89b9993714463ac4cb4", "asl/tile/memory-and-data-movement/pe-movement/GMOV.asl": "7fa34ae4a96b3b5ea1c9c5bf242281a78d4c9296e921a62a7f53696d646bbe9a", - "asl/tile/memory-and-data-movement/regular/TLOAD.asl": "aeddfe72c054628ff4700f3f3b5f48df41882139d90c84652338a350b7e4b788", + "asl/tile/memory-and-data-movement/regular/TLOAD.asl": "d7896d6b0dee6b63de04ef7ce19b2a09d95424746732a211bc33fbe34f9a9cca", "asl/tile/memory-and-data-movement/regular/TPREFETCH.asl": "17dd4668691f90f1336195b7684499af3122ee5fa8ee295ebf8647929407a213", "asl/tile/memory-and-data-movement/regular/TSTORE.asl": "4d66d254cdcfab079d81d59a108954870e5bfeb005ca4f04057a9583ff292967", "asl/tile/model/capacity/local.asl": "5f646e1e1d72cd7561f5b01441ebdc98afd817a99204aff99288102c29de4a82", @@ -20966,9 +21239,9 @@ "asl/tile/model/memory/gather-scatter.asl": "fa010aa4b823ff1cb4a5bd0cc7d902420736652f49a0b0ef0719a2a401de6ea2", "asl/tile/model/memory/gm-atom-red-execution.asl": "af0f486684c30141a2be622dc55bb057401bbf4d2440457681e61828262d0f53", "asl/tile/model/memory/gm-atom-red.asl": "70b79380d4a469a7e6b925877aaa34303385544a7f5457abd12619fe23187519", - "asl/tile/model/memory/load-store.asl": "7261e03cb01586fe9077968542b2cc5b1279ea67247497b559462b2ec284e614", + "asl/tile/model/memory/load-store.asl": "106c6a296e37f230a5d090e3c6f92e731628380fbc017a5741c973c80232502a", "asl/tile/model/memory/restart.asl": "952183301020042b382a7c7eb14adfc52b2d3c74b99cf130e8912e89b6205b2e", - "asl/tile/model/memory/shared-movement.asl": "3fb6d06c0a374e53dd2241bd001c9e6e3ed035f086e56432f0ce68f3a41c4d10", + "asl/tile/model/memory/shared-movement.asl": "1d70613d120d04c747d475b9c6474e4a480eccfb2e592c07059d7cbf695bb36a", "asl/tile/model/memory/stride.asl": "92960da5561ea8d7b3869d028893279dbde4541b554097cef7eea067224eba46", "asl/tile/model/numeric/e8m0-conversion.asl": "77cf18fde554db95f48330f6bc26092aa90e28aa46804c1ff57a6977fb053f1b", "asl/tile/model/numeric/exceptions.asl": "7acbde42269981937c4b34454cde84242dd6e22c4daec4c57e8318b347f7adfa", @@ -20985,9 +21258,9 @@ "asl/tile/model/shape/valid-region.asl": "51b3af7ea3894d77851a61e51e6a3f2ae26e64110f2c5dd955ed102bda9446b6", "asl/tile/model/state/allocation.asl": "4ea757aeb26d6f9ea2f73180fa835bbe2c9304da27f27a88290c4b9dfdd44706", "asl/tile/model/state/descriptors.asl": "b7cea14d14e71f932e947e6a4046e7edf62705084588b75b5a3b882c8aa59cc7", - "asl/tile/model/state/feature-map-descriptors.asl": "39a77bbb4b0fe2e80a9e4ec62781d64cfc7e62f0a42c35dd9422b589218d4fef", - "asl/tile/model/state/local-registers.asl": "495ef15a1f8299b33cbebfe20c49edf5c1a30a94a9d99c612fd8b0eb3ad21461", - "asl/tile/model/state/shared-registers.asl": "fbdff415ee57c5e2e271b59b9736eee8a621dd4b13da251f61c4b7c0fe242a44", + "asl/tile/model/state/feature-map-descriptors.asl": "75838b04c666824757396641f6f492f03995ec5c4d99d8597350af5f256a00ae", + "asl/tile/model/state/local-registers.asl": "0db5d8c6e1610311583e8e9a22789855b754459f6bd41eb391b2db82e418a05a", + "asl/tile/model/state/shared-registers.asl": "53832bad1d2cf35499b2aced3fc61329af7f100dca84485fbf11572c2fa76f6b", "asl/tile/model/state/types.asl": "3266907833c9f358947791926b61f7d9596f1e44cd8731b483592275f4349b6f", "asl/tile/reduce-and-expand/column-expansion/TCOLEXPAND.asl": "cb763de3ac6314fb5c1853d7aa01e075066cddde4ca115618a0fb674a74e125d", "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDADD.asl": "adb2cbf979624cfe9a030b93b291f683f1856ed135800774383f6659ab674a52", @@ -21056,7 +21329,7 @@ "docs/arch/data-types/formats/tf32.md": "db79312069ce857a07023f6ea2247c9e17ec2dc6ba61b77acdb06635c1aa1ea7", "docs/arch/data-types/fp19.md": "1cc0bf445c77deaf59583e79de292f2641f48b6e4de7c2b983fd2aa7d5747362", "docs/arch/data-types/integer.md": "b160d89619963597ccfdec16aeabac46015ebf6c26988912ea538ef72467dfd6", - "docs/arch/data-types/memory-model.md": "305e91ca0c5bdcc7d8086ee5eef000d6cb59af801654e72e1af5a62e7d9b48dd", + "docs/arch/data-types/memory-model.md": "86867ad80ae15d608653bfadc8807cbd7fdfb043055ae50b3e8915a8a5e3bddf", "docs/arch/data-types/memory-operations.md": "b51a582948de1ad6b30a9263793d98491ccacc734d6d0a32620c05a26567fa10", "docs/arch/data-types/numeric-classification.md": "1155dc29c6ee1e80d6ad39db235a63fd36c734297598aa6eb8dbe5f0bda6c0cc", "docs/arch/data-types/numeric-formats.md": "407eb50ba29a2dda2818ac30f1af400da3d90c946d4745e0a15f5f843b125f62", @@ -21064,8 +21337,8 @@ "docs/arch/data-types/rounding.md": "cd6c2e1f4b836f2d1e50618d34f5fbca00d901e3d63964fe3eb6318294c6cd79", "docs/arch/data-types/system-registers.md": "493810885ed85e95313f2d2e7fc23309aeefa794d5347c19f6c488f29cd90212", "docs/arch/data-types/tile-data-types.md": "0e38052304ad8ff66d11bbab0747b80660b6cb17413fa4793733b93a74424484", - "docs/arch/data-types/trap-context.md": "5ded993cf7010282b3e3fb2e80f6b53062aeef879d017bb191d4bfc460b9129d", - "docs/arch/dispatch/top-level.md": "d2eea6e595959862effcfff76704f2c58783da32e3488fd86250d40a5d193728", + "docs/arch/data-types/trap-context.md": "79fea8ba94f84a19c7911b43ec9076f552393c39829fbd1b28e1b926da7a006c", + "docs/arch/dispatch/top-level.md": "68c27a2700df50952dc5480d89fc09c79e00bbc6106d108a102633a10cf2e6ac", "docs/arch/features/extension-first-use.md": "c1a5c4ee7a442c8c22a9afcc82a1202a11010055b8f5c71c5c5c1fa1ebcecfff", "docs/arch/features/minmax.md": "7ab233f63feea1b619b5a9b90c2afd3699128f169aa2b236339923d9132c6973", "docs/arch/features/mx-formats.md": "b4739ed0c6683798361b2763950abb56e6686da37c5eb4414e3483cdd24abe0e", @@ -21074,28 +21347,32 @@ "docs/arch/features/tile-allocation.md": "aca59291380a02c3b04fdca63919b17c5d3971a775645d0acc5bf7f111926e43", "docs/arch/memory-model/address-space.md": "ffcf8efa869f61c51c8d8d7c52729cacef21af5593f2b369c4c7309a297f303f", "docs/arch/memory-model/atomicity.md": "3c841dfbc25e9bbc6df7dac8137e6e2f95b90a121ec0d5d193a3d0b5fdba4d67", - "docs/arch/memory-model/fault-precision.md": "02221df1cc0aa68d8066ce715a00d3b5720339ff261f9a2c552242f58a7ef025", + "docs/arch/memory-model/fault-precision.md": "e9f13cde946c623eb0a9cfef43a5513abfce44f6b266f2b11ac7349076013c1f", "docs/arch/memory-model/global-memory-access.md": "8d73f4b551245f46e8fc1a4f939505d01e2fd7a8c4df6528e21e402175b87b67", + "docs/arch/memory-model/gm-obligations.md": "d334983493da3422ac4c7ceeb3c902f518248ee2939567f0e5ef660818b240db", "docs/arch/memory-model/instruction-fetch.md": "99e3d3942db1d54a1141bc39c89a398ca4100d0a7e29d17787bd6201eee9d6c2", - "docs/arch/memory-model/memory-events.md": "c8f9bf1dbc053c2be23d0c33401274157276279164981c99f926119530e41c55", - "docs/arch/memory-model/ordering.md": "6e264bc2716b012d9f213d505aa0ae2f136ad3a288c467e0e9215d64d415cd47", + "docs/arch/memory-model/memory-events.md": "09a2a882988cf8934942530f54bfa5c64d311a32fb74a49d8b6b73d9279fbec0", + "docs/arch/memory-model/ordering.md": "a0df6ecb59e04efd99830bad013ad841e8eeaf675ca74f4571fa38e3906bbca6", "docs/arch/overview/architecture.md": "36eadc6152d9324850b4997e88381f5edae80d411b73d715b8d3ad66b288c34b", "docs/arch/overview/encoding-ownership.md": "214f800d343a1dd889a330b91a2c10562af245b4d5b3ee422119f527804d68da", "docs/arch/overview/instruction-classification.md": "cc660c12baa21220f93b90c41317c81fb68af6ba89bbd2ca5da037e5c4653f19", - "docs/arch/programming-model/core-pe-topology.md": "1dbe1c198100be7aff82bfadbe840cd82713d65d0ad71f1e94a79dc2fabeb97e", - "docs/arch/programming-model/execution-context.md": "1c1de6b0cda375fa7e51a3ad529e2b59037e928284a175acad7f265744f750c9", + "docs/arch/programming-model/core-pe-topology.md": "b4328a739c9e78ce9794e724dbf9f60111d20c37308c04317004f577ad46cdb5", + "docs/arch/programming-model/execution-context.md": "af969770a7b110bd27de4b1c09e1ea2506be57b6637f0504ad5be397c6db827f", "docs/arch/programming-model/general-queue-management.md": "513828a5b2e2cf1865ec6b8f47f8564f716325d908beb809da638c5f2a34065a", "docs/arch/programming-model/predicate-registers.md": "6c7c7551818d467a27946ec995dc241fefeac5da4e6841d0c54f881fc05cc50a", - "docs/arch/programming-model/scalar-registers.md": "a7b4b224e974c510226861b2c313f41e0894b15f963861e09d10c73de96c158c", + "docs/arch/programming-model/scalar-registers.md": "39c408f98c3c3726776ece030012bfa8a14d9b7273412d807ffb945b59f45fd9", "docs/arch/programming-model/shared-tile-registers.md": "237cc55bb75644b2c562f0fce7eb7f96de89ec221fec3b786344713d6c46ab35", "docs/arch/programming-model/tile-registers.md": "93e2cffab8050b30e112d3371f37e950e9bff9e8373cb06172cf6cab51a501ef", + "docs/arch/state/core-synchronization.md": "1f23701fdb2c36edd7f1162962fb399475f0761c1e7533056b8e54c4bc8840ce", "docs/arch/state/definedness.md": "0c592e7785591408293173237e5ae537b04d33f1c15de2a02985605e8a0b8892", + "docs/arch/state/kernel-lifecycle.md": "1d67c405a5bfa3514c4f1f3f1c2d044b9fe96be0f28364020577176044514e1c", "docs/arch/state/numeric-status.md": "2bc1485eab64147a553ddb269fb3e520dd0b63dc7c31614996dc32c53b57d06f", + "docs/arch/state/pe-execution-context.md": "e8402d68e7683bfec0087ae07b2169526bb16ca5245d394ea43bc012eb905a9c", "docs/arch/state/program-counter.md": "4a404e9aef444c6e1ea3a1cbb273eeafaee3d2f00197613718dcd3b305375140", "docs/arch/state/tile-descriptor.md": "553189c10a9b6ff1ca07f4f54865f6dabeccb7d05a48b6cae72ecd107bc15fc0", - "docs/arch/state/trap-context.md": "4bd556ccceeaa481e3599d6b4af6790dea57792c16dd331e6b8c9e2cb6d1b559", + "docs/arch/state/trap-context.md": "d47e090d96e3718aa5b6260b431ef051793aa0e5e37e35e27a182b2d865d8b69", "docs/arch/system-registers/access-control.md": "bd3b2b5ac66ca689da27eada9638e88fd8982c878128721d9f55bbd8737a3e28", - "docs/arch/system-registers/addressing.md": "b7c3947bb5b4a794223117f3afd4f9f9267c3ec6126491ccd40357c76764e33d", + "docs/arch/system-registers/addressing.md": "c76622aff4bd2903533b8f21a1382d0859fa3854a29b885d343f6568aa84ae51", "docs/arch/system-registers/context.md": "5083ce8cef4389fb7e812fdaa48877e523f1024a24a3160f798d9a2cec5c2d27", "docs/arch/system-registers/interrupt.md": "56719be1e34675dd43e3b7a19fa136c3fc1d80626afd2fcacf57579c8237b700", "docs/arch/system-registers/maintenance.md": "52b2ec4e6848f4842a4e5efbaaf8e951a65b0d9e7d379f3a2c54a38b0ec2e987", @@ -21175,7 +21452,7 @@ "docs/block/lifecycle/MCOPY.md": "57521b64eb1ba74ba7633000ea5975b081f7ad4a9ba7c667da39592c8fcbdcba", "docs/block/lifecycle/MSET.md": "9b530755fd8653fed116c5c79abb301d896e5fa5d0733bdf631af0bd853937f5", "docs/block/model/commit/effects.md": "d227ddd2df4b236c0639766769d7a0c3660d27fdf836926f2b6bbc6944db6901", - "docs/block/model/commit/validation.md": "e21e8ead17c689ec206b7582c8a62d5c71209fd742d01608ce7e217f650320b6", + "docs/block/model/commit/validation.md": "f4364d883ba23a4eaa9e3b66d741558926a2eacb267f2f51228c400f94cfcc12", "docs/block/model/dispatch/binary-operation-classification.md": "df0599d6b3d121862149a884f64996b56a7d801ef718172d1ec0b5602e566f53", "docs/block/model/dispatch/cell-rearrangement-schema.md": "4e59375ca84d1a6ee6bf5916a3d11d08a9a5f2efa931b06afa86ef64d02e10a7", "docs/block/model/dispatch/command-data-attributes.md": "d45f6ef10e33ad32a9c3e6b819bea3307ad3205c00adaf561f3ba214227e0d44", @@ -21193,6 +21470,7 @@ "docs/block/model/dispatch/expansion-schema.md": "6710c6a738d7a88550b8b2ec03aa8a5d37ba8615a425de2c82ec4ba780668ae9", "docs/block/model/dispatch/expdif-schema.md": "ead0e79bb9672a9054380ed4990a64be25765ef6372d66a9d9d27ce626b74595", "docs/block/model/dispatch/generation-schema.md": "a03da15f04299c836cc635cf6c67b3561910edcbc43870667395aae28cd7026b", + "docs/block/model/dispatch/gm-obligation-dispatch.md": "03493b6ce1d6d2d29ff95e105ef59323f0db362bbb9a04741b96dbeb6fd4ec6e", "docs/block/model/dispatch/lea-schema.md": "38dd2b3562f26f47f7caeee510bb75a666646af3af6db40a8d211609f6ca4f0b", "docs/block/model/dispatch/matrix-scale.md": "ccd46844633236bbb2ee0792e8ba4f88c7c0067ee0b59fb1d5a5ece0f635fa12", "docs/block/model/dispatch/numeric-control.md": "249bba1dbaa9ccd2202580cd8d405022318f459c4f5ca453f3a4b10d25922490", @@ -21200,19 +21478,19 @@ "docs/block/model/dispatch/reduction-schema.md": "635aaa4e769ee0178ec2f24fd29da206ecbda53ea0807dcc3076847990982d2a", "docs/block/model/dispatch/scalar-schema.md": "e42d4c9c069b6b49ab5c57c83a096f61e85588819b374eaadb6d25d20d90e25b", "docs/block/model/dispatch/shared-cube-matrix.md": "499d6407660b181dd19324adb4a1ace1d930f1d2940755b078a927f188860538", - "docs/block/model/dispatch/shared-tlsu.md": "eeafd2e5f16a4761e90c17175faad8f4f598f9cade413ebc26a9cf0fac2c1245", - "docs/block/model/dispatch/start.md": "4fe6d015f924c56ae46c18d87fa72d68c86440b74be53efb82030e64210a1a53", + "docs/block/model/dispatch/shared-tlsu.md": "78b5ea02b88344dcbf52180572b0e471bce7ab237c5120d6d3d17c83c67cd471", + "docs/block/model/dispatch/start.md": "44687ea326766b3acfacbc3b62424576cb1b7013a8552cebb055f7d83533e3d3", "docs/block/model/dispatch/tcvt-destination.md": "711ed7d1b4f4f33e071c27730da46f46d2c17fc864d41f4b3821fefd63240ce2", "docs/block/model/dispatch/tcvt-schema.md": "5db2f9b708bfcbb35535e3101bf51de0effe5cb050b11264226ae5746472281a", "docs/block/model/dispatch/tgpr2t-schema.md": "a562972e608499c70b4560f5fa0b096e3f3021565b30086b16159700f4a56735", - "docs/block/model/dispatch/tile-execution.md": "bb7b3d786fdb58056be9db72fca965076b11a0b2f9b4525269f151ec85f8d7df", + "docs/block/model/dispatch/tile-execution.md": "bc7dcebb9e99092f5d0d801b946897f8c8e2234d50aa57001dc89f86899c563d", "docs/block/model/dispatch/tile-instruction-operands.md": "2752497887527b4a7dfffd4748218dce0ca4b3ad6cc61b4a81a29648dae26154", "docs/block/model/dispatch/tile-scalar-schema.md": "b34fed1cb38f5d75a4b45ffeda26e0dd42bb559a2e0dc688de228859907aff4e", "docs/block/model/dispatch/tile-schema.md": "041eb69b63964ab41d362760058300a61c76007b7ed41055c32310da1651c88d", - "docs/block/model/dispatch/timg2col-execution.md": "fb0e775bc3cec6101cac335f3c5110fee44f32c864f4c00e61c26aa28253363c", + "docs/block/model/dispatch/timg2col-execution.md": "b628c9692809692eccb118bc8ffeef0f41f62a27824a39a805e8f82f05c4413b", "docs/block/model/dispatch/timg2col-schema.md": "51655c67b9ebf56c53e93164b840ae2d2e2739f37ef21fe3fd837d156474b8ac", "docs/block/model/dispatch/tlsu-gm-atom-red.md": "0d574e09da7ad677962640aceb545c2b582be7f7cf1b6e2a871a099eff8c26c0", - "docs/block/model/dispatch/tlsu-gmov.md": "3393aca6c7cfabb67dbe3859776aba178d0fb29d3907f9b6216a0a928712a253", + "docs/block/model/dispatch/tlsu-gmov.md": "60f2c0403114295cc8658c8bfc5a7a278c70afc78e062d4b11f02edf6fa512a9", "docs/block/model/dispatch/tlsu-layout-conversion.md": "d04e970735819cbf750be2391b8496f9e2fa631ff62ad5b813307048d73894db", "docs/block/model/dispatch/tlsu-mgather-cas.md": "4ba957d3710f85c3780138f155b4f6ff18e8da8ec199fe219bb1ebe7ddd54368", "docs/block/model/dispatch/tlsu-mgather-mask.md": "d5086cad7c83a1e626729d112deff2c212785c7cf5d8cb0c1807fe193f4a16ce", @@ -21221,23 +21499,25 @@ "docs/block/model/dispatch/tlsu-mscatter.md": "a7a404ad7c0d0d6d8a62d5ff135f431e59cd6a49db8524cdc05dd710156f993c", "docs/block/model/dispatch/tlsu-prefetch.md": "5960a8bfb6576f266f5999b57546af9034c5f234d6d18a4e3fba3b358243b909", "docs/block/model/dispatch/top-level.md": "ecb9c8e3d9d30a4e3ba038a84049f2ca03f19c0d2418a76c90a993692d73dc8c", - "docs/block/model/dispatch/weight-to-shared-execution.md": "ca7fa4141a8c75b2d1f20ed1200282d02424034aab123789790de89eda2035e8", + "docs/block/model/dispatch/weight-to-shared-execution.md": "b7985f6444e03e2f3b108ea93c03c7856043b73b24b28e0431b1c3c019d20f3b", "docs/block/model/dispatch/weight-to-shared-schema.md": "a5a41c3af2e1d1ce12d67f3dabb6293767cbe74de62c468e43f26e18c7b433c3", "docs/block/model/faults/rollback.md": "d174565313cfcc915e898fe4ec40051983e747e881aa65d12e0e9621812bf54a", "docs/block/model/lifecycle/begin.md": "60aa71b7477697a26783dbb95dd7edf0a354264b419e7312ad4ec6117bfc10e1", "docs/block/model/lifecycle/enter-stop.md": "e86ca857c5c1ff8ca3359cc9e6294674f5bc9b7fcaf0e9c080ed7068a4018d21", "docs/block/model/lifecycle/lifetime.md": "0af27a4a168a4e3cc78436f68ccd5167c1379bd1934924d7e4ab068b2add50bf", - "docs/block/model/lifecycle/reset.md": "5f56b9d00d86fe9b3c9c8191c44490f7fa64ad494c1f2d1543e78e3e3e79cecd", + "docs/block/model/lifecycle/reset.md": "8f950b0e0313921b6233e74b6190754519bc55ad2bfb211b5e3441d00327e20a", "docs/block/model/memory/timg2col-gm.md": "569cdece4d949659acdd37a8aba04a6311d78748633c0c4cac2b8de29ccb7c88", "docs/block/model/memory/weight-to-shared-gm.md": "9eec952da21d1fb7074d704935d5bcaf978a43b3b1d7006d9e9c0162bb7512d6", "docs/block/model/operands/local-generation-cube.md": "d1426984dea76f2f9fe56d11c329d2d4402a71f228910efbe9c8632fd970a7f0", + "docs/block/model/operands/local-generation-squash.md": "fbe201fe257b53ab47702c7d1892be771b35216dd667cc86e2e6187583981bb9", "docs/block/model/operands/local-generation.md": "be7e7e37f4ac1ebc9d8c2644caec2333d4c7b8354e9dd92df0c0ad938c7b3049", - "docs/block/model/operands/portable-carriers.md": "a2cca83ddafc31f2fdd87bcc5763fa85c97719aa2fea641e38d313422b19447e", - "docs/block/model/operands/range-modifiers.md": "0496a7c0bcce934fc05fdc24435c0510e90a1f038ff07bc29b4a95fcb063dfe4", + "docs/block/model/operands/portable-carriers.md": "ccf0536199487d748160e0bb4a2c6c053f61e3ecbb4aeffcb7fc725bcbc01268", + "docs/block/model/operands/range-modifiers.md": "2f369dd607e390f51b5153efcba3da3d6fb8bea905f9e344c2a038701fde835a", "docs/block/model/operands/scalar-bindings.md": "39e5ccd0918e2b38a0311bd4281518d2af7a50bf8197b35571070a391db53d2b", "docs/block/model/operands/shared-bindings.md": "8133ed76bae737265b10e0faee7bd987fc2df9af3b59e6304bbf51a31e17fd32", - "docs/block/model/operands/shared-generation.md": "45c63369e13d4802c3ba37851cf82e9aa875360e2a6de623660cd8dcef4fbc37", - "docs/block/model/operands/subview-descriptor.md": "ab297252dcb8b077b17586b4f9196c3d4f50c2bbb088207f3ce41fa376ef75d8", + "docs/block/model/operands/shared-generation-pe-requests.md": "22a88944ca42f3a194fbc76f78279e5283f74c253021f7f486d9cac1c784916c", + "docs/block/model/operands/shared-generation.md": "331fa466d81f4b057a3c7d18542d3164cdbeb01a29cfe798843b198f800502d3", + "docs/block/model/operands/subview-descriptor.md": "3ac61f3882c09fe3419cd02b693863fe1f7364bf44403bcf5902e25454453573", "docs/block/model/operands/tile-bindings.md": "47195ce0410e6e3fda4d3badf7cdfb0773be3daee97d641374c7b10d26d3520b", "docs/block/model/operands/timg2col-parameters.md": "35e0fd79015300f237e58bc1f539c4dcbce26e4fe88ded9c98945af370da14ee", "docs/block/model/operands/weight-to-shared-parameters.md": "748d8fc0ddd8fa5c79fc8c6d472e659757baf3b846289b6f18ee8fcd2c301a0b", @@ -21247,10 +21527,10 @@ "docs/block/model/schema/header.md": "9ba9a8d01af74565769d82b5cbf2c00f207fedfa9bf79964c8ab429f380e0caa", "docs/block/model/state/barg.md": "b184baccb2191d8b8d7ddd637cabd7cdf5fcd12a4bb9256b685ad1de3535987b", "docs/block/model/state/binding-state.md": "6ccbc8e18e3357afdd9890b88fdea711f78a17d6b1bb771248979f3f1406c22b", - "docs/block/model/state/control-state.md": "d44e6304cecc2f2dae1d72d708918959664f756de0880df9d77c5661522ddfa4", - "docs/block/model/state/descriptor-state.md": "2acad4470a03398009d0dcf701d9153ad84b1b69243eebc9fe7a505fed58aea7", - "docs/block/model/state/shared-generation-state.md": "de8a67453e2176d7f7e1591087a2c8a9fda4b847f010be7989cb4c26daa8f9cc", - "docs/block/model/state/types.md": "7ca810a84c63d74ea1f55f816ed1c73ae243882ab2d72417c9bb8fe69197aa8b", + "docs/block/model/state/control-state.md": "8ecbdc659f02dbf2c18e60a152c7de28eb1fd3046070846f21c50b3b58d73252", + "docs/block/model/state/descriptor-state.md": "cb61a725c69a312694f47dd13f62134658ed6446e32688a9d39e5741aca31373", + "docs/block/model/state/shared-generation-state.md": "27457b86315c42cd596a36b5b06c2b6b4facb850cf122dc667e33f23108d48ba", + "docs/block/model/state/types.md": "6bf0eac8721177f66ba7ebf167647127307374ee54a4b093a6cd41c969bc125f", "docs/block/operands/B.ASSEMBLE.md": "bafc4a596cc59766cf39d80ac2267f53669229ddda77458e68a9afb1456fb43b", "docs/block/operands/B.IOR.md": "de5579e1b73c8db84c8e843f32d223030e97304bd5df0a4539257c024e81061c", "docs/block/operands/B.IOS.md": "fc81f88e2fa701e24c813a39e65dfdfe8bc6824119bbfd6858ac5ee351e27fc7", @@ -21688,7 +21968,7 @@ "docs/scalar/fsu/SCVTF.md": "6d1b55119050bc5ea646ead2d163f5dc6244b13d85de9474297d2d162bd1a9c0", "docs/scalar/fsu/UCVTF.md": "f41292b868820939373206e04f52f0b4f4b47373aad98f4ef051ab84afda01fd", "docs/scalar/model/agu/addressing.md": "d268b1d0036ad9417bb0b686df7cf734df0d28ac3d096fd7279712c59485e0db", - "docs/scalar/model/agu/memory.md": "6d0b1007bc5553ae08215cc88a0f4a000ebf7983eadfbd1bf1be019019c2f98b", + "docs/scalar/model/agu/memory.md": "4c18ce4094484f92f86306475d4bd57b5ccec3bf54455d09696fa4103f74aa67", "docs/scalar/model/alu/semantics.md": "600fa562a4c073f8f8fc54aab053f67242296bedc1b64d1502eff53e42f3aa0e", "docs/scalar/model/amo/semantics.md": "2a053fba2b6bc2eeac1befc227c49c93401efb17ce154b41616fb370e3135651", "docs/scalar/model/bru/semantics.md": "82f9a5a6a66fa2583fd5d6a1a272bc2abacacf0506e21b9504d16881a5afedf2", @@ -21696,16 +21976,16 @@ "docs/scalar/model/dispatch/alu.md": "16fa67451197792d6275d77ebdb01b09954d81ec8b585b3cd38e4a2b342dba4e", "docs/scalar/model/dispatch/amo.md": "544d9cd58017738aa346a4557c13cee158d8fcd2c96b07eaceb762f35c958ef8", "docs/scalar/model/dispatch/bru.md": "d459fa63e14ff3cf03b3b3d8a848162996a285e5a3191924ca976e9f2103466d", - "docs/scalar/model/dispatch/decode.md": "2a78535e809851717cb5e9c20c3067825baaf5287a353d9408672fc3ceb63475", + "docs/scalar/model/dispatch/decode.md": "fcbf1f4da3cf9b5e802ed363573a50dbdb54230d30bee5229f3cf36c1bcefe4f", "docs/scalar/model/dispatch/fsu.md": "059e606c33ccd0ad46ff7eee765e9efa33b5c435b9b9eb073b3fcd86769d4e65", - "docs/scalar/model/dispatch/sys.md": "cbf28e2b4165695bcff772516644ea3113e25807dfe3a372d316529793cef39d", - "docs/scalar/model/dispatch/top-level.md": "a836c0c3325bb0190ee680f0f1ec19c79b532994c11fa512ed0c02cf72ee3635", + "docs/scalar/model/dispatch/sys.md": "aaf5226438c77df2d2931105f59cb2651b52819cd2fa41d2b5dcdef14d3adc3b", + "docs/scalar/model/dispatch/top-level.md": "3b172745dcf4a978f919d3fb412cfae3cfe8a1caede2dd71d2997dd1078a4a7b", "docs/scalar/model/fsu/arithmetic.md": "743fdd2546ae42bf8df0ea277e20faf0312e519189bbbbf95559be92871059ec", "docs/scalar/model/fsu/reference-quantization.md": "87561e7252a3524bf5bbc59f560ac91c6e2abc92482e9d6e825f5ce3c1abb2e0", "docs/scalar/model/fsu/reference-scalar-fp-specials.md": "867e0125622d804007a11416e5728f4961cb12f04d4fa5fc0e98b20ef7bc6879", "docs/scalar/model/fsu/scalar-fp.md": "98ed9198bd1682b9f6d3c8c8fbd31dab83174dad90097af16130bbb259549328", "docs/scalar/model/sys/registers.md": "0136bd7cd5ee90a68f4952d70fe296d76c1f89ecbb719abbe20a150a75105ea9", - "docs/scalar/model/sys/semantics.md": "ac00f9711071536ac27b119fa11b6c75cf216f12788459018d2e099c800f6ea7", + "docs/scalar/model/sys/semantics.md": "3c505b2368c47a4e6d717d4ea130521ad614ce16eee6beb2a9300b0bc1e73584", "docs/scalar/model/types/operands.md": "57bb2b0fd62e69416ccfc4c8a33c870afeaec3283e8dfa3bb86b2dea96645bac", "docs/scalar/model/types/operations.md": "618a0221d148a85e6f5315042d54d426febec84ef2d904a49acbecbdd5c66428", "docs/scalar/sys/ACRC.md": "78d6eae632227fdc16638360bb066d7f5b585b027ada1f2205bd7031975248f7", @@ -21739,6 +22019,7 @@ "docs/scalar/sys/SSRGET.md": "5ffbd95f175df2b8c2ad66e9b486cfd1caa84bf7263f93e591b9e82808d8f779", "docs/scalar/sys/SSRSET.md": "15ee45df964cb44491acdf595460bc46e5cdd6a072be26e75b5d1f61ba0ec1f3", "docs/scalar/sys/SSRSWAP.md": "c7502826d6d132ad69f37849155f9394949d5bc53f898be43b457b9e5b945753", + "docs/scalar/sys/SYNC.CORE.md": "b63070cc3959b73d1340e8621e51f1ccdfc33b0885559682835f6c11dfde9023", "docs/scalar/sys/TLB.IA.md": "446c258c8767c445f3e637663cd0619fe01e4a5a0a809cf991459eeeba0ddb6e", "docs/scalar/sys/TLB.IALL.md": "4370748498e7ce8594a0a5d08ab1aec3cf2517e2677fae7e3777e699f8a398a1", "docs/scalar/sys/TLB.IAV.md": "9d12027c4baba489ca93b732f3aeb54cc990115065eabead38507ba9fb1ce01b", @@ -21877,9 +22158,9 @@ "docs/tile/model/memory/gather-scatter.md": "7b2eef7342af4b0ee951f0e0062cc4072b613279c5a56030eb3fd77cf3119b7e", "docs/tile/model/memory/gm-atom-red-execution.md": "11ba215eb846f385216a7fba1e632c72320689f3f96928fe0e858af44fe323d4", "docs/tile/model/memory/gm-atom-red.md": "fbfa934de7f74f2b90857f2926e149d427f532ce60aa28f0ab769435154ab75f", - "docs/tile/model/memory/load-store.md": "29aec4a9e26fb170f3fe019e6883ad3daf39716827992ac7f09bb40c83041cd4", + "docs/tile/model/memory/load-store.md": "69b1685c18e897e2c46717550441b3a7847e533744e7030722a9cf93e19f8880", "docs/tile/model/memory/restart.md": "8ddcdc458251f6737b889092bc1aa225619f7fbfc9f530652e4a10f6f7433249", - "docs/tile/model/memory/shared-movement.md": "bc6b573015c06bc6ab2a74f82f807120f9faf5390a72d835983010f21c564d15", + "docs/tile/model/memory/shared-movement.md": "fa5eb6249b91f78484d4a5628992848e9d5b820173e297226e6aad77a5ef626b", "docs/tile/model/memory/stride.md": "dd52e9eed1ffc21f51de2730affd980c1cb77cced945950e72ba2a66927f9d22", "docs/tile/model/numeric/e8m0-conversion.md": "9b8364ad0b4d66e587e0d99ff735dc5de2492df4da89a6ed8b01a32a50c65f21", "docs/tile/model/numeric/exceptions.md": "4c81558de0b463ff826edb5975aa98f46f6229e2500bb3d2341dc0cad0433a78", @@ -21896,9 +22177,9 @@ "docs/tile/model/shape/valid-region.md": "4d325ce3f8df757dd97229458c7260267040d53903a84fbeb36eb3e095a4f08a", "docs/tile/model/state/allocation.md": "9e3598b6a0bb9c9d6a7c70130092454c36d5327f182e4df417e8ca631e597a51", "docs/tile/model/state/descriptors.md": "68aa47104649282587c8547399ab9189238dc74c569c278970d1a31bb668a4cc", - "docs/tile/model/state/feature-map-descriptors.md": "eae5499afd897d611eaf5b3c6d890fcec69fd630499ae6a542810083157c7c9a", - "docs/tile/model/state/local-registers.md": "c88bf0e9a634e057a35a2e59d95c159b30488c59726ef3355a2526f494ce5954", - "docs/tile/model/state/shared-registers.md": "23daaf279dffb3e024bed8f0d26e66fafcedcbff5c0a1f557ffe3a551844628d", + "docs/tile/model/state/feature-map-descriptors.md": "63e24ca4e47ca7a5ad2bfaab37e715b871d89a18d24ca3d69f3d2882cf08a09a", + "docs/tile/model/state/local-registers.md": "34b797e0230b4c8afdd7ff51c633ee6c890c31ebeffce677ea28980c56784b27", + "docs/tile/model/state/shared-registers.md": "2492516ce9f05dc784a324b9d42e77d42af1e692aedfebfde2432e87db574e63", "docs/tile/model/state/types.md": "8163e48e07db37ee99ce5597b65a97761b28dd3bb5481af23186f04969ce98c2", "docs/tile/reduce-and-expand/column-expansion/TCOLEXPAND.md": "5ff8a1a5d9fe3b9e8e5ee8279b9da4c278da5490c5e3cf88ee6ddf702a03cf80", "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDADD.md": "3dc9e47cff9a58ea7b7fe08d884841f7f85ea9dff37ba39f5c665c7b3743cdb2", @@ -21944,9 +22225,9 @@ "docs/tile/tile-scalar-and-immediate/logical/TSHLS.md": "c1332aa895d5a70170b6f193674ad97371cbdd4314f5336de4ce4eb703d4d484", "docs/tile/tile-scalar-and-immediate/logical/TSHRS.md": "4fdb0facff519fecde8ba33ed966ed54c04b04c3f5f344024b2ce1a859434d67", "docs/tile/tile-scalar-and-immediate/logical/TXORS.md": "c2bba4aad8073962fc18443147a53b3492eee9629f7a5975591087d1d8834e67", - "spec/evidence/adr-index.json": "69b02bb6c38ec449f3bdf291b3ded74d0304582ddff9950f1f5944eb44e1df04", - "spec/evidence/instruction-contract-closure.json": "fe963f5fb462b9bfa88ab42afd403330eac5478a2b086bf74770e86474d135fc", - "tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl": "6fdc7c8ff961dbd270331b7b620c3c2d1c451b9e786d09d619f71164b027535b", + "spec/evidence/adr-index.json": "d72262220afb46c15d436b2c1d0ceaa3a8edf370a22af0adce74ce6f7fad49a9", + "spec/evidence/instruction-contract-closure.json": "6e8f55cf41406fd276e787412c910a83ea2347b9f4bed95c60ca995bf8eb71b8", + "tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl": "6c18bfdff0279b6d4fbaf3cb3c8e1ee111b4d5e82e1688136b88be6fa7902ba3", "tests/asl/arch/data-types/fault/arch-static-fault-contract-001.asl": "09298fe7a9f3232db427f7d0f0b8a64d3cf22fb5374675f2e1a72145d8ef89ee", "tests/asl/arch/data-types/floating-point/arch-static-floating-point-contract-001.asl": "88ba63e7b74ee830e8e5ea54b14571d9a12631ea4a92e9e1a9aab30f4579af1e", "tests/asl/arch/data-types/format-descriptor/arch-bound-format-descriptor-empty-001.asl": "9388d0b49d52432be34313cbffd91eb0957230b10a8f9ca92262d9302332e107", @@ -22037,9 +22318,14 @@ "tests/asl/arch/memory-model/address-space/arch-state-address-space-physical-reset-002.asl": "3c21cdc09804a125ad5ae419780747e94a8509aa140a6cd5d3c005ecd1a31534", "tests/asl/arch/memory-model/address-space/arch-static-address-space-contract-001.asl": "35fc2bda62986d6c66eada47431b1ac63c2827cbbb9a8bcc7daf2bda69776c2f", "tests/asl/arch/memory-model/atomicity/arch-static-atomicity-contract-001.asl": "ea0c6316331d9350df7677b683ca0fbb1534c6e4614b67ad45c4fcb36685ec49", - "tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl": "d449e000a02a6c02287b566a70efc615348d1c6b9ed08a89091abf6d4dd5412d", + "tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl": "ff7c2ddfc79034d95a30f0e831ed60d3b2ffb6e7beda4d44919377ec4a8a0495", "tests/asl/arch/memory-model/global-memory-access/arch-bound-mask-001.asl": "1949403e8e837eb2aaeaf3edda5e39f66a7f7a3ce07b6c742580579c0743097c", "tests/asl/arch/memory-model/global-memory-access/arch-static-global-memory-access-contract-001.asl": "a99f4e240da5f3f18704ac05f623bbd44dd592086fcbf9b58e913a018994799c", + "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-acr-004.asl": "9be9b64c5f0993781198da6f8297d026999cbb4ebb60820bbbb3862bed605c13", + "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-tstore-002.asl": "b1459b3e7d8c54bb1babc2369cd1a1297cfba144a236b48b711daa989195867b", + "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-first-capture-acr-003.asl": "0df642c3f9e63aad99632f57c35cf5346193d0996889d64e7a90935bf14291d3", + "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-scalar-fault-retry-001.asl": "5dabcd85bf021362922e7b9b61ec8926fdb3ef296af9b539608ebbb6ab71414a", + "tests/asl/arch/memory-model/gm-obligations/arch-static-gm-obligations-contract-001.asl": "f516952871f4e457a0f8417f5daa85e3af0bb4288fd2fc152cf35550f97b6aa4", "tests/asl/arch/memory-model/instruction-fetch/arch-bound-instruction-fetch-length-16-001.asl": "defbe3ba6a89f5853049ed3be6419896a97d7bd673da03cd9b5dbd0b210fe445", "tests/asl/arch/memory-model/instruction-fetch/arch-bound-instruction-fetch-length-32-001.asl": "0b63784f94e0646720fa7d26df82320a13cce622a8d083edb91f18252a2d7732", "tests/asl/arch/memory-model/instruction-fetch/arch-bound-instruction-fetch-length-48-001.asl": "56264e6edbc94154cc0c172071d42fc0b99ef694bebbc1dec6a5408f73b4f3c1", @@ -22049,10 +22335,12 @@ "tests/asl/arch/memory-model/memory-events/arch-static-memory-events-contract-001.asl": "7d83e5bd90a8aa0975f5ae652d12ca2b30e6a011a17193c85298819790edbee0", "tests/asl/arch/memory-model/ordering/arch-order-dependencies-004.asl": "6c559f63be8a85dbb090f4b70bb904de1abf4ba6978a139c1c4aae37f40e3718", "tests/asl/arch/memory-model/ordering/arch-order-production-events-002.asl": "daebcf61dd3f7684d47527279faff9eb0362beb66bc141b23eb22fb4be910480", - "tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl": "ea95ebc894d6e3e13d3732a6e3a528660f8dae66b97031cb9dce679db5c2516f", + "tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl": "b9393d6eea23e679c4cc17054632e310f512d5c5277990d96e5d00cf0fc6cbc9", "tests/asl/arch/memory-model/ordering/arch-order-rc-concurrency-001.asl": "8ca7038da351aa468c7c7e6decfa26ed9339ca4c2eb66811d833107356e68974", "tests/asl/arch/memory-model/ordering/arch-order-tile-events-003.asl": "cd7719c22c3a0fd1799e10bd1ca04c1344d478a7a593382f6a171e4acdfb49a7", - "tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl": "0c6383126514c543b9914bc288cb9089ee76e38507c3ec207649937eacb6ef43", + "tests/asl/arch/memory-model/ordering/arch-state-gm-reservation-invalidation-001.asl": "c8b38df025d4b8f38cf7371ce4b41b80ce9df960dee12e9b4341e5bbfe7e3b2f", + "tests/asl/arch/memory-model/ordering/arch-state-rc-replay-peer-read-from-001.asl": "e1f30c1d0ef5bf3f2cacd88326cd30a186976af4a51db6a635df93b6f24a2592", + "tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl": "d02a6082c7caaa8f6e4b9ceeb86c453b034aafd8e8e7557dafba757ea9a0b263", "tests/asl/arch/overview/architecture/arch-static-architecture-contract-001.asl": "807818223d14c98b06937c0b0a1d06686bb1f61accc46ab7766e662e0d22e55a", "tests/asl/arch/overview/encoding-ownership/arch-bound-fixup-001.asl": "77d6e276bd208225f1d0900a50795cce9a64155ae79fa7cf7caee829dfb6370b", "tests/asl/arch/overview/encoding-ownership/arch-bound-vector-root-001.asl": "e778101142943a1e42a3687f63ba8246964f6b6d63f34b3724f9610f55fabf90", @@ -22084,14 +22372,27 @@ "tests/asl/arch/programming-model/shared-tile-registers/arch-static-shared-tile-registers-contract-001.asl": "35bb87ae5c03922945f02a951f01e8ddf030c728e61f5d15f06be81d5227ac14", "tests/asl/arch/programming-model/tile-registers/arch-state-register-mapping-001.asl": "4d6640e6ceec4a8d2538511e0d81d62272cabefbc98d050e047224504363942f", "tests/asl/arch/programming-model/tile-registers/arch-static-tile-registers-contract-001.asl": "aba2f93c142c8bfa8b0307b11d54a11d2a01f54a70be5284cd61509d67cafa03", + "tests/asl/arch/state/core-synchronization/arch-order-core-sync-history-persistence-001.asl": "b00e0a00df769642126080557dc2f127bb02c99b60673309e06edf7ca639258b", + "tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-abort-reclaims-generation-ring-002.asl": "989a60a6552c4dfa726818777055ab6fb5795ab0c4d041cfb4b5c4657a306127", + "tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-history-ring-001.asl": "349ab5ae9598111844da6aa9d544d9fd45c53c413cf15c4f58bbf378558e609f", + "tests/asl/arch/state/core-synchronization/arch-state-sync-core-encoded-branch-bypass-001.asl": "f71192e767323828d5ae802e4e66fec293b7d933f96ec9794a38d0bed9cbe845", + "tests/asl/arch/state/core-synchronization/arch-state-sync-core-fast-reuse-001.asl": "b1333c2fb986e5b51cb065e45cec57dced59036504baeeb40b5ff69605b296d0", + "tests/asl/arch/state/core-synchronization/arch-state-sync-core-site-mismatch-001.asl": "78404d5a519eacfcf95c45e6339b04c616e88a31610f6694bf0aa2a18c700c8b", + "tests/asl/arch/state/core-synchronization/arch-static-core-synchronization-contract-001.asl": "b2ccbb64d209b65c1442191cc4b968b27c395b851f5456a6cd7ba83272e3e72f", "tests/asl/arch/state/definedness/arch-static-definedness-contract-001.asl": "5389abfd59ea0e176acc50273c7920ead6512702a2188556c41a1c8384a9216d", + "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-delayed-tstore-001.asl": "426c36b433a7bdbba86db992196fb93138cdadd3696aedef7c65e3baf6f09876", + "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-fresh-launch-retires-trap-frames-003.asl": "4f05de67468dec76b0c018f574cecaba23e07e02881a6fa536d51b4c87544f7d", + "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-tstore-quiescence-002.asl": "39e7364b068a4786adecbb8d71eb80ffc8f412a626bc56214967407a16cb0e24", + "tests/asl/arch/state/kernel-lifecycle/arch-static-kernel-lifecycle-contract-001.asl": "5e1696d42da260d0b24a5a12e7aa73e29de92e09666d6117dd1627c9e1ac34cc", "tests/asl/arch/state/numeric-status/arch-state-numeric-status-001.asl": "73c82a0e416a7635964e18f0b52a0330df6edcb3292f9eb65937b9ace7d9948d", "tests/asl/arch/state/numeric-status/arch-static-numeric-status-contract-001.asl": "98f5b7e8fe831e27ddfd019b142755a3675e04ff9fe7224a881f3f5d28eca221", + "tests/asl/arch/state/pe-execution-context/arch-state-pe-execution-context-core-isolation-001.asl": "12c111747e8cd0b7453b5331de28d9f56a589257e5acf5868266eb446dba6399", + "tests/asl/arch/state/pe-execution-context/arch-static-pe-execution-context-contract-001.asl": "8e339c13423e2424213c0d8682884f35a55616edf904a400c931403a8aae4a7e", "tests/asl/arch/state/program-counter/arch-state-scalar-001.asl": "2f4c57a7182ce6707369e1cca732679572bcf318089ccea5f6188271736d8bda", "tests/asl/arch/state/program-counter/arch-static-program-counter-contract-001.asl": "029beecc1a36ba671aa592a04339db70da60bd5aae48ff817c28d7490cc3047b", "tests/asl/arch/state/tile-descriptor/arch-static-tile-descriptor-contract-001.asl": "7e51eb6f70f41fb28b5986deb7129c1a0d4cd949b7435256c0bdfc4d80832ba4", "tests/asl/arch/state/trap-context/arch-fault-all-leaf-recovery-evidence-001.asl": "895a73c23839eb7eb945fd943f2f7278f13bb6c54342fbe625f59f3b3f24e8a7", - "tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl": "6c9aa86e33db7feebadde8424e5569fafa7e21b2d1a3f10389a02d99b316db16", + "tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl": "460728e4291bd4c713378b9436e89a5569a248e1ca14f44e0078f3c80360ddb3", "tests/asl/arch/state/trap-context/arch-fault-routing-policy-001.asl": "69c5c80eea3b4dc4380e560c027266c98cb6a3bb01ae76cbcac3fd017fabc07e", "tests/asl/arch/state/trap-context/arch-fault-trap-attributes-003.asl": "f7df68b34c3dc9a97bfc61775cec9c11da201aad38971def3207d790df80fcf1", "tests/asl/arch/state/trap-context/arch-fault-trap-bindings-002.asl": "8d480ca45d84e17c8979fe771dafc3e0901bd61af231a7483ad54ebbc6ca476e", @@ -22359,7 +22660,7 @@ "tests/asl/block/execution/BSTART.TPREFETCH/block-exec-bstart-tprefetch-footprint-001.asl": "1176ec83fb8daf56da4b9bc20a365710c93ed1ffa95fb94a85ec28e0a8315936", "tests/asl/block/execution/BSTART.TPREFETCH/block-exec-bstart-tprefetch-packed-001.asl": "c021f47ab702000dbc6179a6de8ac45c3719c72706b615bdf5f3760e8bc56886", "tests/asl/block/execution/BSTART.TPREFETCH/block-fault-bstart-tprefetch-range-preflight-001.asl": "c3941e63962c2afea6609731b441cc6606ae1b745b7feeb06e1597e578c64982", - "tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl": "c0f1a23735cc6458aa2c2a5f7b5bcf048491bd600377e7c39a111cdec2af8eb9", + "tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl": "0837fd64b9dec969ccd6642a74235b10d48695218fbe416db9e0f02795156b8a", "tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-shape-001.asl": "6b3475bfe6ee08a829e9039a5878c767c7a5faa41f965f98692f52a80c083ee3", "tests/asl/block/execution/BSTART.TSTORE/block-decode-bstart-tstore-canonical-001.asl": "5639387e4ef77e43998432976c8701818c670d12c38755ecd3f66ecf16780326", "tests/asl/block/execution/BSTART.TSTORE/block-decode-bstart-tstore-forms-001.asl": "56638b7d38beb48b5db37e2ca15de90b667aa2747d0e5a89545e3f5e5894d833", @@ -22368,7 +22669,6 @@ "tests/asl/block/execution/BSTART.TSTORE/block-exec-bstart-tstore-stride-001.asl": "d3a731df660d2858c25ead6461be9a8e3ef756356753087634e490ab60d1a9a1", "tests/asl/block/execution/BSTART.TSTORE/block-fault-bstart-tstore-cube-access-003.asl": "4fac741c1ca3e83efa3e0ec7cd0462155518d6a8486cf2da8110bc7a9a09fea1", "tests/asl/block/execution/BSTART.TSTORE/block-fault-bstart-tstore-cube-descriptor-004.asl": "e378c0bf09f375b3766477d93ae473c6475695ec802c861564e7504cf62ab83f", - "tests/asl/block/execution/BSTART.TSTORE/block-state-bstart-tstore-undef-001.asl": "6c1d32da27fd3eaf4b485a4863ed9e30cad4cad13971ef762eb9454c1aa9477b", "tests/asl/block/execution/BSTART.VEC/block-bound-bstart-vec-engine-001.asl": "010561adabfcb83f17cbbc8ee90a105488611c3ca2f4adaf1b321f57aa132f17", "tests/asl/block/execution/BSTART.VEC/block-decode-bstart-vec-canonical-001.asl": "4087c1972ea2bfdd73ef43588218e320255807f1192d1a03b4ed0d2e9c151d3b", "tests/asl/block/lifecycle/B.HINT/block-decode-b-hint-canonical-001.asl": "4290872f3ba9bc3b8421f116597373fae99f8d9c627680c633181f6dd4b0c728", @@ -22484,6 +22784,7 @@ "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-mx-shared-both-001.asl": "caf87fbbda43b2050af0a1ef1c9e57e7788d9fa96576c796fbe851fcc6b6f66e", "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-mx-shared-right-001.asl": "90c39ab811f1919c39d1715d42a6424c3a903634f09591f47c05cc163016da3b", "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-bstart-family-036.asl": "81afbac581af20270aa2a6f0a254745822aa0ca940093b1f851357b1fdd5c887", + "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-local-private-fourstream-038.asl": "d70d7d42457cf790d05ef9bf2b2e4305879ae8e202d26ae32607a23e067e69fc", "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-mask-015.asl": "3ae4a822e93a1345d160cf1c86d7aae1847b1cbdd9fd273b7fe9797401bc0838", "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-mshard-021.asl": "03ec749ec8c38fcb0cb14a72c0287c2b7ac8e48599280bee74c157380cdd3040", "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-pair-001.asl": "baa399daae840ce6be83a58117b51f09128ed793a4891730356fa8aed0334316", @@ -22557,6 +22858,8 @@ "tests/asl/block/model/dispatch/generation-schema/block-bound-tci-schema-001.asl": "6ba68d4a5c4d0894da52b3ec3f677714d8f4561a06455cdecd88cac119abdd44", "tests/asl/block/model/dispatch/generation-schema/block-bound-ttri-schema-001.asl": "9b1d78e0af23516a696b5ed73a07677290d40976724e19f944809985e79ce957", "tests/asl/block/model/dispatch/generation-schema/block-static-generation-schema-contract-001.asl": "dc4c4bbd0230a33e8e4bc4936d0993b31aab1e5b037793f40f7c9fa6230ce885", + "tests/asl/block/model/dispatch/gm-obligation-dispatch/block-state-gm-obligation-dispatch-unready-tstore-001.asl": "10872429ffc2d98fd3bdde04a8a6bf37d20f04fb3b577d8337d5530bcbb5d37e", + "tests/asl/block/model/dispatch/gm-obligation-dispatch/block-static-gm-obligation-dispatch-contract-001.asl": "8a03b24f67c6ad7e105d2de9bf3349af4e8eaa606499a319cd2cb531dbc12cb4", "tests/asl/block/model/dispatch/lea-schema/block-static-lea-schema-contract-001.asl": "6e680f416b34f076c1b525c455a511536251603dd5763fe66c06ad0903549ff4", "tests/asl/block/model/dispatch/matrix-scale/block-static-matrix-scale-contract-001.asl": "f489a801420c1c353d1c4650cbfe83017f5e64b4e7ecf254445894b5ec4740d2", "tests/asl/block/model/dispatch/numeric-control/block-static-numeric-control-contract-001.asl": "5f017d6a1efbc475a7a3e96de780a5fde46df5f17913c27834fa16b9e2ff495c", @@ -22577,14 +22880,34 @@ "tests/asl/block/model/dispatch/shared-cube-matrix/block-fault-shared-cube-scale-transpose-005.asl": "f15100800791dd57c18450e3f25df01b1118df15d11e272a0e1dc8b4221b2fed", "tests/asl/block/model/dispatch/shared-cube-matrix/block-static-shared-cube-matrix-contract-001.asl": "9a87138fcf0fe7bba46f6d3447358753f3997f7110d0b9785d0858890355faf7", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-per-pe-gm-001.asl": "b398421107121b5551c5e9cc77949c2ceed6275f03543a55a422925c0d6801aa", + "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-fourstream-010.asl": "519c2fffffe60e925f56d37d32a37235c3ee7ab291b86ff4fbc150c607d7d553", + "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-subview-fourstream-011.asl": "9dc0a780bd07cc8d0cfd0afdfc20572c517583065ad4cf13e71fcc18a0aa625b", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-001.asl": "393f4ac321d39c7ae6b6943763b5b3a17ead480f75f4668d8bbc1efb0677347c", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-byte-stride-007.asl": "174e7fff5a22f3226340909ea950509ca417d331dab0f838e7691443d0969d6e", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-mask-partition-005.asl": "fd9e10238399e0951be9cf1ee24f64ca0fe45c38a5e6eb89127ae0eb6b47b2e7", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-missing-binder-006.asl": "726c1ee6f414f88cb07b134c2966bf64d4f16c7908f4334f92fccae831281f8e", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-partial-004.asl": "a894dffec66c485f601d6fbe15ce36d0641e13fc9fc783a716e11cf2e91d2dca", + "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-pe-owner-008.asl": "660f0961045cca830983a045af66d578e023bd1c014aaa37f0e16f5c6a06cc0d", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-publish-003.asl": "3c24aa07ba44fa61c4e56fe7b6af1628d463db340115f9716a32ef84b80d8ac3", "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-zero-ior-002.asl": "6065623563f2722973a8169033dcc2f96e8e568796488d571539612f2f0aec54", + "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tstore-fourstream-009.asl": "1817562b89b59ab9002ef2d70542ac9ef24584c97dbefd9a0d17c159472459f7", "tests/asl/block/model/dispatch/shared-tlsu/block-fault-tstore-mask-legality-001.asl": "f1e3fc3b73960bf4e230186b850d23e5a7e4de0e28c8bb0099f882b5712244be", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-source-mutation-021.asl": "6571a21a981a9a7d16fea91d1ec678a0e43f5b5d45b66657a76420ec369bc72a", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tload-017.asl": "abf8c4f53a0a9fea8c9fa3054ce91efeeb3e97655f4af7ddd55b7988da5a57b5", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tmov-016.asl": "780c8c267e853d399e1ab8031a29cd05b4290c46c3911b4ddcdc503d02fe1516", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-assemble-tails-021.asl": "009a4a4e8a4945f3e6c882adb4ae85315a0ab4db42c3a2e53c095ce500d3f343", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-partial-valid-row-022.asl": "946214909a7b4e28df3f896fdfd3bb28490bd0d3f3f09f42bbfad8b56bf32a65", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-readiness-020.asl": "472ff18255b38557c6e7f68574d5e6df246a4959cc95ff071c23de3e2940655d", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-singleton-018.asl": "b0951d2016bf24dd800c7d2d187b9256c6ac4bb96700401a6e2a92c7bd7b88b3", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-col-fullview-031.asl": "af66858032f9f3e4179ef8af5b6f6c44ecefd76f517ae8f6bf90670ad5192e2c", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-024.asl": "63fe0b95a5ac7150ae24475e68a85b056ee617a7bbd60d5a5b9a59ef0b6a5deb", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-readiness-028.asl": "436a217d756fa656e0329518946f533f1db479c1a082db0c74acc7b7ef65a966", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nonparticipant-019.asl": "90c16cb2bd79e0fac52acd780b3c3ed1e360f86a3e869e83650db77428838e22", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nz-026.asl": "20bb9d3f7f2a7948a2e915408a97b640f485ef03a35b9b06887d7407db003335", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-fullview-032.asl": "12a77edf18f948a5c85a837b88414b3fca158180db202337da1b3dd3b09b03e3", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-odd-027.asl": "e71e0f639a3a2983b876b2c740f1489574fdb54ff31df321badf234edc1909ba", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-singleton-row-tail-022.asl": "a3d578ccfa0039512696b8568fa3bd8dce6015b02b834ad5d4c8c746a5f6af02", + "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-zn-025.asl": "0cbfe50db3fda17f6c94a9f9ae93a9e218459a6600be05ea520000a6767be1f6", "tests/asl/block/model/dispatch/shared-tlsu/block-static-shared-tlsu-contract-001.asl": "c3a2dd790c901b04c97861fff2f41a07cf5816b66ce5994fc16c1f053bec868c", "tests/asl/block/model/dispatch/start/block-state-bstart-predecessor-sequential-002.asl": "ff0bbc6cd82a50557d1db5bff260e72743892d361063c20140ba7caa3ee0ab28", "tests/asl/block/model/dispatch/start/block-state-bstart-predecessor-taken-001.asl": "d33d93e453bfd8e19a8973b35c9b2e14fc4046ddd6d1a31e740bd0a5ebd10343", @@ -22611,6 +22934,7 @@ "tests/asl/block/model/dispatch/timg2col-schema/block-static-timg2col-schema-contract-001.asl": "3361d746115cae08f44ae8a205a9071312ee2eb01b20e5b5546a0eab75f9bd3d", "tests/asl/block/model/dispatch/tlsu-gm-atom-red/block-exec-masked-atom-red-decoded-002.asl": "b13b70b3dc7ff0295bc0a891d18dae12252bb97ee11b18438bb86c1110ffd188", "tests/asl/block/model/dispatch/tlsu-gm-atom-red/block-static-tlsu-gm-atom-red-contract-001.asl": "76c3e7af32b694d59a8e82e20cac3ea662e5addc4eb9c7e3d62d0907d070a051", + "tests/asl/block/model/dispatch/tlsu-gmov/block-exec-gmov-private-fourstream-010.asl": "6ba2e7cb0c4721d2359804b6a480ed4c5e064cca057f385504423a965e781f26", "tests/asl/block/model/dispatch/tlsu-gmov/block-static-tlsu-gmov-contract-001.asl": "0387d0acd9d80ec4fe1aa33d1eb23110a483305349088a76dad171a5d09d7c33", "tests/asl/block/model/dispatch/tlsu-layout-conversion/block-bound-cube-transport-u64-fence-001.asl": "5686a0a4936b58c4cbcbc99ae6044d5eafcc502159fac4ba34493e8d11fd11aa", "tests/asl/block/model/dispatch/tlsu-layout-conversion/block-bound-tload-tstore-cube-dimensions-001.asl": "a4067cc4c46ee6a89df61180116137de0003eeb580bbe04eb8a134069d22902a", @@ -22656,6 +22980,8 @@ "tests/asl/block/model/operands/local-generation-cube/block-exec-assemble-cube-m32-b64-pairs-001.asl": "4000bee33793f72aa567498e33a787d544650c171c6d4f5c88f79f15979bf2d0", "tests/asl/block/model/operands/local-generation-cube/block-exec-assemble-cube-parent-geometry-001.asl": "346cd936794f8de84d172423a22ba225f30555389ea28288c7d9350ec0728171", "tests/asl/block/model/operands/local-generation-cube/block-static-local-generation-cube-contract-001.asl": "e783fc196a584b00172685ff9fa3bda57402ca2ecc0697ae64aef823ab3e5df1", + "tests/asl/block/model/operands/local-generation-squash/block-state-local-generation-squash-recovery-isolation-001.asl": "99f274746176ea42a995c6f74efe41156589914af15d0eeef0619cc7b9bfaaeb", + "tests/asl/block/model/operands/local-generation-squash/block-static-local-generation-squash-contract-001.asl": "b83724430c20b6f41e49fe98f22c61b9e8ae1c32eb0da75d74b0729f0f9a8a93", "tests/asl/block/model/operands/local-generation/block-atomic-assemble-multioutput-001.asl": "ed0b5fce7dea764814a67c7d63c890aa5be8b5ece59469e3a0bcf0d1b3124204", "tests/asl/block/model/operands/local-generation/block-exec-assemble-alias-consumer-001.asl": "3707fca342b97fbe7468a74eec63d683b32c4a6df4891869bd6e5f687352b2d9", "tests/asl/block/model/operands/local-generation/block-exec-assemble-local-lifecycle-001.asl": "b02c4ffda506694bee3797aefc0e642270667a38b78b191b3f21cd9de46b4ecc", @@ -22673,6 +22999,16 @@ "tests/asl/block/model/operands/range-modifiers/block-static-range-modifiers-contract-001.asl": "95e7fc2f4b4cdbe420feafaf0bd8c64a75297d4dddafe31dcd3d9b12c36d2f7b", "tests/asl/block/model/operands/scalar-bindings/block-static-scalar-bindings-contract-001.asl": "bb2b2cf07b78f3f200a5cfb6dd085f9c75cf2289cd34a15e708e5501214a0aff", "tests/asl/block/model/operands/shared-bindings/block-static-shared-bindings-contract-001.asl": "7a2c31c0851119fcd30d6d8b4678dbe1b84a1ff20e194b72f80dc5f97767c662", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-abort-011.asl": "9b46513cab258b1566b79fb8ec82d66f82a54c6ad8858a1d8dec8dd89154d73f", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-end-012.asl": "234c2472cc118f8897d632b4fb6a86ec6668d9f6da851cdab5ab2f56f093f5e1", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-fast-slow-pe-010.asl": "5b88c4f1e5cb86e8ce97cb9c72aabf7551b4ececd85fd44aa13410e66c2ac8d1", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-pe-009.asl": "9e9079eb621bd6ad8c9280ed9cfccc5734126a8e10f6289a8f5e799397dd6baa", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-squash-014.asl": "54151ee0a433b65603048a204d56eccac033cd19ea2cc384dbead5adfb669f1c", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-copied-view-021.asl": "35a376397ffc004e4b6bd7f846bd6582fb5b10efdc517348b7684535435960f2", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-column-022.asl": "c570e48f13686f151a198aaa51b8c0c4348aa8302ad31cc84bc36f47fc504ab0", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-rows-023.asl": "35a47219dc3e7437663a55a7d1972e6431aa8e067af709a4b2df609dd08ce027", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-fault-shared-tlsu-assemble-overlap-013.asl": "790210c8a248b34b563243f86b5001e44d28241564f2b5a140d13ca3dc2960f2", + "tests/asl/block/model/operands/shared-generation-pe-requests/block-static-shared-generation-pe-requests-contract-001.asl": "c58b416c5e5ef936414ad7e1531d0f9e05a8c10c70d49c3a5a03b5bba80be114", "tests/asl/block/model/operands/shared-generation/block-exec-shared-b-assemble-non-regression-001.asl": "b13c417b3bc5e74cf09d13b4aeb2db257df45cb66b29a1a8935f51dda8eecedd", "tests/asl/block/model/operands/shared-generation/block-exec-shared-generation-001.asl": "7fdf0dadac27a4d974721c1a6522d122c680802f750220f346f1f90246a06011", "tests/asl/block/model/operands/shared-generation/block-exec-shared-generation-explicit-range-001.asl": "6f87071d82fecb0977cb22122ef4826421c5a036f3ebb6566a0047eaa3bc890c", @@ -23020,6 +23356,7 @@ "tests/asl/block/model/state/control-state/block-static-control-state-contract-001.asl": "7e3838ed87026a2aa6075a1664fd63dc3e801114699b979dd9a4ee7c41210e40", "tests/asl/block/model/state/descriptor-state/block-exec-operation-fields-001.asl": "ab9bf918346dd7a933f3b362fcf7f87f650714b5229caa71248b5f74cd0f49e8", "tests/asl/block/model/state/descriptor-state/block-static-descriptor-state-contract-001.asl": "3403f35dcefd253565c98f808af0e61d0cf7e4354ddd10c1f76be60b183b7f9b", + "tests/asl/block/model/state/shared-generation-state/block-state-shared-generation-foreign-retirement-015.asl": "f2b00ce03446039db34781d87e8dabada2c837922fcc2ce78f25f71223ecf1c8", "tests/asl/block/model/state/shared-generation-state/block-static-shared-generation-state-contract-001.asl": "b7accb12a4d4dd4e225593d5629ab0d628662aa15cef7ecf83c9b6f072ed61de", "tests/asl/block/model/state/types/block-static-types-contract-001.asl": "6deef6b157ce1e2043264f9a5d709debb88a34537096d5c21853268992810224", "tests/asl/block/operands/B.ASSEMBLE/block-decode-b-assemble-canonical-001.asl": "1eb9e010027c0a8a3b5fa4de6813279314f02db8f0883777dba44dc99ae4b281", @@ -25017,6 +25354,7 @@ "tests/asl/scalar/model/dispatch/amo/scalar-exec-effects-001.asl": "cec887e71586ff97ec3e3c00ff85f6153932f8afe8c18fb900df8efa0e8c507b", "tests/asl/scalar/model/dispatch/amo/scalar-static-amo-contract-001.asl": "e7c5d112f6f2d8279ef596209679acb231e848122564f8830437ba6062b8a64c", "tests/asl/scalar/model/dispatch/bru/scalar-static-bru-contract-001.asl": "5960be4542a0a31813171bbada059c9b95ccec5c35941ac73c0abb8ff4257677", + "tests/asl/scalar/model/dispatch/decode/scalar-decode-sync-core-near-neighbor-001.asl": "d319e44ba676132b285547d4e9ad1051962cd9afa78e092e8f5bc6234cb7bf4d", "tests/asl/scalar/model/dispatch/decode/scalar-exec-agu-srcrtype-map-002.asl": "43f379e16cdd966273fcd7b1aea44850eedb4bf14e2a98d5adebb251335f4369", "tests/asl/scalar/model/dispatch/decode/scalar-static-decode-contract-001.asl": "0b756ca6f0e7b70b0afc7c01ea9756c5967989153826e7ef359bc358c286044b", "tests/asl/scalar/model/dispatch/fsu/scalar-bound-fp-rounding-001.asl": "1e0f6cdd59d7b3241dcb5fb9bdcb84246e6358b3e82eeb1fdd22ee1d1c0a06bb", @@ -25187,6 +25525,7 @@ "tests/asl/scalar/sys/FENCE.D/scalar-decode-fence-d-canonical-001.asl": "b21f67d63ecb45518e76174be7fc45a94015667d543b71ea737ddc2958559670", "tests/asl/scalar/sys/FENCE.D/scalar-exec-fence-d-direct-001.asl": "347ff12becebbe6a8c2a088c3a0cbba910e9aad9fb7c49cbb52f105ee785d987", "tests/asl/scalar/sys/FENCE.D/scalar-fault-fence-d-place-001.asl": "33c584104ebb4606d8b1a6012f682c19f98019a6c284904f4352084d17645741", + "tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-mask-matrix-001.asl": "d28a6b899c1bef78779dddb51be8635996d98ed071667f4e96352494d4683371", "tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-visible-001.asl": "2f8b4367b854adf27bc2ea954bb0be999c0f8b61789d713a135ae322cf49b452", "tests/asl/scalar/sys/FENCE.I/scalar-decode-fence-i-canonical-001.asl": "3712e39b28810d331e33f5732bd8bd81656af694221df7b104b8c92574e6c809", "tests/asl/scalar/sys/FENCE.I/scalar-exec-fence-i-direct-001.asl": "521f6af26b8143b81c4f4f36517b3034e06e33cd9119593a38e837e4e000e619", @@ -25262,6 +25601,11 @@ "tests/asl/scalar/sys/SSRSWAP/scalar-fault-ssrswap-place-001.asl": "a08a8ebd3220cf1fa8589032f99364768e35e4d8fcef40b8fcf816c6fc529109", "tests/asl/scalar/sys/SSRSWAP/scalar-fault-ssrswap-ring-001.asl": "da612bcd34689f03fabfa5e81cfa91350b5289bf330e138ea1c4228c9dd6bb1a", "tests/asl/scalar/sys/SSRSWAP/scalar-fault-ssrswap-unknown-001.asl": "75d919ca146cf4d6a3e600ed2dbd85d127a260da3ac0f954f9c84a3a31c47aca", + "tests/asl/scalar/sys/SYNC.CORE/scalar-decode-sync-core-canonical-001.asl": "710bd618d291d2f2a74aedbd612cbf3cafa588d68bb20f4bc0b5bb997be83cf4", + "tests/asl/scalar/sys/SYNC.CORE/scalar-exec-sync-core-direct-001.asl": "ae0745516d4e1b2cf8c0d620abe315b0bee0c92b38277f18f36dbf53078fd20a", + "tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-envelope-001.asl": "8379782add5e64295e348fc11c8df35a5857f67a2466c9560d2e5f16bd25eeaa", + "tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-place-001.asl": "30887b5e0f376d03721bee30fa36d93ae81d84d2b46c87b297e59e44c6abaaf6", + "tests/asl/scalar/sys/SYNC.CORE/scalar-state-sync-core-rendezvous-001.asl": "e1c0033ec0ac0fa7fbfecf13c3d4e2034a030efcd3fd2cf9e7a35577fcf1d88d", "tests/asl/scalar/sys/TLB.IA/scalar-decode-tlb-ia-canonical-001.asl": "44a3103b06df4d57637ca8995aef988da1dfb0b424d9d71e141e39c45cbe4cca", "tests/asl/scalar/sys/TLB.IA/scalar-exec-tlb-ia-direct-001.asl": "4ba32c2e21c29fef33fcbf39b83c7be1d76f3d52f9531efa4c19d6044e2a1438", "tests/asl/scalar/sys/TLB.IA/scalar-exec-tlb-ia-tsrc-001.asl": "5882996c2a8922401164e40094d75d9c4e93003b20a38830d1d6a0a9f769d6a7", @@ -25824,6 +26168,7 @@ "tests/asl/tile/model/legality/memory-schema/tile-static-memory-schema-contract-001.asl": "73f9b8d2c868e9ff8c7d26e74eccae471bf5db1974e2153711c88c00fe134335", "tests/asl/tile/model/legality/operand-schema/tile-exec-mask-inactive-div-rem-decoded-002.asl": "5eb5759a2a481e13058e9ccedb436db3c0c247e2b28b78c536a304e75b055211", "tests/asl/tile/model/legality/operand-schema/tile-exec-mask-selector-legality-decoded-003.asl": "64adec6a22fe3e42c5ca3e9160cf4508b0c6fb782dceedd00d9b54dcd899f1fd", + "tests/asl/tile/model/legality/operand-schema/tile-exec-mask-tsel-source-definedness-004.asl": "94236a7a7cb194ef0c363e5ced381d0531609cf253ed38c616486be3ef07b345", "tests/asl/tile/model/legality/operand-schema/tile-fault-decoded-legality-faults-001.asl": "7e03d096d05ab904d5f061d15b604c0159f5681c25f0899b075220c0ecff22c0", "tests/asl/tile/model/legality/operand-schema/tile-static-operand-schema-contract-001.asl": "500a0275bfb6116e6613916832311b121e2ccebfa0b19610c0dcd7d4bf354c93", "tests/asl/tile/model/legality/pe-mask/tile-static-pe-mask-contract-001.asl": "9e69bc9d827a1ce4c71392176c7387e7ab84603a1c17a4bc1bcab804098ffb2c", @@ -25854,6 +26199,7 @@ "tests/asl/tile/model/memory/load-store/tile-exec-tload-cube-m16-b4-005.asl": "aac3a1329eea6d7fe11e5330896665c0e350a22b3bc953a408a5f58410c2291e", "tests/asl/tile/model/memory/load-store/tile-exec-tstore-cube-002.asl": "b7158b364c4bf48b49c74c377183e0e4a169cfc92a64102f4d76587dc75ca38d", "tests/asl/tile/model/memory/load-store/tile-fault-exec-mask-memory-no-effect-001.asl": "c3e760e4f96e358d76371e23b4907d79d7de91c68138ec9fa324da96b4f7f4ec", + "tests/asl/tile/model/memory/load-store/tile-state-gm-progress-live-handler-context-003.asl": "67b0598e93c6ca78a78dd2e68e4f6eba7c65180771c487f3784594a0d0cc8565", "tests/asl/tile/model/memory/load-store/tile-state-tload-cube-pad-004.asl": "4329ad4c9fe8d3bfb7bcb8851e005d61697c1bbb02f8b30c176f899e97fa583c", "tests/asl/tile/model/memory/load-store/tile-static-load-store-contract-001.asl": "a520fb4fa4e0da1c31c5cf32de5a820a61fb56a4bb0a43dfdb53b26a3d3d77a1", "tests/asl/tile/model/memory/restart/tile-exec-memory-completion-and-001.asl": "9e713a615bc6929c2b6d22d4659622a99f66e4114cc317162a739e612d9a08c2", @@ -25975,8 +26321,12 @@ "tests/asl/tile/reduce-and-expand/row-reduction/TROWARGMIN/tile-static-trowargmin-contract-001.asl": "fabf9e852eda25ae567b5171b24871fbe2ff8d82012b3a398fe67ef641fb5ca1", "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u16-001.asl": "b2b0cbc1cdffd6705021c4b3826eb9266778bd6d6b580306a67fd93e7482228f", "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u16-decoded-001.asl": "3e0edc6a079ec348349ad3a671f431bc0e3769f47046b3e8e445e9c260fd1dc2", + "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u8-mask-m16-none-001.asl": "81e6aa716bc5764b99bc1870592a2f4fa8d083a4eb4f49a0bbbe05464fd765a7", + "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u8-mask-m32-any-001.asl": "4a64e1801f193f5e20376c0604ee3c8f77ca1c784b41ae7376191b9874f7c420", "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-static-trowmax-contract-001.asl": "9c0324c4fda6e89e911872f2e819a14d84b9b257cf8d9d884f93f85c7f7958aa", "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-exec-trowmin-s8-001.asl": "d41e5a334cafe67e92334e6ef9007e958761342847fe70267a9983ad5f267348", + "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-exec-trowmin-u8-mask-m16-all-tail-001.asl": "286d6759bb3704eaf8194eb405779094b2b8408b9772ce2d9afe378ff718edcc", + "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-exec-trowmin-u8-mask-m32-all-false-001.asl": "9d3522cf36fb1f1ad95f8ee6aae804f20dc9c5709572d9574330c05ed80ddfa4", "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-static-trowmin-contract-001.asl": "08ea0f51c00644bba086836f54598349d3b2f529f896ca58b605897ea2aac52d", "tests/asl/tile/reduce-and-expand/row-reduction/TROWPROD/tile-exec-trowprod-one-001.asl": "395aa15e93e0e932d116d874aca6633cfb57918dc8a9c3af09f591def0d0cef1", "tests/asl/tile/reduce-and-expand/row-reduction/TROWPROD/tile-static-trowprod-contract-001.asl": "032b9d5438963e7a8b5e7c46f25286fed4790d483a7e6558c0a35f35164104a1", @@ -26076,19 +26426,19 @@ "tests/asl/tile/tile-scalar-and-immediate/logical/TXORS/tile-static-txors-contract-001.asl": "1307d5083cb3ef94263b450f98180653a80c0648f339b2ace7d13ad91b5f29c5" }, "summary": { - "documentation_page_count": 911, - "executable_requirement_count": 670, - "mnemonic_count": 664, + "documentation_page_count": 919, + "executable_requirement_count": 671, + "mnemonic_count": 665, "mnemonic_semantic_gap_count": 0, "mnemonics_without_semantic_tests": [], - "requirement_count": 1103, + "requirement_count": 1111, "status": "closed", - "test_count": 4128, + "test_count": 4197, "uncovered_executable_requirement_count": 0, "uncovered_executable_requirements": [], "uncovered_unit_count": 0, "uncovered_units": [], - "unit_count": 911 + "unit_count": 919 }, "tests": [ { @@ -33487,6 +33837,29 @@ "sha256": "929365a34dde94a5f8b50cbceaf45f9dee2c4af43b74db538247085b373ded30", "source": "asl/scalar/model/fsu/reference-quantization.asl" }, + { + "id": "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/core-synchronization/arch-state-sync-core-encoded-branch-bypass-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-REQ-INSTRUCTION-DISPATCH-001" + ], + "sha256": "f71192e767323828d5ae802e4e66fec293b7d933f96ec9794a38d0bed9cbe845", + "source": "asl/arch/state/core-synchronization.asl" + }, + { + "id": "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "kind": "ordering", + "path": "tests/asl/arch/state/core-synchronization/arch-order-core-sync-history-persistence-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001" + ], + "sha256": "b00e0a00df769642126080557dc2f127bb02c99b60673309e06edf7ca639258b", + "source": "asl/arch/state/core-synchronization.asl" + }, { "id": "PTO-AVS-ARCH-CUBE-RESET-001", "kind": "state-transition", @@ -34142,6 +34515,101 @@ "sha256": "1949403e8e837eb2aaeaf3edda5e39f66a7f7a3ce07b6c742580579c0743097c", "source": "asl/arch/memory-model/global-memory-access.asl" }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-delayed-tstore-001.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "426c36b433a7bdbba86db992196fb93138cdadd3696aedef7c65e3baf6f09876", + "source": "asl/arch/state/kernel-lifecycle.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-acr-004.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "9be9b64c5f0993781198da6f8297d026999cbb4ebb60820bbbb3862bed605c13", + "source": "asl/arch/memory-model/gm-obligations.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-tstore-002.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "b1459b3e7d8c54bb1babc2369cd1a1297cfba144a236b48b711daa989195867b", + "source": "asl/arch/memory-model/gm-obligations.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-first-capture-acr-003.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "0df642c3f9e63aad99632f57c35cf5346193d0996889d64e7a90935bf14291d3", + "source": "asl/arch/memory-model/gm-obligations.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-scalar-fault-retry-001.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001" + ], + "sha256": "5dabcd85bf021362922e7b9b61ec8926fdb3ef296af9b539608ebbb6ab71414a", + "source": "asl/arch/memory-model/gm-obligations.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "kind": "state-transition", + "path": "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-tstore-quiescence-002.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "39e7364b068a4786adecbb8d71eb80ffc8f412a626bc56214967407a16cb0e24", + "source": "asl/arch/state/kernel-lifecycle.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", + "kind": "state-transition", + "path": "tests/asl/tile/model/memory/load-store/tile-state-gm-progress-live-handler-context-003.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "67b0598e93c6ca78a78dd2e68e4f6eba7c65180771c487f3784594a0d0cc8565", + "source": "asl/tile/model/memory/load-store.asl" + }, + { + "id": "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/ordering/arch-state-gm-reservation-invalidation-001.asl", + "requirements": [ + "PTO-ARCH-MEMORY-MODEL-ATOMIC-CROSS-AGENT-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001" + ], + "sha256": "c8b38df025d4b8f38cf7371ce4b41b80ce9df960dee12e9b4341e5bbfe7e3b2f", + "source": "asl/arch/memory-model/ordering.asl" + }, { "id": "PTO-AVS-ARCH-GQM-RESET-001", "kind": "state-transition", @@ -34258,6 +34726,17 @@ "sha256": "94e884d5fd30ec41353300eab7f183f5b4d281da014f2113cb4a1f5fd370f75e", "source": "asl/arch/memory-model/instruction-fetch.asl" }, + { + "id": "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003", + "kind": "state-transition", + "path": "tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-fresh-launch-retires-trap-frames-003.asl", + "requirements": [ + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "4f05de67468dec76b0c018f574cecaba23e07e02881a6fa536d51b4c87544f7d", + "source": "asl/arch/state/kernel-lifecycle.asl" + }, { "id": "PTO-AVS-ARCH-MATRIX-INTERMEDIATE-002", "kind": "execution", @@ -34322,9 +34801,10 @@ "path": "tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl", "requirements": [ "PTO-ARCH-MEMORY-MODEL-REPLAY-001", - "PTO-ARCH-MEMORY-MODEL-FLUSH-001" + "PTO-ARCH-MEMORY-MODEL-FLUSH-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" ], - "sha256": "d449e000a02a6c02287b566a70efc615348d1c6b9ed08a89091abf6d4dd5412d", + "sha256": "ff7c2ddfc79034d95a30f0e831ed60d3b2ffb6e7beda4d44919377ec4a8a0495", "source": "asl/arch/memory-model/fault-precision.asl" }, { @@ -34337,6 +34817,16 @@ "sha256": "a99f4e240da5f3f18704ac05f623bbd44dd592086fcbf9b58e913a018994799c", "source": "asl/arch/memory-model/global-memory-access.asl" }, + { + "id": "PTO-AVS-ARCH-MEMORY-MODEL-GM-OBLIGATIONS-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/arch/memory-model/gm-obligations/arch-static-gm-obligations-contract-001.asl", + "requirements": [ + "PTO-ARCH-GM-OBLIGATIONS-001" + ], + "sha256": "f516952871f4e457a0f8417f5daa85e3af0bb4288fd2fc152cf35550f97b6aa4", + "source": "asl/arch/memory-model/gm-obligations.asl" + }, { "id": "PTO-AVS-ARCH-MEMORY-MODEL-INSTRUCTION-FETCH-STATIC-001", "kind": "static-invariant", @@ -34366,6 +34856,7 @@ "path": "tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl", "requirements": [ "PTO-ARCH-MEMORY-MODEL-SCOPE-001", + "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001", "PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001", "PTO-ARCH-MEMORY-MODEL-SHAREABILITY-001", "PTO-ARCH-MEMORY-MODEL-RANGE-001", @@ -34377,7 +34868,18 @@ "PTO-ARCH-MEMORY-MODEL-ATOMIC-001", "PTO-ARCH-MEMORY-MODEL-OPEN-001" ], - "sha256": "0c6383126514c543b9914bc288cb9089ee76e38507c3ec207649937eacb6ef43", + "sha256": "d02a6082c7caaa8f6e4b9ceeb86c453b034aafd8e8e7557dafba757ea9a0b263", + "source": "asl/arch/memory-model/ordering.asl" + }, + { + "id": "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", + "kind": "state-transition", + "path": "tests/asl/arch/memory-model/ordering/arch-state-rc-replay-peer-read-from-001.asl", + "requirements": [ + "PTO-ARCH-MEMORY-MODEL-REPLAY-001", + "PTO-ARCH-MEMORY-MODEL-FLUSH-001" + ], + "sha256": "e1f30c1d0ef5bf3f2cacd88326cd30a186976af4a51db6a635df93b6f24a2592", "source": "asl/arch/memory-model/ordering.asl" }, { @@ -34722,7 +35224,7 @@ "requirements": [ "PTO-REQ-STATE-001" ], - "sha256": "6c9aa86e33db7feebadde8424e5569fafa7e21b2d1a3f10389a02d99b316db16", + "sha256": "460728e4291bd4c713378b9436e89a5569a248e1ca14f44e0078f3c80360ddb3", "source": "asl/arch/state/trap-context.asl" }, { @@ -34733,9 +35235,10 @@ "PTO-ARCH-MEMORY-MODEL-ATOMIC-CROSS-AGENT-001", "PTO-ARCH-MEMORY-MODEL-FENCE-TRANSPORT-001", "PTO-ARCH-MEMORY-MODEL-REPLAY-001", - "PTO-ARCH-MEMORY-MODEL-FLUSH-001" + "PTO-ARCH-MEMORY-MODEL-FLUSH-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001" ], - "sha256": "ea95ebc894d6e3e13d3732a6e3a528660f8dae66b97031cb9dce679db5c2516f", + "sha256": "b9393d6eea23e679c4cc17054632e310f512d5c5277990d96e5d00cf0fc6cbc9", "source": "asl/arch/memory-model/ordering.asl" }, { @@ -34924,6 +35427,16 @@ "sha256": "cd14358abdcdc581576cfebd5dfd7d808f7b19d7a33f45fdefcf211375926906", "source": "asl/tile/model/numeric/reference-conversion.asl" }, + { + "id": "PTO-AVS-ARCH-STATE-CORE-SYNCHRONIZATION-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/arch/state/core-synchronization/arch-static-core-synchronization-contract-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001" + ], + "sha256": "b2ccbb64d209b65c1442191cc4b968b27c395b851f5456a6cd7ba83272e3e72f", + "source": "asl/arch/state/core-synchronization.asl" + }, { "id": "PTO-AVS-ARCH-STATE-DEFINEDNESS-STATIC-001", "kind": "static-invariant", @@ -34932,6 +35445,16 @@ "sha256": "5389abfd59ea0e176acc50273c7920ead6512702a2188556c41a1c8384a9216d", "source": "asl/arch/state/definedness.asl" }, + { + "id": "PTO-AVS-ARCH-STATE-KERNEL-LIFECYCLE-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/arch/state/kernel-lifecycle/arch-static-kernel-lifecycle-contract-001.asl", + "requirements": [ + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "5e1696d42da260d0b24a5a12e7aa73e29de92e09666d6117dd1627c9e1ac34cc", + "source": "asl/arch/state/kernel-lifecycle.asl" + }, { "id": "PTO-AVS-ARCH-STATE-NUMERIC-STATUS-STATIC-001", "kind": "static-invariant", @@ -34942,6 +35465,16 @@ "sha256": "98f5b7e8fe831e27ddfd019b142755a3675e04ff9fe7224a881f3f5d28eca221", "source": "asl/arch/state/numeric-status.asl" }, + { + "id": "PTO-AVS-ARCH-STATE-PE-EXECUTION-CONTEXT-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/arch/state/pe-execution-context/arch-static-pe-execution-context-contract-001.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001" + ], + "sha256": "8e339c13423e2424213c0d8682884f35a55616edf904a400c931403a8aae4a7e", + "source": "asl/arch/state/pe-execution-context.asl" + }, { "id": "PTO-AVS-ARCH-STATE-PROGRAM-COUNTER-STATIC-001", "kind": "static-invariant", @@ -34966,6 +35499,39 @@ "sha256": "576010933b4c5e154f6e1319de00442b055b68d58b1666b00eda2b79929cb6fe", "source": "asl/arch/state/trap-context.asl" }, + { + "id": "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "kind": "state-transition", + "path": "tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-abort-reclaims-generation-ring-002.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "989a60a6552c4dfa726818777055ab6fb5795ab0c4d041cfb4b5c4657a306127", + "source": "asl/arch/state/core-synchronization.asl" + }, + { + "id": "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/core-synchronization/arch-state-sync-core-site-mismatch-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "78404d5a519eacfcf95c45e6339b04c616e88a31610f6694bf0aa2a18c700c8b", + "source": "asl/arch/state/core-synchronization.asl" + }, + { + "id": "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-history-ring-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001" + ], + "sha256": "349ab5ae9598111844da6aa9d544d9fd45c53c413cf15c4f58bbf378558e609f", + "source": "asl/arch/state/core-synchronization.asl" + }, { "id": "PTO-AVS-ARCH-SYSREG-RESET-ACCESS-001", "kind": "state-transition", @@ -35063,7 +35629,7 @@ "kind": "fault", "path": "tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl", "requirements": [], - "sha256": "6fdc7c8ff961dbd270331b7b620c3c2d1c451b9e786d09d619f71164b027535b", + "sha256": "6c18bfdff0279b6d4fbaf3cb3c8e1ee111b4d5e82e1688136b88be6fa7902ba3", "source": "asl/arch/data-types/fault.asl" }, { @@ -38146,6 +38712,18 @@ "sha256": "90e1b7c97122097212eeb780ccce9290c77f579645b4208f77e1d5cea58c674b", "source": "asl/block/execution/BSTART.GMOV.asl" }, + { + "id": "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/tlsu-gmov/block-exec-gmov-private-fourstream-010.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-BSTART-GMOV-COLLECTIVE-001", + "PTO-GMOV-CORE4-PEER-001" + ], + "sha256": "6ba2e7cb0c4721d2359804b6a480ed4c5e064cca057f385504423a965e781f26", + "source": "asl/block/model/dispatch/tlsu-gmov.asl" + }, { "id": "PTO-AVS-BLOCK-GMOV-READINESS-001", "kind": "fault", @@ -38297,6 +38875,19 @@ "sha256": "3e7beabaf211d6adf70baa4f1fbd10d86f1061b48f2fbd5267d3529d8a7410ba", "source": "asl/block/lifecycle/L.BSTOP.asl" }, + { + "id": "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "kind": "state-transition", + "path": "tests/asl/block/model/operands/local-generation-squash/block-state-local-generation-squash-recovery-isolation-001.asl", + "requirements": [ + "PTO-B-ASSEMBLE-SPECULATION-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "99f274746176ea42a995c6f74efe41156589914af15d0eeef0619cc7b9bfaaeb", + "source": "asl/block/model/operands/local-generation-squash.asl" + }, { "id": "PTO-AVS-BLOCK-MASK-AWARE-EXPANSION-DECODED-003", "kind": "execution", @@ -38787,6 +39378,14 @@ "sha256": "dc4c4bbd0230a33e8e4bc4936d0993b31aab1e5b037793f40f7c9fa6230ce885", "source": "asl/block/model/dispatch/generation-schema.asl" }, + { + "id": "PTO-AVS-BLOCK-MODEL-DISPATCH-GM-OBLIGATION-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/block/model/dispatch/gm-obligation-dispatch/block-static-gm-obligation-dispatch-contract-001.asl", + "requirements": [], + "sha256": "8a03b24f67c6ad7e105d2de9bf3349af4e8eaa606499a319cd2cb531dbc12cb4", + "source": "asl/block/model/dispatch/gm-obligation-dispatch.asl" + }, { "id": "PTO-AVS-BLOCK-MODEL-DISPATCH-LEA-SCHEMA-STATIC-001", "kind": "static-invariant", @@ -39107,6 +39706,14 @@ "sha256": "e783fc196a584b00172685ff9fa3bda57402ca2ecc0697ae64aef823ab3e5df1", "source": "asl/block/model/operands/local-generation-cube.asl" }, + { + "id": "PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/block/model/operands/local-generation-squash/block-static-local-generation-squash-contract-001.asl", + "requirements": [], + "sha256": "b83724430c20b6f41e49fe98f22c61b9e8ae1c32eb0da75d74b0729f0f9a8a93", + "source": "asl/block/model/operands/local-generation-squash.asl" + }, { "id": "PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-STATIC-001", "kind": "static-invariant", @@ -43527,6 +44134,40 @@ "sha256": "b13c417b3bc5e74cf09d13b4aeb2db257df45cb66b29a1a8935f51dda8eecedd", "source": "asl/block/model/operands/shared-generation.asl" }, + { + "id": "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-source-mutation-021.asl", + "requirements": [ + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "6571a21a981a9a7d16fea91d1ec678a0e43f5b5d45b66657a76420ec369bc72a", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tload-017.asl", + "requirements": [ + "PTO-TLOAD-MEMORY-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "abf8c4f53a0a9fea8c9fa3054ce91efeeb3e97655f4af7ddd55b7988da5a57b5", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tmov-016.asl", + "requirements": [ + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "780c8c267e853d399e1ab8031a29cd05b4290c46c3911b4ddcdc503d02fe1516", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, { "id": "PTO-AVS-BLOCK-SHARED-CUBE-SCALE-CONTROL-ZERO-004", "kind": "execution", @@ -43593,6 +44234,37 @@ "sha256": "6f87071d82fecb0977cb22122ef4826421c5a036f3ebb6566a0047eaa3bc890c", "source": "asl/block/model/operands/shared-generation.asl" }, + { + "id": "PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001", + "kind": "static-invariant", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-static-shared-generation-pe-requests-contract-001.asl", + "requirements": [], + "sha256": "c58b416c5e5ef936414ad7e1531d0f9e05a8c10c70d49c3a5a03b5bba80be114", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-fourstream-010.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001" + ], + "sha256": "519c2fffffe60e925f56d37d32a37235c3ee7ab291b86ff4fbc150c607d7d553", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-subview-fourstream-011.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-SUBVIEW-SHARED-PER-PE-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001" + ], + "sha256": "9dc0a780bd07cc8d0cfd0afdfc20572c517583065ad4cf13e71fcc18a0aa625b", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, { "id": "PTO-AVS-BLOCK-SHARED-RANGE-CONSTRUCTION-001", "kind": "execution", @@ -43624,6 +44296,130 @@ "sha256": "86c2349b23fcc3093e7404699b5f1daeafec5e6b0da0241ad8467ffaecd40ba2", "source": "asl/block/model/operands/shared-generation.asl" }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-assemble-tails-021.asl", + "requirements": [ + "PTO-TLOAD-MEMORY-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001" + ], + "sha256": "009a4a4e8a4945f3e6c882adb4ae85315a0ab4db42c3a2e53c095ce500d3f343", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-partial-valid-row-022.asl", + "requirements": [ + "PTO-TLOAD-MEMORY-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "946214909a7b4e28df3f896fdfd3bb28490bd0d3f3f09f42bbfad8b56bf32a65", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-readiness-020.asl", + "requirements": [ + "PTO-TLOAD-MEMORY-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "472ff18255b38557c6e7f68574d5e6df246a4959cc95ff071c23de3e2940655d", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-singleton-018.asl", + "requirements": [ + "PTO-TLOAD-MEMORY-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "b0951d2016bf24dd800c7d2d187b9256c6ac4bb96700401a6e2a92c7bd7b88b3", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-abort-011.asl", + "requirements": [ + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "9b46513cab258b1566b79fb8ec82d66f82a54c6ad8858a1d8dec8dd89154d73f", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-end-012.asl", + "requirements": [ + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "234c2472cc118f8897d632b4fb6a86ec6668d9f6da851cdab5ab2f56f093f5e1", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-fast-slow-pe-010.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "5b88c4f1e5cb86e8ce97cb9c72aabf7551b4ececd85fd44aa13410e66c2ac8d1", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015", + "kind": "state-transition", + "path": "tests/asl/block/model/state/shared-generation-state/block-state-shared-generation-foreign-retirement-015.asl", + "requirements": [ + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "f2b00ce03446039db34781d87e8dabada2c837922fcc2ce78f25f71223ecf1c8", + "source": "asl/block/model/state/shared-generation-state.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "kind": "fault", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-fault-shared-tlsu-assemble-overlap-013.asl", + "requirements": [ + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "790210c8a248b34b563243f86b5001e44d28241564f2b5a140d13ca3dc2960f2", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-pe-009.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001" + ], + "sha256": "9e9079eb621bd6ad8c9280ed9cfccc5734126a8e10f6289a8f5e799397dd6baa", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-squash-014.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SPECULATION-001" + ], + "sha256": "54151ee0a433b65603048a204d56eccac033cd19ea2cc384dbead5adfb669f1c", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, { "id": "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "kind": "execution", @@ -43672,6 +44468,18 @@ "sha256": "a894dffec66c485f601d6fbe15ce36d0641e13fc9fc783a716e11cf2e91d2dca", "source": "asl/block/model/dispatch/shared-tlsu.asl" }, + { + "id": "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-pe-owner-008.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001" + ], + "sha256": "660f0961045cca830983a045af66d578e023bd1c014aaa37f0e16f5c6a06cc0d", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, { "id": "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "kind": "execution", @@ -43704,6 +44512,156 @@ "sha256": "6065623563f2722973a8169033dcc2f96e8e568796488d571539612f2f0aec54", "source": "asl/block/model/dispatch/shared-tlsu.asl" }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-col-fullview-031.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "af66858032f9f3e4179ef8af5b6f6c44ecefd76f517ae8f6bf90670ad5192e2c", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-024.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "63fe0b95a5ac7150ae24475e68a85b056ee617a7bbd60d5a5b9a59ef0b6a5deb", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-readiness-028.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "436a217d756fa656e0329518946f533f1db479c1a082db0c74acc7b7ef65a966", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-copied-view-021.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-TMOV-CONTRACT-001" + ], + "sha256": "35a376397ffc004e4b6bd7f846bd6582fb5b10efdc517348b7684535435960f2", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nonparticipant-019.asl", + "requirements": [ + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001" + ], + "sha256": "90c16cb2bd79e0fac52acd780b3c3ed1e360f86a3e869e83650db77428838e22", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nz-026.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "20bb9d3f7f2a7948a2e915408a97b640f485ef03a35b9b06887d7407db003335", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-fullview-032.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "12a77edf18f948a5c85a837b88414b3fca158180db202337da1b3dd3b09b03e3", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-odd-027.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "e71e0f639a3a2983b876b2c740f1489574fdb54ff31df321badf234edc1909ba", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-column-022.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-TMOV-CONTRACT-001" + ], + "sha256": "c570e48f13686f151a198aaa51b8c0c4348aa8302ad31cc84bc36f47fc504ab0", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023", + "kind": "execution", + "path": "tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-rows-023.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001", + "PTO-B-ASSEMBLE-SHARED-STANDALONE-001", + "PTO-TMOV-CONTRACT-001" + ], + "sha256": "35a47219dc3e7437663a55a7d1972e6431aa8e067af709a4b2df609dd08ce027", + "source": "asl/block/model/operands/shared-generation-pe-requests.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-singleton-row-tail-022.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "a3d578ccfa0039512696b8568fa3bd8dce6015b02b834ad5d4c8c746a5f6af02", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "kind": "state-transition", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-zn-025.asl", + "requirements": [ + "PTO-TMOV-CONTRACT-001", + "PTO-B-ASSEMBLE-SHARED-GENERATION-001" + ], + "sha256": "0cbfe50db3fda17f6c94a9f9ae93a9e218459a6600be05ea520000a6767be1f6", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, + { + "id": "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tstore-fourstream-009.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-INST-TILE-TSTORE", + "PTO-ARCH-MEMORY-MODEL-REPLAY-001" + ], + "sha256": "1817562b89b59ab9002ef2d70542ac9ef24584c97dbefd9a0d17c159472459f7", + "source": "asl/block/model/dispatch/shared-tlsu.asl" + }, { "id": "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001", "kind": "fault", @@ -44971,6 +45929,18 @@ "sha256": "6783c2a8d3e3bb62f8a088086e0411197417869d5c056ddb2437015bcbfb3361", "source": "asl/block/model/dispatch/cube-tmatmul.asl" }, + { + "id": "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", + "kind": "execution", + "path": "tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-local-private-fourstream-038.asl", + "requirements": [ + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-CUBE-GROUP-M-DISTRIBUTION-001", + "PTO-B-SHARED-WHOLE-PARENT-READY-001" + ], + "sha256": "d70d7d42457cf790d05ef9bf2b2e4305879ae8e202d26ae32607a23e067e69fc", + "source": "asl/block/model/dispatch/cube-tmatmul.asl" + }, { "id": "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "kind": "execution", @@ -45461,9 +46431,10 @@ "path": "tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl", "requirements": [ "PTO-B-SHARED-WHOLE-PARENT-READY-001", - "PTO-INST-BLOCK-BSTART-TSTORE" + "PTO-INST-BLOCK-BSTART-TSTORE", + "PTO-ARCH-GM-OBLIGATIONS-001" ], - "sha256": "c0f1a23735cc6458aa2c2a5f7b5bcf048491bd600377e7c39a111cdec2af8eb9", + "sha256": "0837fd64b9dec969ccd6642a74235b10d48695218fbe416db9e0f02795156b8a", "source": "asl/block/execution/BSTART.TSTORE.asl" }, { @@ -45502,13 +46473,16 @@ { "id": "PTO-AVS-BLOCK-TSTORE-UNDEF-001", "kind": "state-transition", - "path": "tests/asl/block/execution/BSTART.TSTORE/block-state-bstart-tstore-undef-001.asl", + "path": "tests/asl/block/model/dispatch/gm-obligation-dispatch/block-state-gm-obligation-dispatch-unready-tstore-001.asl", "requirements": [ "PTO-B-SHARED-WHOLE-PARENT-READY-001", - "PTO-INST-BLOCK-BSTART-TSTORE" + "PTO-INST-BLOCK-BSTART-TSTORE", + "PTO-ARCH-GM-OBLIGATIONS-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" ], - "sha256": "6c1d32da27fd3eaf4b485a4863ed9e30cad4cad13971ef762eb9454c1aa9477b", - "source": "asl/block/execution/BSTART.TSTORE.asl" + "sha256": "10872429ffc2d98fd3bdde04a8a6bf37d20f04fb3b577d8337d5530bcbb5d37e", + "source": "asl/block/model/dispatch/gm-obligation-dispatch.asl" }, { "id": "PTO-AVS-BLOCK-TTRI-SCHEMA-001", @@ -51560,6 +52534,17 @@ "sha256": "b21f67d63ecb45518e76174be7fc45a94015667d543b71ea737ddc2958559670", "source": "asl/scalar/sys/FENCE.D.asl" }, + { + "id": "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", + "kind": "ordering", + "path": "tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-mask-matrix-001.asl", + "requirements": [ + "PTO-INST-SCALAR-FENCE-D", + "PTO-ARCH-MEMORY-MODEL-FENCE-TRANSPORT-001" + ], + "sha256": "d28a6b899c1bef78779dddb51be8635996d98ed071667f4e96352494d4683371", + "source": "asl/scalar/sys/FENCE.D.asl" + }, { "id": "PTO-AVS-SCALAR-FENCE-I-DECODE-001", "kind": "decode-positive", @@ -58100,6 +59085,77 @@ "sha256": "d1ddc0fe5a92fa82460f6864cd8977c4a74ddbea2314046d7591c4ce72d1a9aa", "source": "asl/scalar/agu/SWI.U.asl" }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/pe-execution-context/arch-state-pe-execution-context-core-isolation-001.asl", + "requirements": [ + "PTO-REQ-STATE-001", + "PTO-ARCH-PE-EXECUTION-CONTEXT-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001" + ], + "sha256": "12c111747e8cd0b7453b5331de28d9f56a589257e5acf5868266eb446dba6399", + "source": "asl/arch/state/pe-execution-context.asl" + }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-DECODE-001", + "kind": "decode-positive", + "path": "tests/asl/scalar/sys/SYNC.CORE/scalar-decode-sync-core-canonical-001.asl", + "requirements": [ + "PTO-INST-SCALAR-SYNC-CORE" + ], + "sha256": "710bd618d291d2f2a74aedbd612cbf3cafa588d68bb20f4bc0b5bb997be83cf4", + "source": "asl/scalar/sys/SYNC.CORE.asl" + }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "kind": "fault", + "path": "tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-envelope-001.asl", + "requirements": [ + "PTO-SYNC-CORE-DECISION-BINDING-001", + "PTO-REQ-INSTRUCTION-FETCH-001", + "PTO-ARCH-CORE-SYNCHRONIZATION-001" + ], + "sha256": "8379782add5e64295e348fc11c8df35a5857f67a2466c9560d2e5f16bd25eeaa", + "source": "asl/scalar/sys/SYNC.CORE.asl" + }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001", + "kind": "state-transition", + "path": "tests/asl/arch/state/core-synchronization/arch-state-sync-core-fast-reuse-001.asl", + "requirements": [ + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001", + "PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001" + ], + "sha256": "b1333c2fb986e5b51cb065e45cec57dced59036504baeeb40b5ff69605b296d0", + "source": "asl/arch/state/core-synchronization.asl" + }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001", + "kind": "decode-negative", + "path": "tests/asl/scalar/model/dispatch/decode/scalar-decode-sync-core-near-neighbor-001.asl", + "requirements": [ + "PTO-REQ-INSTRUCTION-DISPATCH-001", + "PTO-INST-SCALAR-SYNC-CORE" + ], + "sha256": "d319e44ba676132b285547d4e9ad1051962cd9afa78e092e8f5bc6234cb7bf4d", + "source": "asl/scalar/model/dispatch/decode.asl" + }, + { + "id": "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001", + "kind": "state-transition", + "path": "tests/asl/scalar/sys/SYNC.CORE/scalar-state-sync-core-rendezvous-001.asl", + "requirements": [ + "PTO-SYNC-CORE-DECISION-BINDING-001", + "PTO-INST-SCALAR-SYNC-CORE", + "PTO-ARCH-CORE-SYNCHRONIZATION-001", + "PTO-ARCH-KERNEL-LIFECYCLE-001" + ], + "sha256": "e1c0033ec0ac0fa7fbfecf13c3d4e2034a030efcd3fd2cf9e7a35577fcf1d88d", + "source": "asl/scalar/sys/SYNC.CORE.asl" + }, { "id": "PTO-AVS-SCALAR-SYS-CANON-001", "kind": "execution", @@ -60052,6 +61108,26 @@ "sha256": "4a3da23a3f5e1f46d8eaf24f3af185eb840d8470839a7bffce97950dab766187", "source": "asl/scalar/sys/SSRSWAP.asl" }, + { + "id": "PTO-AVS-SYS-SYNC-CORE-EXEC-001", + "kind": "execution", + "path": "tests/asl/scalar/sys/SYNC.CORE/scalar-exec-sync-core-direct-001.asl", + "requirements": [ + "PTO-INST-SCALAR-SYNC-CORE" + ], + "sha256": "ae0745516d4e1b2cf8c0d620abe315b0bee0c92b38277f18f36dbf53078fd20a", + "source": "asl/scalar/sys/SYNC.CORE.asl" + }, + { + "id": "PTO-AVS-SYS-SYNC-CORE-PLACE-001", + "kind": "fault", + "path": "tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-place-001.asl", + "requirements": [ + "PTO-INST-SCALAR-SYNC-CORE" + ], + "sha256": "30887b5e0f376d03721bee30fa36d93ae81d84d2b46c87b297e59e44c6abaaf6", + "source": "asl/scalar/sys/SYNC.CORE.asl" + }, { "id": "PTO-AVS-SYS-TLB-IA-EXEC-001", "kind": "execution", @@ -60695,6 +61771,17 @@ "sha256": "cd9ea0c4854cc428c579d40f43c231c0e7815b25a1cc602cbe5dd0cefa3f56fd", "source": "asl/tile/model/execution/execution-mask.asl" }, + { + "id": "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", + "kind": "execution", + "path": "tests/asl/tile/model/legality/operand-schema/tile-exec-mask-tsel-source-definedness-004.asl", + "requirements": [ + "PTO-TSEL-CONTRACT-001", + "PTO-TILE-MODEL-EXECUTION-MASK-APPLICABILITY-001" + ], + "sha256": "94236a7a7cb194ef0c363e5ced381d0531609cf253ed38c616486be3ef07b345", + "source": "asl/tile/model/legality/operand-schema.asl" + }, { "id": "PTO-AVS-TILE-EXPANSION-CUBE-001", "kind": "execution", @@ -66830,6 +67917,26 @@ "sha256": "3e0edc6a079ec348349ad3a671f431bc0e3769f47046b3e8e445e9c260fd1dc2", "source": "asl/tile/reduce-and-expand/row-reduction/TROWMAX.asl" }, + { + "id": "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "kind": "execution", + "path": "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u8-mask-m16-none-001.asl", + "requirements": [ + "PTO-INST-TILE-TROWMAX" + ], + "sha256": "81e6aa716bc5764b99bc1870592a2f4fa8d083a4eb4f49a0bbbe05464fd765a7", + "source": "asl/tile/reduce-and-expand/row-reduction/TROWMAX.asl" + }, + { + "id": "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001", + "kind": "execution", + "path": "tests/asl/tile/reduce-and-expand/row-reduction/TROWMAX/tile-exec-trowmax-u8-mask-m32-any-001.asl", + "requirements": [ + "PTO-INST-TILE-TROWMAX" + ], + "sha256": "4a64e1801f193f5e20376c0604ee3c8f77ca1c784b41ae7376191b9874f7c420", + "source": "asl/tile/reduce-and-expand/row-reduction/TROWMAX.asl" + }, { "id": "PTO-AVS-TILE-TROWMIN-S8-001", "kind": "execution", @@ -66850,6 +67957,26 @@ "sha256": "08ea0f51c00644bba086836f54598349d3b2f529f896ca58b605897ea2aac52d", "source": "asl/tile/reduce-and-expand/row-reduction/TROWMIN.asl" }, + { + "id": "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "kind": "execution", + "path": "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-exec-trowmin-u8-mask-m16-all-tail-001.asl", + "requirements": [ + "PTO-INST-TILE-TROWMIN" + ], + "sha256": "286d6759bb3704eaf8194eb405779094b2b8408b9772ce2d9afe378ff718edcc", + "source": "asl/tile/reduce-and-expand/row-reduction/TROWMIN.asl" + }, + { + "id": "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001", + "kind": "execution", + "path": "tests/asl/tile/reduce-and-expand/row-reduction/TROWMIN/tile-exec-trowmin-u8-mask-m32-all-false-001.asl", + "requirements": [ + "PTO-INST-TILE-TROWMIN" + ], + "sha256": "9d3522cf36fb1f1ad95f8ee6aae804f20dc9c5709572d9574330c05ed80ddfa4", + "source": "asl/tile/reduce-and-expand/row-reduction/TROWMIN.asl" + }, { "id": "PTO-AVS-TILE-TROWPROD-ONE-001", "kind": "execution", @@ -68533,7 +69660,8 @@ "mnemonic": null, "readiness_subjects": [ "ADR-GOV-0013", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "semantic_tests": [], "source": "asl/arch/data-types/memory-model.asl", @@ -68700,6 +69828,7 @@ "ADR-BLOCK-0016", "ADR-GOV-0013", "ADR-MEM-0011", + "ADR-SCALAR-0007", "ADR-STATE-0005", "ADR-STATE-0009" ], @@ -68723,7 +69852,8 @@ "mnemonic": null, "readiness_subjects": [ "ADR-BLOCK-0012", - "ADR-GOV-0001" + "ADR-GOV-0001", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-ARCH-DECODER-COVERAGE-001", @@ -68950,7 +70080,8 @@ "readiness_subjects": [ "ADR-GOV-0013", "ADR-MEM-0002", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "semantic_tests": [], "source": "asl/arch/memory-model/fault-precision.asl", @@ -68984,6 +70115,33 @@ "PTO-AVS-ARCH-MEMORY-MODEL-GLOBAL-MEMORY-ACCESS-STATIC-001" ] }, + { + "classification": [ + "memory-model", + "gm-obligations" + ], + "documentation": "docs/arch/memory-model/gm-obligations.md", + "id": "PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001" + ], + "source": "asl/arch/memory-model/gm-obligations.asl", + "surface": "arch", + "tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004", + "PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002", + "PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003", + "PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001", + "PTO-AVS-ARCH-MEMORY-MODEL-GM-OBLIGATIONS-STATIC-001" + ] + }, { "classification": [ "memory-model", @@ -69031,7 +70189,8 @@ "readiness_subjects": [ "ADR-GOV-0013", "ADR-MEM-0002", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "semantic_tests": [], "source": "asl/arch/memory-model/memory-events.asl", @@ -69051,10 +70210,13 @@ "readiness_subjects": [ "ADR-GOV-0013", "ADR-MEM-0002", - "ADR-MEM-0011" + "ADR-MEM-0011", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-ARCH-DEPENDENCIES-ORDER-004", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-PRODUCTION-EVENTS-ORDER-002", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", "PTO-AVS-ARCH-RC-CONCURRENCY-ORDER-001", @@ -69064,7 +70226,9 @@ "surface": "arch", "tests": [ "PTO-AVS-ARCH-DEPENDENCIES-ORDER-004", + "PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001", "PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001", + "PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001", "PTO-AVS-ARCH-PRODUCTION-EVENTS-ORDER-002", "PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002", "PTO-AVS-ARCH-RC-CONCURRENCY-ORDER-001", @@ -69189,7 +70353,8 @@ "readiness_subjects": [ "ADR-BLOCK-0015", "ADR-CUBE-0010", - "ADR-GOV-0007" + "ADR-GOV-0007", + "ADR-SCALAR-0007" ], "semantic_tests": [], "source": "asl/arch/programming-model/core-pe-topology.asl", @@ -69209,6 +70374,7 @@ "readiness_subjects": [ "ADR-GOV-0013", "ADR-MEM-0011", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0003", "ADR-STATE-0004", @@ -69278,6 +70444,7 @@ "id": "PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS", "mnemonic": null, "readiness_subjects": [ + "ADR-SCALAR-0007", "ADR-STATE-0002" ], "semantic_tests": [ @@ -69334,6 +70501,37 @@ "PTO-AVS-ARCH-TESTTILEREGISTERMAPPING-STATE-TRANSITION-001" ] }, + { + "classification": [ + "state", + "core-synchronization" + ], + "documentation": "docs/arch/state/core-synchronization.md", + "id": "PTO-ARCH-STATE-CORE-SYNCHRONIZATION", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001" + ], + "source": "asl/arch/state/core-synchronization.asl", + "surface": "arch", + "tests": [ + "PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001", + "PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001", + "PTO-AVS-ARCH-STATE-CORE-SYNCHRONIZATION-STATIC-001", + "PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002", + "PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001", + "PTO-AVS-ARCH-SYNC-HISTORY-RING-001", + "PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001" + ] + }, { "classification": [ "state", @@ -69353,6 +70551,31 @@ "PTO-AVS-ARCH-STATE-DEFINEDNESS-STATIC-001" ] }, + { + "classification": [ + "state", + "kernel-lifecycle" + ], + "documentation": "docs/arch/state/kernel-lifecycle.md", + "id": "PTO-ARCH-STATE-KERNEL-LIFECYCLE", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003" + ], + "source": "asl/arch/state/kernel-lifecycle.asl", + "surface": "arch", + "tests": [ + "PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001", + "PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002", + "PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003", + "PTO-AVS-ARCH-STATE-KERNEL-LIFECYCLE-STATIC-001" + ] + }, { "classification": [ "state", @@ -69374,6 +70597,27 @@ "PTO-AVS-ARCH-STATE-NUMERIC-STATUS-STATIC-001" ] }, + { + "classification": [ + "state", + "pe-execution-context" + ], + "documentation": "docs/arch/state/pe-execution-context.md", + "id": "PTO-ARCH-STATE-PE-EXECUTION-CONTEXT", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" + ], + "source": "asl/arch/state/pe-execution-context.asl", + "surface": "arch", + "tests": [ + "PTO-AVS-ARCH-STATE-PE-EXECUTION-CONTEXT-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001" + ] + }, { "classification": [ "state", @@ -69434,6 +70678,7 @@ "ADR-NUM-0001", "ADR-NUM-0005", "ADR-SCALAR-0004", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0005", "ADR-STATE-0009", @@ -69501,6 +70746,7 @@ "ADR-NUM-0002", "ADR-NUM-0005", "ADR-SCALAR-0004", + "ADR-SCALAR-0007", "ADR-STATE-0001", "ADR-STATE-0002", "ADR-STATE-0004", @@ -71650,8 +72896,7 @@ "PTO-AVS-BLOCK-TSTORE-MASK-001", "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", - "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001" + "PTO-AVS-BLOCK-TSTORE-STRIDE-001" ], "source": "asl/block/execution/BSTART.TSTORE.asl", "surface": "block", @@ -71664,8 +72909,7 @@ "PTO-AVS-BLOCK-TSTORE-MASK-001", "PTO-AVS-BLOCK-TSTORE-PACKED-001", "PTO-AVS-BLOCK-TSTORE-SHAPE-001", - "PTO-AVS-BLOCK-TSTORE-STRIDE-001", - "PTO-AVS-BLOCK-TSTORE-UNDEF-001" + "PTO-AVS-BLOCK-TSTORE-STRIDE-001" ] }, { @@ -72278,6 +73522,7 @@ "readiness_subjects": [ "ADR-BLOCK-0005", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-STATE-0011", "ADR-TILE-0004" ], @@ -72561,6 +73806,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -72617,6 +73863,7 @@ "PTO-AVS-BLOCK-TMATMUL-SHARED-B-PHYSICAL-SHAPE-031", "PTO-AVS-BLOCK-TMATMUL-SHARED-BSTART-FAMILY-036", "PTO-AVS-BLOCK-TMATMUL-SHARED-LAYOUT-014", + "PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038", "PTO-AVS-BLOCK-TMATMUL-SHARED-MASK-015", "PTO-AVS-BLOCK-TMATMUL-SHARED-MSHARD-021", "PTO-AVS-BLOCK-TMATMUL-SHARED-PAIR-001", @@ -72920,6 +74167,28 @@ "PTO-AVS-BLOCK-TTRI-SCHEMA-001" ] }, + { + "classification": [ + "model", + "dispatch", + "gm-obligation-dispatch" + ], + "documentation": "docs/block/model/dispatch/gm-obligation-dispatch.md", + "id": "PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-BLOCK-TSTORE-UNDEF-001" + ], + "source": "asl/block/model/dispatch/gm-obligation-dispatch.asl", + "surface": "block", + "tests": [ + "PTO-AVS-BLOCK-MODEL-DISPATCH-GM-OBLIGATION-STATIC-001", + "PTO-AVS-BLOCK-TSTORE-UNDEF-001" + ] + }, { "classification": [ "model", @@ -73122,31 +74391,72 @@ "ADR-CUBE-0016", "ADR-GOV-0009", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-TILE-0004" ], "semantic_tests": [ + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001" ], "source": "asl/block/model/dispatch/shared-tlsu.asl", "surface": "block", "tests": [ "PTO-AVS-BLOCK-MODEL-DISPATCH-SHARED-TLSU-STATIC-001", + "PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017", + "PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016", + "PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010", + "PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011", + "PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021", + "PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022", + "PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020", + "PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018", "PTO-AVS-BLOCK-SHARED-TLSU-BINDER-EXEC-006", "PTO-AVS-BLOCK-SHARED-TLSU-BYTE-STRIDE-EXECUTION-007", "PTO-AVS-BLOCK-SHARED-TLSU-GM-EXEC-001", "PTO-AVS-BLOCK-SHARED-TLSU-MASK-PARTITION-EXEC-005", "PTO-AVS-BLOCK-SHARED-TLSU-PARTIAL-EXEC-004", + "PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008", "PTO-AVS-BLOCK-SHARED-TLSU-PER-PE-GM-EXECUTION-001", "PTO-AVS-BLOCK-SHARED-TLSU-PUBLISH-EXEC-003", "PTO-AVS-BLOCK-SHARED-TLSU-ZERO-IOR-EXEC-002", + "PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024", + "PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028", + "PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019", + "PTO-AVS-BLOCK-SHARED-TMOV-NZ-026", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032", + "PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027", + "PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022", + "PTO-AVS-BLOCK-SHARED-TMOV-ZN-025", + "PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009", "PTO-AVS-BLOCK-SHARED-TSTORE-MASK-LEGALITY-001" ] }, @@ -73162,6 +74472,7 @@ "readiness_subjects": [ "ADR-BLOCK-0005", "ADR-BLOCK-0009", + "ADR-SCALAR-0007", "ADR-TILE-0004" ], "semantic_tests": [ @@ -73378,7 +74689,8 @@ "ADR-BLOCK-0012", "ADR-BLOCK-0016", "ADR-BLOCK-0018", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-BSTART-TIMG2COL-LOCAL-ASSEMBLE-002", @@ -73404,7 +74716,8 @@ "readiness_subjects": [ "ADR-BLOCK-0012", "ADR-BLOCK-0018", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-TIMG2COL-COOPERATIVE-001", @@ -73458,12 +74771,16 @@ "ADR-BLOCK-0012", "ADR-BLOCK-0016", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-TILE-0004" ], - "semantic_tests": [], + "semantic_tests": [ + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010" + ], "source": "asl/block/model/dispatch/tlsu-gmov.asl", "surface": "block", "tests": [ + "PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010", "PTO-AVS-BLOCK-MODEL-DISPATCH-TLSU-GMOV-STATIC-001" ] }, @@ -73692,7 +75009,8 @@ "readiness_subjects": [ "ADR-BLOCK-0012", "ADR-BLOCK-0019", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-TLOAD-WEIGHT-COOPERATIVE-001", @@ -73793,6 +75111,7 @@ "readiness_subjects": [ "ADR-BLOCK-0005", "ADR-BLOCK-0012", + "ADR-SCALAR-0007", "ADR-STATE-0011", "ADR-TILE-0004" ], @@ -73849,6 +75168,7 @@ "ADR-CUBE-0007", "ADR-GOV-0013", "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-TILE-0004", "ADR-TILE-0008" ], @@ -73935,6 +75255,28 @@ "PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-CUBE-STATIC-001" ] }, + { + "classification": [ + "model", + "operands", + "local-generation-squash" + ], + "documentation": "docs/block/model/operands/local-generation-squash.md", + "id": "PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001" + ], + "source": "asl/block/model/operands/local-generation-squash.asl", + "surface": "block", + "tests": [ + "PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001", + "PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH-STATIC-001" + ] + }, { "classification": [ "model", @@ -73989,6 +75331,7 @@ "ADR-GOV-0009", "ADR-GOV-0013", "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-TILE-0008" ], "semantic_tests": [ @@ -74018,7 +75361,8 @@ "ADR-BLOCK-0016", "ADR-BLOCK-0017", "ADR-GOV-0007", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001", @@ -74079,6 +75423,44 @@ "PTO-AVS-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS-STATIC-001" ] }, + { + "classification": [ + "model", + "operands", + "shared-generation-pe-requests" + ], + "documentation": "docs/block/model/operands/shared-generation-pe-requests.md", + "id": "PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS", + "mnemonic": null, + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023" + ], + "source": "asl/block/model/operands/shared-generation-pe-requests.asl", + "surface": "block", + "tests": [ + "PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014", + "PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022", + "PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023" + ] + }, { "classification": [ "model", @@ -74096,7 +75478,8 @@ "ADR-CUBE-0014", "ADR-CUBE-0015", "ADR-GOV-0009", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-SHARED-B-ASSEMBLE-NON-REGRESSION-001", @@ -74133,7 +75516,8 @@ "ADR-CUBE-0011", "ADR-CUBE-0015", "ADR-GOV-0013", - "ADR-MEM-0009" + "ADR-MEM-0009", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-BLOCK-RANGE-APPLICABILITY-TOTALITY-001", @@ -75013,6 +76397,7 @@ "ADR-BLOCK-0016", "ADR-BLOCK-0019", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0003", "ADR-STATE-0011", @@ -75046,6 +76431,7 @@ "ADR-CUBE-0007", "ADR-GOV-0013", "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0011", "ADR-TILE-0004", @@ -75072,13 +76458,17 @@ "mnemonic": null, "readiness_subjects": [ "ADR-BLOCK-0016", - "ADR-BLOCK-0018" + "ADR-BLOCK-0018", + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015" ], - "semantic_tests": [], "source": "asl/block/model/state/shared-generation-state.asl", "surface": "block", "tests": [ - "PTO-AVS-BLOCK-MODEL-STATE-SHARED-GENERATION-STATIC-001" + "PTO-AVS-BLOCK-MODEL-STATE-SHARED-GENERATION-STATIC-001", + "PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015" ] }, { @@ -75100,6 +76490,7 @@ "ADR-CUBE-0012", "ADR-GOV-0013", "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-STATE-0011", "ADR-TILE-0004", @@ -89446,6 +90837,7 @@ "ADR-NUM-0001", "ADR-NUM-0005", "ADR-SCALAR-0004", + "ADR-SCALAR-0007", "ADR-TILE-0004", "ADR-TILE-0008" ], @@ -89645,7 +91037,8 @@ "readiness_subjects": [ "ADR-GOV-0005", "ADR-GOV-0013", - "ADR-MEM-0004" + "ADR-MEM-0004", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-SCALAR-AGU-SRCRTYPE-MAP-002" @@ -89654,7 +91047,8 @@ "surface": "scalar", "tests": [ "PTO-AVS-SCALAR-AGU-SRCRTYPE-MAP-002", - "PTO-AVS-SCALAR-MODEL-DISPATCH-DECODE-STATIC-001" + "PTO-AVS-SCALAR-MODEL-DISPATCH-DECODE-STATIC-001", + "PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001" ] }, { @@ -89692,7 +91086,9 @@ "documentation": "docs/scalar/model/dispatch/sys.md", "id": "PTO-SCALAR-MODEL-DISPATCH-SYS", "mnemonic": null, - "readiness_subjects": [], + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], "semantic_tests": [ "PTO-AVS-SCALAR-SYS-EFFECTS-001", "PTO-AVS-SCALAR-SYS-FENCE-TOTALITY-001", @@ -89750,7 +91146,8 @@ "mnemonic": null, "readiness_subjects": [ "ADR-BLOCK-0012", - "ADR-GOV-0013" + "ADR-GOV-0013", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-SCALAR-AGU-CANON-001", @@ -89957,6 +91354,7 @@ "ADR-NUM-0001", "ADR-NUM-0005", "ADR-SCALAR-0004", + "ADR-SCALAR-0007", "ADR-TILE-0008" ], "semantic_tests": [ @@ -90699,6 +92097,7 @@ "ADR-STATE-0013" ], "semantic_tests": [ + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SYS-FENCE-D-EXEC-001", "PTO-AVS-SYS-FENCE-D-PLACE-001", "PTO-AVS-SYS-FENCE-D-VISIBLE-001", @@ -90708,6 +92107,7 @@ "surface": "scalar", "tests": [ "PTO-AVS-SCALAR-FENCE-D-DECODE-001", + "PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001", "PTO-AVS-SYS-FENCE-D-EXEC-001", "PTO-AVS-SYS-FENCE-D-PLACE-001", "PTO-AVS-SYS-FENCE-D-VISIBLE-001", @@ -91106,6 +92506,37 @@ "PTO-AVS-SYS-SSRSWAP-USRC-001" ] }, + { + "classification": [ + "sys" + ], + "documentation": "docs/scalar/sys/SYNC.CORE.md", + "id": "PTO-SCALAR-SYNC-CORE", + "instruction_contract": { + "artifact": "spec/evidence/instruction-contract-closure.json", + "mnemonic": "SYNC.CORE", + "ndf_clause": "PTO-INST-SCALAR-SYNC-CORE" + }, + "mnemonic": "SYNC.CORE", + "readiness_subjects": [ + "ADR-SCALAR-0007" + ], + "semantic_tests": [ + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001", + "PTO-AVS-SYS-SYNC-CORE-EXEC-001", + "PTO-AVS-SYS-SYNC-CORE-PLACE-001" + ], + "source": "asl/scalar/sys/SYNC.CORE.asl", + "surface": "scalar", + "tests": [ + "PTO-AVS-SCALAR-SYNC-CORE-DECODE-001", + "PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001", + "PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001", + "PTO-AVS-SYS-SYNC-CORE-EXEC-001", + "PTO-AVS-SYS-SYNC-CORE-PLACE-001" + ] + }, { "classification": [ "sys" @@ -92734,6 +94165,7 @@ "ADR-MEM-0002", "ADR-MEM-0006", "ADR-MEM-0007", + "ADR-SCALAR-0007", "ADR-TILE-0008", "ADR-TILE-0013" ], @@ -94066,6 +95498,7 @@ "ADR-MEM-0008", "ADR-MEM-0009", "ADR-MEM-0011", + "ADR-SCALAR-0007", "ADR-TILE-0013" ], "semantic_tests": [ @@ -94218,6 +95651,7 @@ "ADR-BLOCK-0015", "ADR-CUBE-0004", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-TILE-0008", "ADR-TILE-0010" ], @@ -95485,6 +96919,7 @@ "semantic_tests": [ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-TESTDECODEDTILELEGALITYFAULTS-FAULT-001" ], "source": "asl/tile/model/legality/operand-schema.asl", @@ -95492,6 +96927,7 @@ "tests": [ "PTO-AVS-TILE-EXECUTION-MASK-INACTIVE-DIV-REM-DECODED-002", "PTO-AVS-TILE-EXECUTION-MASK-SELECTOR-LEGALITY-DECODED-003", + "PTO-AVS-TILE-EXECUTION-MASK-TSEL-SOURCE-DEFINEDNESS-004", "PTO-AVS-TILE-MODEL-LEGALITY-OPERAND-SCHEMA-STATIC-001", "PTO-AVS-TILE-TESTDECODEDTILELEGALITYFAULTS-FAULT-001" ] @@ -95706,9 +97142,11 @@ "ADR-BLOCK-0015", "ADR-GOV-0013", "ADR-MEM-0011", + "ADR-SCALAR-0007", "ADR-TILE-0008" ], "semantic_tests": [ + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-MEM-SNAPSHOT-001", "PTO-AVS-TILE-TLOAD-CUBE-001", @@ -95725,6 +97163,7 @@ "source": "asl/tile/model/memory/load-store.asl", "surface": "tile", "tests": [ + "PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003", "PTO-AVS-TILE-EXECUTION-MASK-MEMORY-NO-EFFECT-001", "PTO-AVS-TILE-MEM-SNAPSHOT-001", "PTO-AVS-TILE-MODEL-MEMORY-LOAD-STORE-STATIC-001", @@ -95776,6 +97215,7 @@ "ADR-GOV-0009", "ADR-GOV-0013", "ADR-MEM-0011", + "ADR-SCALAR-0007", "ADR-TILE-0008" ], "semantic_tests": [], @@ -96211,7 +97651,8 @@ "id": "PTO-TILE-MODEL-STATE-FEATURE-MAP-DESCRIPTORS", "mnemonic": null, "readiness_subjects": [ - "ADR-BLOCK-0015" + "ADR-BLOCK-0015", + "ADR-SCALAR-0007" ], "semantic_tests": [ "PTO-AVS-TILE-FEATURE-MAP-STATE-001" @@ -96234,6 +97675,7 @@ "mnemonic": null, "readiness_subjects": [ "ADR-MEM-0009", + "ADR-SCALAR-0007", "ADR-STATE-0002", "ADR-TILE-0001", "ADR-TILE-0002", @@ -96263,6 +97705,7 @@ "ADR-CUBE-0014", "ADR-GOV-0009", "ADR-GOV-0013", + "ADR-SCALAR-0007", "ADR-TILE-0003", "ADR-TILE-0008" ], @@ -97134,14 +98577,18 @@ ], "semantic_tests": [ "PTO-AVS-TILE-TROWMAX-U16-001", - "PTO-AVS-TILE-TROWMAX-U16-DECODED-001" + "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001" ], "source": "asl/tile/reduce-and-expand/row-reduction/TROWMAX.asl", "surface": "tile", "tests": [ "PTO-AVS-TILE-TROWMAX-STATIC-001", "PTO-AVS-TILE-TROWMAX-U16-001", - "PTO-AVS-TILE-TROWMAX-U16-DECODED-001" + "PTO-AVS-TILE-TROWMAX-U16-DECODED-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M16-NONE-001", + "PTO-AVS-TILE-TROWMAX-U8-MASK-M32-ANY-001" ] }, { @@ -97167,13 +98614,17 @@ "ADR-TILE-0012" ], "semantic_tests": [ - "PTO-AVS-TILE-TROWMIN-S8-001" + "PTO-AVS-TILE-TROWMIN-S8-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001" ], "source": "asl/tile/reduce-and-expand/row-reduction/TROWMIN.asl", "surface": "tile", "tests": [ "PTO-AVS-TILE-TROWMIN-S8-001", - "PTO-AVS-TILE-TROWMIN-STATIC-001" + "PTO-AVS-TILE-TROWMIN-STATIC-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M16-ALL-TAIL-001", + "PTO-AVS-TILE-TROWMIN-U8-MASK-M32-ALL-FALSE-001" ] }, { diff --git a/spec/release-manifest.json b/spec/release-manifest.json index d337fca22..75717c03f 100644 --- a/spec/release-manifest.json +++ b/spec/release-manifest.json @@ -202,7 +202,7 @@ }, { "path": "asl/arch/overview/instruction-classification.asl", - "sha256": "96caf76a14524690722a25b4ac82556cec0ab73beb4fb391c4ed2ef1b1824905" + "sha256": "6e240c8d6f574bdf134d357a70ad78834344d296777dc8a0a42c748a29670873" }, { "path": "asl/arch/programming-model/core-pe-topology.asl", @@ -282,7 +282,7 @@ }, { "path": "asl/block/attributes/B.DATR.asl", - "sha256": "cd9ff31f8d5b04407286bda6ab13d204f1c710560f13f19b93d9920de23e13ed" + "sha256": "dda3d47d40ee4d22bd179869b7dd8dae9da1808c92468dcfeeb3e753c0449d17" }, { "path": "asl/block/attributes/B.DIM.asl", @@ -586,19 +586,15 @@ }, { "path": "asl/block/model/dispatch/cell-rearrangement-schema.asl", - "sha256": "08f3760d99552382f4f8cbcfc5c5fba3ac7cb021efa6db24287e97cc84b40dbb" - }, - { - "path": "asl/block/model/dispatch/command-data-attributes.asl", - "sha256": "9339fc2e9585f9349a2fb401d08b45d1ebf5493ba71d7eca2ce751936f42b993" + "sha256": "c834390b0a36e5c9b00e2d73ffc0e86a67875999e1418f17fdda8aef5ba66ce4" }, { "path": "asl/block/model/dispatch/commands.asl", - "sha256": "e02e5c02823747f4e749376125ff361d2ce744cf68726aec9a200a47d9d22f9b" + "sha256": "0062606013956d17c45f18229e4306b1d6401cb0daab8ae403ef96d78f202c88" }, { "path": "asl/block/model/dispatch/comparison-schema.asl", - "sha256": "34e0877a3a4b17b9ca9e8b9aaa9b9cdadce7194a72c3ffa2ad460559bae7f31c" + "sha256": "4f8ea243c765f13ef8fe210bea1db4f61d7782d9df7de4fa17854a8ccc06d8fc" }, { "path": "asl/block/model/dispatch/cube-accumulator-routing.asl", @@ -618,7 +614,7 @@ }, { "path": "asl/block/model/dispatch/descriptor-legality.asl", - "sha256": "0bc759593abf4b5af2309d2c53d080719c34c47384ea8b95a1cf3e2be64e90c0" + "sha256": "0cee1102eff132c5220fb6a6ba20f9978bd98e37f576c8a6aa053b16b2a3641b" }, { "path": "asl/block/model/dispatch/destination-auxiliary.asl", @@ -626,19 +622,15 @@ }, { "path": "asl/block/model/dispatch/destination-operation.asl", - "sha256": "0baa1872d57ee7ae4345ad5e48ac1dd32e9f06aa5e7428762b8c3f2138c89eae" + "sha256": "0528afa1a33c9c04cd1c690ac40fb82226aa99fee7db803a543d6e42b1e3f87e" }, { "path": "asl/block/model/dispatch/destination-shape.asl", - "sha256": "685ae3ef32faeefe320793aa0f3f48f19e18ebed7828f80cb6c6e524e356a963" - }, - { - "path": "asl/block/model/dispatch/execution-mask-schema.asl", - "sha256": "6832f19864bcc1986b964e2b34f871f1f92dbb83108f71f7fbc9629c6ea841eb" + "sha256": "067f667a2c1c2e96ee77902a5edd153ea87335d2d903b913b0df0c5202bf303c" }, { "path": "asl/block/model/dispatch/expansion-schema.asl", - "sha256": "e341b52a6d77c9977a8787980cfb6df5aa11b6eb0ebfd65ba9f3932bd7a7f8ed" + "sha256": "731452d967d378da4311eaa7e8debe5769fa45ba79f0a96a5b1ad191a69beb8a" }, { "path": "asl/block/model/dispatch/expdif-schema.asl", @@ -646,11 +638,7 @@ }, { "path": "asl/block/model/dispatch/generation-schema.asl", - "sha256": "76cfceccdce296468d71b0e4605eb4b0b2702c5ea6bdabec16826b9517f86653" - }, - { - "path": "asl/block/model/dispatch/lea-schema.asl", - "sha256": "913306d0fb506c01067f5b41bd3d8451c35ed8d1a68f6f2ae467ad18ac5c3eb0" + "sha256": "feadde0ca1dce3b46b49c9ba7768bcad3a9f99443413b3b1fe7a631bb90e7cea" }, { "path": "asl/block/model/dispatch/matrix-scale.asl", @@ -662,15 +650,15 @@ }, { "path": "asl/block/model/dispatch/predicate-destination.asl", - "sha256": "a3bd075f96a4c8ea0340e24afc25d00996bb45671de859ffec0327e401aafe1c" + "sha256": "a06441c22690f69100ca62972b7732bdc6c7dfd81c43407b5668d302cb7ba17b" }, { "path": "asl/block/model/dispatch/reduction-schema.asl", - "sha256": "0abfc3f6391e5ff4907be7e0571314c80106a8760bb7af6cae8cae811a64f392" + "sha256": "64553aa5a95ec920ed43e46b2e3e027db9eca767c811ae88a2e4a119b6df8c7c" }, { "path": "asl/block/model/dispatch/scalar-schema.asl", - "sha256": "03939cf0b88b2e1677a6384790028a5e8f68dceded1b7bc880caef6da8161a6f" + "sha256": "7a57e70e40b7f51097f0d5ed9d84a2dca5659a2c78935d5aa15af5209690b6cf" }, { "path": "asl/block/model/dispatch/shared-cube-matrix.asl", @@ -690,27 +678,23 @@ }, { "path": "asl/block/model/dispatch/tcvt-schema.asl", - "sha256": "2c9c7ec6214f8321416573735a0df6415e2374a97595a9b12f2cec834a50506c" + "sha256": "d963c66e38220bd9d9756e7ea70a0980108ca0f5a48ab5f83dc0e53d88996c83" }, { "path": "asl/block/model/dispatch/tgpr2t-schema.asl", - "sha256": "996eaeb7689d40a6acfb8c5c16bb5998a4a1e45ced5aabdb2eafb563a84a29b6" + "sha256": "25d13561c47c7e64614e3f0c4754730f16297eddc25bf15ff7058dc9fc3acebb" }, { "path": "asl/block/model/dispatch/tile-execution.asl", - "sha256": "92deb0b4dcdff1255da07f8d7058796d1c2e0b8f1ac013069096f47711a46411" - }, - { - "path": "asl/block/model/dispatch/tile-instruction-operands.asl", - "sha256": "42c8fc31e43b044ce8faef3c2cbdb45e38747b3bd77188e3b08ffe775581104d" + "sha256": "b3d2d87435d9b5aa765dd0f195b0de4f0a5c4d87919bae38d3984bd85ac775b0" }, { "path": "asl/block/model/dispatch/tile-scalar-schema.asl", - "sha256": "d59bb8b00475b1f02492864f3730de1165408aef49f0213ab36f3cdbdf609b43" + "sha256": "19b395f187b225b3e798eafd5202c188fcd3405565ef89235fcc145e7aac1126" }, { "path": "asl/block/model/dispatch/tile-schema.asl", - "sha256": "1acf4889509a4a948cd83ffcff83c397d1a12474acc1723b232e9bed0e2135ad" + "sha256": "9bf20f45791476c9d0a5c83c2c930e659ca11a9b89cf343aca48027fa7b52fed" }, { "path": "asl/block/model/dispatch/timg2col-execution.asl", @@ -722,7 +706,7 @@ }, { "path": "asl/block/model/dispatch/tlsu-gm-atom-red.asl", - "sha256": "fabf68909460be45ce1a81938e0e78f1132e9cc9a9a5bfbe85a2729228ca334b" + "sha256": "078891d91d947b2fec981975b20a87510b89f2106b29a740ceee10f169f27778" }, { "path": "asl/block/model/dispatch/tlsu-gmov.asl", @@ -730,27 +714,27 @@ }, { "path": "asl/block/model/dispatch/tlsu-layout-conversion.asl", - "sha256": "166898ac69d971fc62953c426f7d14494443caa86d701e7286dc485ed4753ad1" + "sha256": "b90df39acf8f72a26b327e53aef48d145ebb0ecfbd0a1bcdfd35a70a94700cc4" }, { "path": "asl/block/model/dispatch/tlsu-mgather-cas.asl", - "sha256": "315c14c7cee2688c674e31b49206c05a68bcd9ebc57e62bfdec0fd6ec4ffe1a7" + "sha256": "5045758cde12b18c6704126efe1179644cf096e9d157c80f8f132c003bff1095" }, { "path": "asl/block/model/dispatch/tlsu-mgather-mask.asl", - "sha256": "1c643c69acaac645ed24b33ed86a7adb47f5e67832b225285328b7408f79ae47" + "sha256": "ce6b58980592140ccc80e2569d0a3f9aaa5e5981459defc1c5ea48eee413d0e1" }, { "path": "asl/block/model/dispatch/tlsu-mgather.asl", - "sha256": "03484d64b6bd3766fd69482d1e5f6b8bf9f7ff5b065eb36d01d77d382c3274cc" + "sha256": "eb50c88814eb103a5b73c0ca036b3ffe34ca339dfd5dd99bbddecf1e7ca84989" }, { "path": "asl/block/model/dispatch/tlsu-mscatter-mask.asl", - "sha256": "674c3e4d4ae00ab6e8a1ec8969960ce1b3f405b7a266d3370a2dcd05cbe8974c" + "sha256": "3c861fedffccae228bc5bcb6c8191b3effbee6389433264484889b1c55dcb819" }, { "path": "asl/block/model/dispatch/tlsu-mscatter.asl", - "sha256": "9dac4c18345dbd6e85fd0733c2587f3b125c5999f78ff895751c0a55bdf1b464" + "sha256": "994721fbab076ae70bf812fbf9f38d127104d3df1cbac00db48c726fe6554926" }, { "path": "asl/block/model/dispatch/tlsu-prefetch.asl", @@ -786,7 +770,7 @@ }, { "path": "asl/block/model/lifecycle/reset.asl", - "sha256": "85a8afbef56ccf7ec48c92126278a9a9798eaeed90ae69e050b9ed9b85443c8e" + "sha256": "3574c8314a6a744541f10bc70100539c9e2d8c4965c703abf93282ac1e331211" }, { "path": "asl/block/model/memory/timg2col-gm.asl", @@ -798,7 +782,7 @@ }, { "path": "asl/block/model/operands/local-generation-cube.asl", - "sha256": "b45de5ddf7585e4912b90e113353e1d3d9c727d926e883d93ae20f4c533bb91b" + "sha256": "d6316882127df931d8455b41a9f7b5e6e28c7e90c0dce8fe494d6a8288fa6337" }, { "path": "asl/block/model/operands/local-generation.asl", @@ -806,7 +790,7 @@ }, { "path": "asl/block/model/operands/portable-carriers.asl", - "sha256": "c86d2fdd48e401c98a6a0bbbf1990fe72451c8567bc0dc3e157c204e72160e47" + "sha256": "3eed93fd4e9c01b476fc7ebbdbd0971a427cc2c3b5cd3f1e5fa10e8dcc8cfb76" }, { "path": "asl/block/model/operands/range-modifiers.asl", @@ -814,7 +798,7 @@ }, { "path": "asl/block/model/operands/scalar-bindings.asl", - "sha256": "ff1b17562272349583912a375ffed18ffde8a22637f94058c1548d266efa0f10" + "sha256": "a5b468e7912a7a5513eabbad1024ae41e5a7b553e59fae1d02ed1f9cc5a08c7a" }, { "path": "asl/block/model/operands/shared-bindings.asl", @@ -826,7 +810,7 @@ }, { "path": "asl/block/model/operands/subview-descriptor.asl", - "sha256": "4875db42e9f84da50aa1df82596a98d1b630a871703dd4ea97cbdf9adc2aa81c" + "sha256": "f435920634ee9fa80b23e443120c9f909b00e649a0a801e3e0296e7e05a7dbc1" }, { "path": "asl/block/model/operands/tile-bindings.asl", @@ -866,11 +850,11 @@ }, { "path": "asl/block/model/state/control-state.asl", - "sha256": "7922c460f09a73dbc706139e41d5cafe7e4c3f38683dd1238ff1f5643ad6730f" + "sha256": "609266e83fd85f5be4e6b603b447c5b35a008c1440737f8ffdf943b352667610" }, { "path": "asl/block/model/state/descriptor-state.asl", - "sha256": "047fbd6d867b2b1eb9027a460f92bf385e2178b01bc24cc8cacf049a24df129f" + "sha256": "393bc0b1410fdd95e22cf38993d6e71772630784d9a0dba8c1b2bab80ecd1046" }, { "path": "asl/block/model/state/shared-generation-state.asl", @@ -878,7 +862,7 @@ }, { "path": "asl/block/model/state/types.asl", - "sha256": "c082c6b735c23694820b83f58baf8a21943c7fdac51249d320a9aaa031f7fafa" + "sha256": "8337e4c36b93eb57fb0e0f0634c2ce35287875351d168bd4e1839d89d9e16195" }, { "path": "asl/block/operands/B.ASSEMBLE.asl", @@ -886,7 +870,7 @@ }, { "path": "asl/block/operands/B.IOR.asl", - "sha256": "cc294ebdae4887552e54e7aa083c1d965dcd5eca898545431e13a91f788fead5" + "sha256": "d36bb07e81ebd893877f1f080a65471d0f500b37f4765e27f9de7942c6eb62bb" }, { "path": "asl/block/operands/B.IOS.asl", @@ -894,7 +878,7 @@ }, { "path": "asl/block/operands/B.IOT.asl", - "sha256": "cac902f7a3f46e7dad99be17673456119aa42da9deef00721bef595eeae5b319" + "sha256": "049e0c25264b6b59eaf1a0a4a779f21cf675dbef8fdd9dd747d2b66a29762722" }, { "path": "asl/block/operands/B.SUBVIEW.asl", @@ -2850,115 +2834,115 @@ }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TADD.asl", - "sha256": "d76500a633292581cc345d2e5e4c0805ba223e603917384aefafd16562168d98" + "sha256": "b6af971fab1b1f20e732dffaf94177591d9a9ebda30aeae84d89fdfb285963f3" }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TFMA.asl", - "sha256": "f616cb6caf440a05294d878c5044701a7968c5cca37963a524478b6d1db324ab" + "sha256": "52217b44f73e737905b8124475d6d6f2b8ba8afc4fddfd2cb8a628259dd6578c" }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TMAX.asl", - "sha256": "4150048f7769d903a219e2d83b2ce772bcdf5a1f63e9b3feb8a7e2107230de9e" + "sha256": "57525408c1cf0b64870e72fc4fc973e8f009fa8f3339ea019bf6abdfea73e429" }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TMIN.asl", - "sha256": "6abee85729fb004b43cce630542759442624e207c764ac58193581232b32ac04" + "sha256": "79282db62adb49eed98e86e18e3c712b8a1a8531ac0caa3285abdb03efb5669b" }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TMUL.asl", - "sha256": "b0880482b675fc791cfb4a35c30978bd570b295e4a86db6cf9a96ec9ba56ad0f" + "sha256": "31eca3f7ae07f27ed239dd10916575f6cbcfe52e5638e99fa5a15c075bbfa77e" }, { "path": "asl/tile/elementwise-tile-tile/arithmetic/TSUB.asl", - "sha256": "c7e06f84f43c47d97ad4b79c7aeb8ab05388894df6994f4bf6ff2c0b6332e00e" + "sha256": "f7942280a9185b43431519be92505337cb7a4cb99f1cec6971e870324fa1bf11" }, { "path": "asl/tile/elementwise-tile-tile/format-conversion/TCVT.asl", - "sha256": "da3fc432c8b61372b24ebc51f9d29601c5b26d69e426cd7be976b72c06d025b5" + "sha256": "563384519b1713e31c0c241e2d9420f7f15858aeac31f32f89c7e21cf031f145" }, { "path": "asl/tile/elementwise-tile-tile/logical/TABS.asl", - "sha256": "0df54aa56bd32661f92065c6e0e3b1f979cfb8440dd6497b0bbce9eb3306c5bd" + "sha256": "3579e85cea421138da6a0d3724e15250869938e5ee876cd126e94a05d054b6b7" }, { "path": "asl/tile/elementwise-tile-tile/logical/TAND.asl", - "sha256": "07b592e5e8981a4689b5824095cd3ea31b401ce2bc173bc7e127fd2965083a7d" + "sha256": "ada80c9b3ce8ca4c4f44139abb804ec6114c8fbfc5465a11f9fa85047ea3556b" }, { "path": "asl/tile/elementwise-tile-tile/logical/TCMP.asl", - "sha256": "8e4f0ba385a260017125a68eaec459d88f173184ff6cd24159afdf925fad62ea" + "sha256": "73613c05240297d73d80a34e6021f90e9687abc65321b0e58fad9280e225a3fb" }, { "path": "asl/tile/elementwise-tile-tile/logical/TNEG.asl", - "sha256": "31106373ea214e20cb9afe3887f33898ae30bc75eb3678f949f98ed18e4c2d6c" + "sha256": "6d35c3e8b7426184942e52300328ae4ca02b412563717c67172d080adcb8092a" }, { "path": "asl/tile/elementwise-tile-tile/logical/TNOT.asl", - "sha256": "1bf553cb45daf11a0581dd970076715eb39872874cc9e3381d326f9b893fd68f" + "sha256": "94da54253ce24642f0c6c5ab251b36617e9e8bd2c426ff992c0acb08f74af376" }, { "path": "asl/tile/elementwise-tile-tile/logical/TOR.asl", - "sha256": "5071a643734ce278b3cd7f1106ffdd4c69ce423e82de42b6e022f19f9df73107" + "sha256": "5379f609eef7fecc180ffea25d0d0b77377027f83c601176f70655ea7f3991d8" }, { "path": "asl/tile/elementwise-tile-tile/logical/TRELU.asl", - "sha256": "4119e040c2a30bbc24c37e46234c396431d71bbf4e91bc8c32f5a403e094572b" + "sha256": "a764bbeb585734b58950d45e848293b70d75894b279f35cbd424eb129e74ca66" }, { "path": "asl/tile/elementwise-tile-tile/logical/TSEL.asl", - "sha256": "12cceca65a3daaacbd0a5540e5506b2c0411ab85e4ca48fb096920a940c33602" + "sha256": "820438a5725eb9f15543b8925c9bf21568206073d7f15cebdf6defc355cf0260" }, { "path": "asl/tile/elementwise-tile-tile/logical/TSHL.asl", - "sha256": "be84f4efc20c616ab737dd7c130c0c3b8918924244553923b0207838a59ed3ee" + "sha256": "3e9b1ea65a1969c1a4149338f49bd01ab0e34506a0610e2aff2dad1ba742eb4f" }, { "path": "asl/tile/elementwise-tile-tile/logical/TSHR.asl", - "sha256": "0eb789cb2d8520e5e2a054e0617a1c4caf49a3cfd5fb8c8bc6e4a4a975a690d9" + "sha256": "bedfcd6f777433019413eb94c073821971dcdaf6980ad10f16a2984111838533" }, { "path": "asl/tile/elementwise-tile-tile/logical/TXOR.asl", - "sha256": "60ab5d5e6a5b18c81f1f698429f724cde844f8d33cd637319a09d145d2e2f7bc" + "sha256": "041d9d408f70d2a2eff32427cd74a83525e7b6544ffbee7db83a345803e341ce" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TDIV.asl", - "sha256": "d58738e0a95eaa36885bb6fe959c01f4789b4921fc65236acc73d94418fc8a13" + "sha256": "81ef09dc1320e73a289886ec510f856f23f5bbe03f3dae8d8b937411d1e3721f" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TEXP.asl", - "sha256": "11ee45c8d4a368815ef498634bbd22e8dbdd7be6333dc0902b314a1fdf18e45a" + "sha256": "76279089eb752fc63788f3f4da54ac1e44e2d3937f4da5405020fee6c5c292ed" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TEXPDIF.asl", - "sha256": "56a001e6f70131e70660b9282273f2a8c98b46aad2611911a7c0cbd192722904" + "sha256": "ffa595ddf1c6a5c9467932f1f57ae441ed1a655d6c12c036f0b633fb3789fd14" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TLOG.asl", - "sha256": "1c873d10b1b5f68021423c4bdbdb0fbcb762eb8b71787849e3fd16f9ed26e0f2" + "sha256": "d2e9741db72dd7102fd980b42b98b3cfffbee6347be9c91f4edc52504adfd26d" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TRECIP.asl", - "sha256": "a1242133b6b7c986fcf6e1abb9b2d20195018098638672113b071b82eec67775" + "sha256": "376eabd07abb1a57724b817669561f41d5920a9649b8e9db6f9cc626fca0cb83" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TREM.asl", - "sha256": "847a1323fe277552733cabe562e8f8c6d3852bab8eb2b8397b3892af4481f001" + "sha256": "791e75a47d2e66a8d7cd137c5d8e113bd0cef5d66cc2f2d5f16db2577d876f87" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TRSQRT.asl", - "sha256": "54a88f4659efcec70c05d969170f3d9a04c65c7908b9da5ccef7433500ca798c" + "sha256": "141811d360ccd24ddb8dfa491d0044659d96bc2432977d9711a7cf9b1b2a4012" }, { "path": "asl/tile/elementwise-tile-tile/transcendental/TSQRT.asl", - "sha256": "e1a9798694e0810c8b6a211a224ec537fc9c97ee52b3230291dad5312bef72a2" + "sha256": "fa01191f880628e19ff48d7474812ff9ec3671f018e09eda8483177185d73bbf" }, { "path": "asl/tile/irregular-and-complex/initialization/TCI.asl", - "sha256": "5dee7779eb999774a9b5768c70101a1db686f440611a11bd4c140316feae33a8" + "sha256": "410dea309a00eedf6de111b0d63880a1d1fdfb6a5c492551bd479bd38f9c61bc" }, { "path": "asl/tile/irregular-and-complex/initialization/TTRI.asl", - "sha256": "558f161bd90f8459ef83598a0314c3631a913d65114dfddea150ae13267ad7a9" + "sha256": "15faba169c5c04c3e1a87d0c21b237dabf2cc2947972f316e61d7c19728476f9" }, { "path": "asl/tile/irregular-and-complex/layout/TGATHER.asl", @@ -2974,23 +2958,23 @@ }, { "path": "asl/tile/layout-and-rearrangement/layout/TMOV.asl", - "sha256": "5ce76c59b717561ec058ab759042a0aa887fcea88e09d22f8c692b14727c86ef" + "sha256": "88b711e9e12b4b2e908e8e9656738f0f69f0c38361e56ec35af0ba7f073f11d6" }, { "path": "asl/tile/layout-and-rearrangement/layout/TPACK.asl", - "sha256": "5df5562a6e9837fa1432c94735da4e0962b4d4b1b58f8ebd06f22050ef5e7acd" + "sha256": "8187f47d4c7b3a855103e1f453faf5edda80237341c345fac6555f6ea575d21e" }, { "path": "asl/tile/layout-and-rearrangement/layout/TPERMUTE.asl", - "sha256": "b08a5660b17869532091d2dc678d6d99ea7f9220a8cc98aa04d9332d2dd91373" + "sha256": "732a3b48e649046d3ab760fa0e4797ca4518e2656992cee6109f6ed919f8643b" }, { "path": "asl/tile/layout-and-rearrangement/layout/TSHUF.asl", - "sha256": "e844c0e4e0a2f9c43e304c83dcdb92ea4ba399cc0c3624834c0b4e0160e7360a" + "sha256": "43742d4b1ad5928cc6498c404c58c87e4dd7ee5aeea9360a850b86443aee6a90" }, { "path": "asl/tile/layout-and-rearrangement/layout/TUNPACK.asl", - "sha256": "c97b2232197ac1c3ee4a45066fc582fcec885f616a6387c26f6fa9d42088967e" + "sha256": "1e77927fde8d80bc76698ed568c52a850ce5a7f6622b996cab1b408752b73618" }, { "path": "asl/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL.asl", @@ -3134,19 +3118,19 @@ }, { "path": "asl/tile/memory-and-data-movement/pe-movement/GMOV.asl", - "sha256": "7fa34ae4a96b3b5ea1c9c5bf242281a78d4c9296e921a62a7f53696d646bbe9a" + "sha256": "7095383845ba85e5502720fa745baa2cbed0b7a9794bf3be021dcfc156f85fd9" }, { "path": "asl/tile/memory-and-data-movement/regular/TLOAD.asl", - "sha256": "aeddfe72c054628ff4700f3f3b5f48df41882139d90c84652338a350b7e4b788" + "sha256": "ce704d8891f7b77bebcba6c099c9ac33a48094d7900a2f4983253b0f6dbc9aec" }, { "path": "asl/tile/memory-and-data-movement/regular/TPREFETCH.asl", - "sha256": "17dd4668691f90f1336195b7684499af3122ee5fa8ee295ebf8647929407a213" + "sha256": "dd1ee3c94efdf5617256a93096576fc49be8b2f1dc6b77809b27432bee06a9cc" }, { "path": "asl/tile/memory-and-data-movement/regular/TSTORE.asl", - "sha256": "4d66d254cdcfab079d81d59a108954870e5bfeb005ca4f04057a9583ff292967" + "sha256": "829a3de0be75d872aae66ac7d4e922ade5dce2d34c4216e625d9f36d90a4407e" }, { "path": "asl/tile/model/capacity/local.asl", @@ -3190,15 +3174,15 @@ }, { "path": "asl/tile/model/dispatch/tile-scalar-and-immediate.asl", - "sha256": "58be9ece1ee0365bbf5f0d24fdeab752ad926770de8aa2cc1342814fbf361a02" + "sha256": "762d55c7c32ca6358b1712c5784a340002d7b3ca1aae0f0d9dd41abbd520e512" }, { "path": "asl/tile/model/dispatch/top-level.asl", - "sha256": "d0257c1ac5745d3e64f52ba86334c9c8b3f8ea31ef7e05c9966a6cd36eeb1ea7" + "sha256": "bbe99fa63463871fe3404cd3aae388f19346eebdad59c1e1d62f2a222ca194d2" }, { "path": "asl/tile/model/execution/comparison.asl", - "sha256": "5788eda42d398c7780ce1cf3e1c028579b9d8ebb4b7870e2ee9e97ab34515f9d" + "sha256": "407ce58e52dbb32fd455dc47268160ff4822fe4ec04c8552218180626b99f4e2" }, { "path": "asl/tile/model/execution/cube.asl", @@ -3206,48 +3190,32 @@ }, { "path": "asl/tile/model/execution/elementwise.asl", - "sha256": "ff263b4125929f672dbf818593528197cd8a180eaea0d433122b3853c478f77b" - }, - { - "path": "asl/tile/model/execution/execution-mask-comparison.asl", - "sha256": "d0e9f8c50c0872de8431a3660bf54811daadcdf31522ef571349693c7756051c" - }, - { - "path": "asl/tile/model/execution/execution-mask-state.asl", - "sha256": "8ee7f9b3bc758f8dec6592a6476d1ffb900ba4bd01b775913ae7b132944fb01c" - }, - { - "path": "asl/tile/model/execution/execution-mask.asl", - "sha256": "b0f6523046c06ff981015687ae00becd5d1703f967ae0b3573d8e254cc4918ab" + "sha256": "9a8c3b26ee08e539274441aaed7ad8926d593784b94b45710d96fafb3c96977f" }, { "path": "asl/tile/model/execution/expansion.asl", - "sha256": "f08bf816766cae7b0f133fd7e857956a3c0710f9c5dcb65874620ee74dd82b66" + "sha256": "6778b906098a688a9141bd3572a145a05b1aba8fcf7f85d64b0a9b82eea4b1be" }, { "path": "asl/tile/model/execution/expdif.asl", - "sha256": "4af06fac5a6f83e55d634dd2e519e04e33d9a39d0bb4906e591476146705e817" + "sha256": "de619e86013c19934c81832c8bbc377da6d5111330c0d9b3ffbbacee386ae250" }, { "path": "asl/tile/model/execution/fused-multiply-add.asl", - "sha256": "45432db0f253b89b7cbd1d01173dacc5edd0e79ec89c2e2b27c7473e6a31a375" + "sha256": "92f6cb44837ead5cea029a86fb6b3e129a9a6e519fd1451665382006ec9c54eb" }, { "path": "asl/tile/model/execution/generation.asl", - "sha256": "59c598896dd954fa0b9412f96637920b8eff175cdee853a5412302471f4ba66c" + "sha256": "1d3d85a114758b9a830aa81752db81c6694bea6732301a702f0f0db1c4dcfbf0" }, { "path": "asl/tile/model/execution/indexed-rearrangement.asl", - "sha256": "eb0c332dc0f5bdb1024a181eb91e6be53adad323fb064752ce1414e68982f081" + "sha256": "f7c3cfbeaba14005b73177f688873f689bb8ff073c975af3818c9ca06284b4ee" }, { "path": "asl/tile/model/execution/internal-accumulator.asl", "sha256": "e6585a284c9e047f7013fff0f0734d3f8e7196f0d9056adbb1f579d97300d97d" }, - { - "path": "asl/tile/model/execution/lea.asl", - "sha256": "efbe6022bcec180cacd27f72578cc7f8d960155e338eb17f6723e85e2cf2aa28" - }, { "path": "asl/tile/model/execution/matrix-postprocess.asl", "sha256": "5b15b66c3b6fc38c9a0e76dfd49138164aadb96bc0b60a805168da69934ba966" @@ -3270,23 +3238,23 @@ }, { "path": "asl/tile/model/execution/predicate-carriers.asl", - "sha256": "d50ddcf6854851f249235f71ffe7e3f499e489fb8d131a76f8e8fe9d288461de" + "sha256": "1c8c4dd0e69ab886d97c9e8fb3d061d9be0f1ce34eebddd5cfb494822a2a1f97" }, { "path": "asl/tile/model/execution/rearrangement.asl", - "sha256": "1bc567c3fefdf37d7595d86c89a71193aaa7221588c7536641218ef64ea73a96" + "sha256": "17e40b7515be7e6d281f2b9b25784bd02481a0a132979d2063a7667f5970530a" }, { "path": "asl/tile/model/execution/reduction.asl", - "sha256": "76b8b699e79fdfc869c6a42df1ccae5c19b1c7205d1726df75a69f5805f907a7" + "sha256": "6402cc7a440d342eea95cbd59d711b03f094cdbfbb3a3e99cd3eee28a358fca7" }, { "path": "asl/tile/model/execution/unary.asl", - "sha256": "8ec306eb65696da11934b67fdc112c9f36cbb0e44a56663388bd42c468a7c8c1" + "sha256": "8676b2d466b26db25f27c655a043da794ccb0c445b24cad7816eda3d3ef648a9" }, { "path": "asl/tile/model/legality/allocation-capacity.asl", - "sha256": "b01bdc39897aa3762682e9f9400b69a2d0a5b00f34dd011cc5236b194e43a8af" + "sha256": "2c57fbe4bbe27b4fec65bc4db2c50ef00c51983715ae284792749f83eaad7887" }, { "path": "asl/tile/model/legality/descriptor-shape.asl", @@ -3294,11 +3262,7 @@ }, { "path": "asl/tile/model/legality/dtype-layout.asl", - "sha256": "199403c2db27d47050d150ece1bf39506d14c0dee7d01d1c2e8478545cdc6a0e" - }, - { - "path": "asl/tile/model/legality/execution-mask-source-schema.asl", - "sha256": "ddd02bfb057a0289a55907708f5048d0e252c37975ecebc9d22d96fb60f03d8f" + "sha256": "aa50cc57604fc23c48de37e97dcc63c509c59786ccb3924bf0628837598e16b5" }, { "path": "asl/tile/model/legality/expdif-operands.asl", @@ -3310,15 +3274,11 @@ }, { "path": "asl/tile/model/legality/indexed-rearrangement.asl", - "sha256": "d966a495ce234d2f2f532f75b585c1bd38f0bc64109cdad09c6d567e593cf8b7" + "sha256": "63ebfe99202fd4ab8a72d3bc289c3ef0ef7e2f06b982c82be3dc24d6bb53b83e" }, { "path": "asl/tile/model/legality/layout-rearrangement.asl", - "sha256": "141345f4fc0a6b3302f408c53f4e98f17014323dedf4be4a41825e880fa04b6c" - }, - { - "path": "asl/tile/model/legality/lea-operands.asl", - "sha256": "781c3adc7ae6db2cd99cfb4548b22d0cad4fe7f63748d399f99a2629fb2fda21" + "sha256": "5f1e8cf28787bb012d5adc4885648f93ad8502a21a74fbfb7fdf3c65357d521f" }, { "path": "asl/tile/model/legality/matrix-cube-primary.asl", @@ -3346,11 +3306,11 @@ }, { "path": "asl/tile/model/legality/memory-schema.asl", - "sha256": "28bc75b042158889bb42f6d9df3658f204979c85d77caba49b2df9a84214805f" + "sha256": "e9f4513cbefaefc3807ab67e257dbf7531c1986b7d69d3f4f919944e9195ae67" }, { "path": "asl/tile/model/legality/operand-schema.asl", - "sha256": "a48bd3f8e80ee0a3562f94323eb10d55331898cdf4645ccfa2a70013fb50d86f" + "sha256": "4bca9a8ed0162734d38a0bb1236f4ad264dbf10521828571322685078eba034d" }, { "path": "asl/tile/model/legality/pe-mask.asl", @@ -3358,11 +3318,11 @@ }, { "path": "asl/tile/model/legality/predicate-carriers.asl", - "sha256": "8625ae51fe7b75fd44c6ac87a37eea6dd1653ffa5bd1a8122e4f0d6af7640ff9" + "sha256": "990bf1b787b82c132fe47c93a6dbce5fcea1d31a5a31dd494d2bbfcf34de7a47" }, { "path": "asl/tile/model/legality/reduction-and-expansion.asl", - "sha256": "ded5f41e95ed0d72124460bf445781fbedc1ed277a1e35f1142efa20285cfd59" + "sha256": "4389d1a090e19871f24e2c88246b5d0f75afcc1b803bddd32434c7dfaa1b0a9c" }, { "path": "asl/tile/model/memory/addressing.asl", @@ -3370,23 +3330,23 @@ }, { "path": "asl/tile/model/memory/atomics.asl", - "sha256": "34a183a32f3d4b9b423249d17bf9583dd5f6642997f6f9706813778d4144d190" + "sha256": "4d2fe83c1b64c058606dfd40e50c439b124a16d6184b1dfb7c622e068e4f731b" }, { "path": "asl/tile/model/memory/gather-scatter.asl", - "sha256": "fa010aa4b823ff1cb4a5bd0cc7d902420736652f49a0b0ef0719a2a401de6ea2" + "sha256": "ce49897fee53640c07efcb06ffe77611049990b6dcd71f09e53db34f6af6c008" }, { "path": "asl/tile/model/memory/gm-atom-red-execution.asl", - "sha256": "af0f486684c30141a2be622dc55bb057401bbf4d2440457681e61828262d0f53" + "sha256": "602adcbf517a7f186cf9446cd8321eaea2cf9de5793e06e6abbeef4cd3c87cc3" }, { "path": "asl/tile/model/memory/gm-atom-red.asl", - "sha256": "70b79380d4a469a7e6b925877aaa34303385544a7f5457abd12619fe23187519" + "sha256": "c07b7644f76cf4fe59a90cd71f3a0bd733da888abe73089ca37e587997ed773a" }, { "path": "asl/tile/model/memory/load-store.asl", - "sha256": "7261e03cb01586fe9077968542b2cc5b1279ea67247497b559462b2ec284e614" + "sha256": "5d4cc440de0ae4e871744a1cf809aa7124986e1084659e880235384ae58b64c6" }, { "path": "asl/tile/model/memory/restart.asl", @@ -3394,7 +3354,7 @@ }, { "path": "asl/tile/model/memory/shared-movement.asl", - "sha256": "3fb6d06c0a374e53dd2241bd001c9e6e3ed035f086e56432f0ce68f3a41c4d10" + "sha256": "24123bd2b4bdd32d782f4b5d3f1f5960f05f61907639e66e39434d14bd032abb" }, { "path": "asl/tile/model/memory/stride.asl", @@ -3410,7 +3370,7 @@ }, { "path": "asl/tile/model/numeric/formats.asl", - "sha256": "a91e1b5888393b465589dd8f76e55790cc1c50b77689fa982137c3734c20ebfa" + "sha256": "58e4072d9238c53ac865cda0d214dcb2c8602f9c8d13329e64506761f10d8ff0" }, { "path": "asl/tile/model/numeric/packed-conversion.asl", @@ -3418,11 +3378,7 @@ }, { "path": "asl/tile/model/numeric/reference-conversion.asl", - "sha256": "5b7ac361fad1d588ff7b73781b46729ed6c239dfd6a73cb2661bf803670859af" - }, - { - "path": "asl/tile/model/numeric/reference-fixed-binary.asl", - "sha256": "51ed7c5807a4426efbed8bb4727d123d616676ebcb81df2c87cbc954b66f8ee3" + "sha256": "2e2b4d966d2e6173f231afd2530da5c169b292c11da2350e9b4dbfe8e3ecd33d" }, { "path": "asl/tile/model/numeric/rounding.asl", @@ -3438,11 +3394,7 @@ }, { "path": "asl/tile/model/shape/cube-cell.asl", - "sha256": "e180e3f12cae7252b35d21d15fef7ed6e8e4305f2ad328adc0be36fca9b6ee23" - }, - { - "path": "asl/tile/model/shape/cube-double-cell.asl", - "sha256": "3c62fc259c9ce363f74142bde27a42bb2dfb7c3fe15ad697b75a48fb184bdbb8" + "sha256": "4f8fbd0fabbfd40b4d419bd1431e3ad4f9e6bddfc541f64e686cabcfc21ad804" }, { "path": "asl/tile/model/shape/rows-columns.asl", @@ -3454,7 +3406,7 @@ }, { "path": "asl/tile/model/state/allocation.asl", - "sha256": "4ea757aeb26d6f9ea2f73180fa835bbe2c9304da27f27a88290c4b9dfdd44706" + "sha256": "228d6ed66471a3d568e2333c70fed5df35231f23b5e605c75568e92b606ac6d5" }, { "path": "asl/tile/model/state/descriptors.asl", @@ -3478,183 +3430,179 @@ }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPAND.asl", - "sha256": "cb763de3ac6314fb5c1853d7aa01e075066cddde4ca115618a0fb674a74e125d" + "sha256": "26e7d5919a31f0e89a443c74b56ebd3bd139e767959716bbdb6ca4dab615bfb8" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDADD.asl", - "sha256": "adb2cbf979624cfe9a030b93b291f683f1856ed135800774383f6659ab674a52" + "sha256": "21b75854a536b87302fe4c8a820be13ae556db2f523e6d823d669e003ed7b6ff" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDDIV.asl", - "sha256": "1324c51d1c579d48a2322a85a622f9b1186e02caa07888aff2052eb13a9f5033" + "sha256": "573a414141a37e3c006a1b886e465f2b6559a10b9cae89a65c332e80a54dde3a" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDEXPDIF.asl", - "sha256": "f6c63430f2ac86525e84f2c88ae13b3017b216cc556031ec86515b69b3ab362a" + "sha256": "afc5bcb06cabe89684d64bbaf610ed797d45796b78e407d9eada1d156bdf4308" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDMAX.asl", - "sha256": "08e4c6505980da5cc6936a161b2a7afeb65030d4dd05a9a5adcfa4fd28b2a208" + "sha256": "c79748f08be6c67c996f722644514216009ef086e3817c559e46e2a17f52b540" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDMIN.asl", - "sha256": "df957cdbce54c9cad549b111fac037477717ff142cd5d40289c36799421c8694" + "sha256": "bfdf80e03c5adb7e3b300bd7beea4ce66ca3bdb92f91a8fdc346fd8a83e0fecf" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDMUL.asl", - "sha256": "e26dbc01be4b3aa81fccfab1c838de3e66c254c9117aa3b981711e214e8c5c64" + "sha256": "b156741109f166641b648ac69f66c25706ea637af61bce6739146a78269b2f4b" }, { "path": "asl/tile/reduce-and-expand/column-expansion/TCOLEXPANDSUB.asl", - "sha256": "5f7ec7515d518d1869c6b1f490122919a2a8ed80506a4d94fa790b05c7e3aff4" + "sha256": "be3b6a9f93958037cf4313f952b0b087eaf5569c470cc7245abd11275892aecb" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLARGMAX.asl", - "sha256": "aa9b3c318a19178d3acce54950ee5113ba6a50c597535a38a7253dd445d53ed5" + "sha256": "75447f8ee3a4f48da480cc40fc4e71a2ffeea2740298409ac084e6ae6cdeee95" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLARGMIN.asl", - "sha256": "a7fd34d530049e53d6947cf767a28e2bf920329706ec0d9149d3c4d9d3a3615b" + "sha256": "b96a9af26c7b58c8b69bd79739f7e1bb21bf5e3b85e2dc9d0df600eca9e325c2" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLMAX.asl", - "sha256": "2db9fcbd139870232e41db23b8d6c4e7650d173f11e6fdefb7e8633e142493ea" + "sha256": "2e618856bb86535bb614f139ff6fe77a404f0e31626d10065d976b844703f757" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLMIN.asl", - "sha256": "51699cb32d76c7664d3a566a64908acf11b038d6f2e0f14891bbdacd2455ef46" + "sha256": "06529f879e0400187379881325248f7e0eae0aa0b2fbefe781256151c3bfc2fa" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLPROD.asl", - "sha256": "bff381dc833a2519ebfccd105556f32bb4aa555e7bad103b916eb4fdb3f38344" + "sha256": "b2c1d8b19b4e7b7610032cc9940f7bbe40aa2be92672e422f648690a81a37b61" }, { "path": "asl/tile/reduce-and-expand/column-reduction/TCOLSUM.asl", - "sha256": "7f495df056da1b27e9c7665401cee1e4d9a34eb6678d4fe215ea9a2db11d9bc2" + "sha256": "cf09ea7770d26e2558337a1a27d95797abed1cab95f5ef055d76b7ddd6a123c0" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPAND.asl", - "sha256": "43dcec7e9f118a1d8f6d888145d53bbcf5382b79a6aa820dd4b154cfde891109" + "sha256": "52ec73293b746e5f293bfc07c49f4478816a3075c1e1b4f03bc56c67a79983e1" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDADD.asl", - "sha256": "87efed414dd81e2e7f17b897c813451c06f8426d7855dbb91ec7c1aa34bb82ab" + "sha256": "0d6138171e406e5d39562ca2cd5bf168f2cf5ce1e49e464a2c0061e9c738d8d7" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDDIV.asl", - "sha256": "634746b3aa017a99fe5e0af743c1f28e921347efddfd36e89e89cf1452a77e60" + "sha256": "34300e92da0dbf9633af774a8cc6762e39314c10f8ed4cd9e298d3a2013e7fb4" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDEXPDIF.asl", - "sha256": "7197386304a3acd9edb58b51ac64b9dff8354de9d24f502bdd9db0531e8ada53" + "sha256": "35a3efafa035e178126b254dc9fcfa99651d7c7e043634022fb7e04cc3d70d38" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDMAX.asl", - "sha256": "cedc6a1706b1bb778efb888185edd3fe3a7f083242cd2652c89ca4bb52a259ba" + "sha256": "1dcaee577df1cce4bb217ef11f845a11d0e7271bbabff884d2926dc4c7674e06" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDMIN.asl", - "sha256": "ce50aa256ecc33cc6357fd083c8e6f64ae7a0759488fa887db4fdce070e81bc5" + "sha256": "b5603223bd11f5c0335588b94d2dfcc384f43648081bb090b737feaa223b2006" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDMUL.asl", - "sha256": "7dd1eaac11653e47d47051fd4a06050ad743cbb7a2695ba3f823dc97762627d7" + "sha256": "2b1404ce5bc43303c87f6108db6bc7144fc1b9ecb828aa762499fe31948e7b97" }, { "path": "asl/tile/reduce-and-expand/row-expansion/TROWEXPANDSUB.asl", - "sha256": "c9464f2b6e2e1d55f64b17f24040627f9d766791eb60057631de0c9a8fcbe9d9" + "sha256": "05596c11e6836b480ce137585859688ea85a3a103d081ffacb33795e3fb351f2" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWARGMAX.asl", - "sha256": "0631016700d227179507ba67f80f4e86aeac0e222924a30411ac875178331de2" + "sha256": "bd66ddabaf8d8dfbaf59a2952ba8c8d0645d48e809d9133a9fea688bc15a2431" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWARGMIN.asl", - "sha256": "099c361d5853aa7701271e75b03323df32a22184b7837f93bc070fd725e0bf84" + "sha256": "50f6dd78626d8605c40af4c321f6e3fea638e09cc20f4ac918ec752b81551ca8" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWMAX.asl", - "sha256": "091ad491f78f12d409d46134c2bab4f7c8831559a96e2cd0415cc8552d9b0d40" + "sha256": "4419bd373ffba038c42e779fecd1c88333c944494ea052a67693b8ac8837acf5" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWMIN.asl", - "sha256": "91ff9c1e354f0ccb06ff65b41e0e19b1fa473f4855a80621da1be3809a1f7f35" + "sha256": "8d8dc217fc9b36fde5475d5e52dbe793233cc4fb546f0c227e6168b81177c7e9" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWPROD.asl", - "sha256": "34ae7da4a2773c73d2c514fab7c23317096e10378614b5bee1eab3aa432b1fc1" + "sha256": "ff83110397081ad632b46213fb6a81cea40fc40778ab48651d13f596a11defa4" }, { "path": "asl/tile/reduce-and-expand/row-reduction/TROWSUM.asl", - "sha256": "e56bdff3bbb74f9c9025d0080d4b9688d8157ac0c0adc2c3c4a66045288fb7f6" + "sha256": "4d88dbc90e198030f636a1dc2417401f8f224881ea785c93aafc1101410fdd7e" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TADDS.asl", - "sha256": "4d345cf3d1ecbb4abbba5ad85693ce079fd944ded4220c855f8711216387340a" + "sha256": "44ee129955830edcd242996bdd738a14cb2df4817eadf5e189213d61b1c81850" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TDIVS.asl", - "sha256": "e1be6ff6e8ddf71cd14919c49f3cccd3b43ed5a5b5e66d806532a0aa92e4129f" - }, - { - "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TLEA.asl", - "sha256": "993a39603503fcfbe683f2f9eeed785dda68287c1fa6ee17cacfad31992ef1e8" + "sha256": "4302d8fea8ddbe64ac30ea5103c1f6d6e96cd0e101749d432ffc92bde6776494" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TMAXS.asl", - "sha256": "2458a4bc6651208392d2c8e720d17a19e043e221d2083bb02281821cd94fdd8b" + "sha256": "ccadb20fa9cd07beb4644e050b887a9179058fea2fdbaeda228c15a2e1be59cc" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TMINS.asl", - "sha256": "da84e390592bb467518b4d49c39c2ed45d6ac7990242b80002076aa888be25a2" + "sha256": "196dfdab215ff63c0aafd9e04a6ccf8141ece3c4d9400ecb65cdc51592b19120" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TMULS.asl", - "sha256": "8a072aeb9acd912c7c876d2151317f7c3e49a89f5e5ffd6161a249db5bcac7d1" + "sha256": "5125a6d48098ee607d779b0a1663604273538ded0750b3241d7052a9e4c15d3d" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TREMS.asl", - "sha256": "1c07abf8b1c050de31d4344f397d274ae4703a2771396a0048c87d2807b709a0" + "sha256": "8a37a172275e9a10a505a92fc0613e83fd06cd72967a22765ef71cb59244864c" }, { "path": "asl/tile/tile-scalar-and-immediate/arithmetic/TSUBS.asl", - "sha256": "bec1d93c126ee3384d75261a1cf5b0d03bab9bb01879e8fe58a674f5ea16d535" + "sha256": "019a1830b140107151133dabe80b2280d7632b5531a179ffad81dc0b91fed86f" }, { "path": "asl/tile/tile-scalar-and-immediate/initialization/TEXPANDS.asl", - "sha256": "c8cfda2ee39d4d08cf8fbb23ba24af8790e2afd21b3058797af6cb9ec155c64f" + "sha256": "594aa0d7d8410963a4d805f7eb32e5087062f418f0893d25c6e52c913b6af7a1" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TANDS.asl", - "sha256": "366b4e07925a15cc6458e295cd9af2ffc1e98e2493e2232f3ba502614f96b157" + "sha256": "b891e5baaaca48aee691be224041bb368ef9a21ab39b43dd1c84fe08cb645fc4" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TCMPS.asl", - "sha256": "ca4e21af8970ecad28cc1fd1009e12b9dfaa1be225d09cc8ae8d6e4fd90eb6d1" + "sha256": "78c83bb71f6a00252d3c0339d957c1dd7c045faf346cccfcf4955b3aa500e6dd" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TORS.asl", - "sha256": "ee10bcf931e08b5a4ac4ed1c5c686843a84cbb7ce9c77cc459a335ee5e29d25e" + "sha256": "ba326399295e4c5bdcc25c379b628fb98d67c28ad6a27fa9781fc4fdede194f2" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TSELS.asl", - "sha256": "b6c9cbaef6a5e5406988bcb9ae1680935442c637c77f40c4cc1df3fcdd5c592a" + "sha256": "a4af0a7aeb8278c0811bc8e4f0df8bb86a21c0889c8e9be383e836cb615c669c" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TSHLS.asl", - "sha256": "4a2e93d746f1fd83f2f53160739e07e5ed899ec970ef42a26da3b12ddba51e7c" + "sha256": "ffb6d5afc6ecb2654eeb05f3a40b1ff6838cb90023bc0754491e625d4d8781e8" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TSHRS.asl", - "sha256": "e04315f5fda6fc3b0db9354f9fc36009edcf2bab712053cb461f35d19dcc1520" + "sha256": "6b57622135aa547876a4249e8405fd699f1c2a14fe9bef68e6968a86faa938b8" }, { "path": "asl/tile/tile-scalar-and-immediate/logical/TXORS.asl", - "sha256": "c76c50df6077b1c0aafd5ede79c6a34c6668600468dbce903e4cd28cdf158546" + "sha256": "f88a4534c5e3ac8cd8b16b464d0d229eee7048903e83fa76e68efddeb82d55a1" }, { "path": "spec/catalog/command-forms.json", - "sha256": "992ebe9c84cdb89d28ffa641e7a6a19d7b89bf12860d76383d71ba28eb176f24" + "sha256": "30d42b6246fc982f2bb092174a462a017769c5e31f73af2c94390f8e205a91a1" }, { "path": "spec/catalog/extension-encoding-reservations.json", @@ -3678,27 +3626,27 @@ }, { "path": "spec/catalog/tile-operations.json", - "sha256": "533db9b8f31f118af5978de813cfaa3fa738de820ee24655faa2ee71f343a706" + "sha256": "7af90e08da6db0b1f1b58a061e5b3ea7d1b5fe0a2fc69f5d3593b70c58a32cb5" }, { "path": "spec/evidence/architecture-readiness.json", - "sha256": "1a028a9569564a4ff95c5c1f5ccb2c783cb7277799844f3fe22d66b868af7fbd" + "sha256": "65aa1973cf2d3047d4f4451b7da3fe79d12980d1a184bcd793274e61100b3434" }, { "path": "spec/evidence/instruction-contract-closure.json", - "sha256": "fe963f5fb462b9bfa88ab42afd403330eac5478a2b086bf74770e86474d135fc" + "sha256": "fa51120d624e061b505c3a5ac3cc97dcfd9d04957910814259bb5a7bddccd13e" }, { "path": "spec/evidence/mnemonic-descriptions/coverage-summary.json", - "sha256": "5dc5b645307ac3eb8e8532c5773a3692b803c0d889e67ec1fc38900c29990030" + "sha256": "4071abaee5bf038665ce94368a7e86f39a1b90f8ccddc378de53e9b3645075a9" }, { "path": "spec/evidence/release-gate-readiness.json", - "sha256": "69ad7d636589f887ab29da3538c30e8de31bb480bd8e8491d645b6dda11bf5b7" + "sha256": "070fc63301fedbc950d78d48d4fb10825065da40e6be83a7e55c136dd80d8282" }, { "path": "spec/evidence/release-traceability-readiness.json", - "sha256": "7b20558a581b03e711fadb11772ed5005c9b8f8da741602e8bd66784b6bafce9" + "sha256": "bef07be74386a9dd4e306a8bcce57ba2d1f9feb227a825f8706cf2d1c0a852f8" }, { "path": "spec/hardware-conformance-profile.json", @@ -3726,7 +3674,7 @@ }, { "path": "specification.toml", - "sha256": "4feacc7be0424a0bcc9f06054ce6a7b5e5813c3180f80b56233a6c155e2f7845" + "sha256": "4e7273b1e4362c74d2579144e26dde9ea801061a836c8e8846de79bff423c45d" } ], "catalog_counts": { @@ -3736,19 +3684,19 @@ }, "command_forms": 96, "contract_status_counts": { - "reviewed-complete": 119 + "reviewed-complete": 118 }, "extension_encoding_reservations": 46, "pending_base_operations": 0, "scalar_forms": 466, "tile_operations": { "CUBE": 12, - "TEPL": 79, + "TEPL": 78, "TLSU": 28 }, - "tile_operations_total": 119 + "tile_operations_total": 118 }, - "content_sha256": "c7134e3b0f455e10a811d49844a19bace4c628f5aaba12bf4652fce5dc53c50a", + "content_sha256": "86ba5a0adf5e1388a653b1488e4f9513f2ca9e00436164ea6002598893dbe66c", "elf_identity": { "alignment_bytes": 4, "descriptor_encoding": "UTF-8 JSON with lexicographically sorted keys and no insignificant whitespace", @@ -3767,7 +3715,7 @@ "section": ".note.pto.isa" }, "encoding_abi": "pto-isa-0.58.7-mode-function-v1", - "encoding_projection_sha256": "2fda3ba1a0147ddae3b3a2dbe98bfb8ba9b592862850850652cd5af79752e93b", + "encoding_projection_sha256": "9c49cdfa79a4eda6b27c1548bfd06ef681b6189f7d02d466ddfd43f59993b93d", "hardware_conformance_profile": { "evidence": "spec/evidence/pto-isa-0587-hardware-numeric-vectors.json", "path": "spec/hardware-conformance-profile.json", @@ -3785,4567 +3733,4502 @@ { "kind": "generated-documentation", "path": "docs/arch/data-types/fault.md", - "sha256": "e21915eb91562b553a60dc1bc08e025eedfb5270de49f4a49aabc18596e85d12" + "sha256": "b4607b1309054fdd20a30f688b876e741c375da2df66ae6a096aadea457badc7" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/floating-point.md", - "sha256": "ac479cb444e140bcca6bdcd578beb55f20edbbb9b2afee19519792c2d0632016" + "sha256": "a2ad37257a95f05c09ab26723d8d825b017fcadffc0ad619491ddd7d61703b61" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/format-descriptor.md", - "sha256": "dec811e4afd14de99dc22c4b8275d0daf475447a6c223ec205cd7a80e536ed48" + "sha256": "e5730dcf362c77658d4f8f4e6aa36e2c3db2d628b6059ca2e3156b427d4df1dc" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/bf16.md", - "sha256": "8e616651489a0854455e8d9c3acb63a633356774e4876da704de45315d702afc" + "sha256": "fad21be9a2ab06d8e91b040455ae7a3e977bfcd060be212ae770a735111652e2" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e1m2x2.md", - "sha256": "ba3b272218060c0b66f0e03d2d374d0c91d3edc330c3b4bd6c0c9758f7c1381e" + "sha256": "7e0b6e3394a6bb230892b6ef89296bc6c83d50232cad8dcb240d13f75b5f8d5c" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e2m1x2.md", - "sha256": "485f8fddd6384b9242f1c837d4aba202f18e05c456f3f29f56db79c0767d13ce" + "sha256": "2d8c73114fafdc607ca54c52ca88e71d9d8da6df2c3f799ab866e4e2255f5b32" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e2m3.md", - "sha256": "00eb05332ec3f5c63e3370325cc63cacdf12cb779586186ad1c35505543a4a19" + "sha256": "11d7b811fdee9f432854218f23e6a7cfb3cc9ca2dfa8228653549265f002d019" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e3m2.md", - "sha256": "c4429b2afc942c9bcc93a3c0a04ae6b8e2156cb51649450bac689e7113505ffc" + "sha256": "038531b8ecb382ef2aad78b8802c46b7af9132ee8673d13c4078957a22a1b594" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e4m3.md", - "sha256": "6a8c853593c478940040d2ca3f35c3bdd7a1ac4755efbd1f32f353cd69ce0a89" + "sha256": "ad17df55adb842dc8d4347cba3334d64be84b7482db4ffeae43842aeae03ec5b" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e5m2.md", - "sha256": "e0c728adfe7ea16de633740c3125d0da57e0cc170a8e639b17ab64db296c3939" + "sha256": "a9ff0108569f1ffdd7e6784d31a45be3418d6c98d90f65a4ad6681aa13cd7122" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e6m2.md", - "sha256": "47cbd1744cd386920806b159843aec9543699ea74d4de081ad746cc727387205" + "sha256": "b121df0fb652167cdfe610c5125196a6d6e367d29cfb151fd81291bbe3ad73c2" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/e8m0.md", - "sha256": "ecda679caab002db63b6bf21fbe8dd463f6983c2a9b81a9f0e879e93f9eeda82" + "sha256": "1997742c05123d0ebfdf79f971566951dd34d8fe051c7a0f03a053f7d8739edb" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/fp16.md", - "sha256": "1a638bee2d787d4f33728f77f594602fb89528160a97171d799a7f99d3afd2aa" + "sha256": "e0b947e70b5d6f44ffe356efcfdd156925b0eeab3608a56b1636287545d17acf" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/fp32.md", - "sha256": "a59dbccd794d3b851f2354657c22d73f8c97f748a23956d3f46ac3ea9b879ade" + "sha256": "8678d0e11245a364212dd45a77fbfec5d45f533b1f6bd44072bc4bd2549b9f3c" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/fp64.md", - "sha256": "08a3136d09864bdc5ec548e52c5c33ad48d865d7db3a02591e45811ba59d33e0" + "sha256": "d54dc15207ab7b54f5867016e610bb326dac5de8b1b4166886776d2b56532abb" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/hf32.md", - "sha256": "9b56891e9ba057c63839417340b6c0c1e5c3286d28264d03cb42f9298d6e6cca" + "sha256": "e6cea9cd8721d1929f82b43c8459d0ee0644ef8eed494f1aae26382baf17ecba" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/hif4-scale.md", - "sha256": "c9f258ac1ec634e01545356c6579a2bf51a741a25241100d7e41c6a2faab69cf" + "sha256": "82245415df75742ca335d5b47c6ed05fd51570a16ae74fe2f971eb97d759adf9" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/hif4x2.md", - "sha256": "59db671f748bd973ab230d09c78d15e15a8e760eb51ed1e2a9033560938a6f3a" + "sha256": "52348950cc5b13b7eb3a2f23a1c169b8c6d7a1e949722cb6381ba630322ce2f7" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/hif8.md", - "sha256": "98edcee2bde2ef78626f68d5aa247c239995d1db0cc5f74bd14c2f06bab07e71" + "sha256": "093f9407c984e65584350f4eb7c1430ac429d285ff320148131ae31a52728e5c" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/rcpe6m2.md", - "sha256": "becb480d3b86bfa7814f35d2233de37a4cc1531dc9187ab1062c19cab179fb44" + "sha256": "ed4892f329953e8ce1d2e5b594bb516a80709c9787c289db2c965ffe9f3e2bc3" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/formats/tf32.md", - "sha256": "db79312069ce857a07023f6ea2247c9e17ec2dc6ba61b77acdb06635c1aa1ea7" + "sha256": "3bcef7d67e7430ed6d5b7632b4bfd50910a16eb320d78d95f2b01efe26d4f26e" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/fp19.md", - "sha256": "1cc0bf445c77deaf59583e79de292f2641f48b6e4de7c2b983fd2aa7d5747362" + "sha256": "dd496a42435846c1805e45d9f0dfa579a38906c90eb9b6bcced2bc7f46d4297d" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/integer.md", - "sha256": "b160d89619963597ccfdec16aeabac46015ebf6c26988912ea538ef72467dfd6" + "sha256": "774bef7641bb720f1c278acb6779daa008508f65f3eb78f0990fbde309456576" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/memory-model.md", - "sha256": "305e91ca0c5bdcc7d8086ee5eef000d6cb59af801654e72e1af5a62e7d9b48dd" + "sha256": "2fa479e17ed38e8d61c7f2afbe01430665e545d298092b88d49a2cbc16e67dc6" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/memory-operations.md", - "sha256": "b51a582948de1ad6b30a9263793d98491ccacc734d6d0a32620c05a26567fa10" + "sha256": "c227eb0ee9843190e32358ee3c8231774c07aa84e332b6178b535d6f6af62d33" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/numeric-classification.md", - "sha256": "1155dc29c6ee1e80d6ad39db235a63fd36c734297598aa6eb8dbe5f0bda6c0cc" + "sha256": "0ed38c1c970df08c290d5b273d3756ae9d99dacc8d3cb44f8439b7af2d5addf4" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/numeric-formats.md", - "sha256": "407eb50ba29a2dda2818ac30f1af400da3d90c946d4745e0a15f5f843b125f62" + "sha256": "3f626ddba864dc12b1b146860979ada92d8398c9029dd1ac498b8af606801bb4" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/packed.md", - "sha256": "dab4770d3bfec6a78640e4e4fbfff019701f2cc5ea38e42ddc24b533003b4a25" + "sha256": "48f84c32db8eb0f49f6209b0017190ebb13f7f3d992f84ebfc53202cd13db435" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/rounding.md", - "sha256": "cd6c2e1f4b836f2d1e50618d34f5fbca00d901e3d63964fe3eb6318294c6cd79" + "sha256": "00e7b70330888203e3bdde74a37953dee415edc6794b9ce179cda8a79903015d" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/system-registers.md", - "sha256": "493810885ed85e95313f2d2e7fc23309aeefa794d5347c19f6c488f29cd90212" + "sha256": "dcddf4cde950686c94a24aab3264a7e24fbbd93002efcc588707babb061cc456" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/tile-data-types.md", - "sha256": "0e38052304ad8ff66d11bbab0747b80660b6cb17413fa4793733b93a74424484" + "sha256": "321722d8ea0df9e493747a6549ef576dcb3337b5777da8f56e4257942ef0bd39" }, { "kind": "generated-documentation", "path": "docs/arch/data-types/trap-context.md", - "sha256": "5ded993cf7010282b3e3fb2e80f6b53062aeef879d017bb191d4bfc460b9129d" + "sha256": "262c641e3e61ad551f8179671a9b181d9b449a2a8bf3841c9ca491c115a912d3" }, { "kind": "generated-documentation", "path": "docs/arch/dispatch/top-level.md", - "sha256": "d2eea6e595959862effcfff76704f2c58783da32e3488fd86250d40a5d193728" + "sha256": "4ac9be465618cd6ec23fc28fd2a0c772932b67b97c1095cf0de4fd5831be2458" }, { "kind": "generated-documentation", "path": "docs/arch/features/extension-first-use.md", - "sha256": "c1a5c4ee7a442c8c22a9afcc82a1202a11010055b8f5c71c5c5c1fa1ebcecfff" + "sha256": "47463a637757e1bac942653581d33933912e32fdc7b6f7fcd76dae0e4734406e" }, { "kind": "generated-documentation", "path": "docs/arch/features/minmax.md", - "sha256": "7ab233f63feea1b619b5a9b90c2afd3699128f169aa2b236339923d9132c6973" + "sha256": "fcc4f8af9f3fb3cf81ce2b9d0c65a8c08c15bf1c27ef9d5b2f110287be7a16b9" }, { "kind": "generated-documentation", "path": "docs/arch/features/mx-formats.md", - "sha256": "b4739ed0c6683798361b2763950abb56e6686da37c5eb4414e3483cdd24abe0e" + "sha256": "6701c94b71d1d1d0aac6a32a1fee97cfcc66a9463cc8410ee6ed117bf951a59f" }, { "kind": "generated-documentation", "path": "docs/arch/features/predication.md", - "sha256": "c70ea64c03416c752c6fc7b445292ad4a4093aaf51a3604e5c3e6f3fc140913a" + "sha256": "2bd1fd0407c5e2bef2577c838e9b4d6a81cd4b9bc1e3c2c2c1543706b5ce4232" }, { "kind": "generated-documentation", "path": "docs/arch/features/shared-tile-state.md", - "sha256": "2ff6ec6862fb8ec7b4ebbaae79a65cf00da0265b9a7da7c4b9f7a57f6ec26ece" + "sha256": "68fde2d824a63b2ac47c91d65f5e8a1947f12ab0e5cae7b6158d22bc49c89310" }, { "kind": "generated-documentation", "path": "docs/arch/features/tile-allocation.md", - "sha256": "aca59291380a02c3b04fdca63919b17c5d3971a775645d0acc5bf7f111926e43" + "sha256": "1985bf406227c09fb199e6bcccf0d67389befbb114efdb488eeecff149c430f8" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/address-space.md", - "sha256": "ffcf8efa869f61c51c8d8d7c52729cacef21af5593f2b369c4c7309a297f303f" + "sha256": "c619a6f7224495fcb5e670674bacb37a60be0e4159cd7eb082b2a49dfc5a6a41" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/atomicity.md", - "sha256": "3c841dfbc25e9bbc6df7dac8137e6e2f95b90a121ec0d5d193a3d0b5fdba4d67" + "sha256": "d359c40fde65a826a30789ba06510647c26bab9537d08d782caafcab194365c2" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/fault-precision.md", - "sha256": "02221df1cc0aa68d8066ce715a00d3b5720339ff261f9a2c552242f58a7ef025" + "sha256": "ebd86992856848d8956bf4642a54fe4b022b5ed1a1f76971120d4ac120ffb7fd" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/global-memory-access.md", - "sha256": "8d73f4b551245f46e8fc1a4f939505d01e2fd7a8c4df6528e21e402175b87b67" + "sha256": "c8cc725974d82488a0190e7a130017a719fb4f3174e49a9ec57743a2c9dbfaa6" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/instruction-fetch.md", - "sha256": "99e3d3942db1d54a1141bc39c89a398ca4100d0a7e29d17787bd6201eee9d6c2" + "sha256": "e3491dd25fe4f119f97af745e44bd650b6744233335f4d457e194b103421557f" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/memory-events.md", - "sha256": "c8f9bf1dbc053c2be23d0c33401274157276279164981c99f926119530e41c55" + "sha256": "a0db0c734b9719d38c6453cf18905ae28dd501e8e6daefc521db0f6211fd9a7f" }, { "kind": "generated-documentation", "path": "docs/arch/memory-model/ordering.md", - "sha256": "6e264bc2716b012d9f213d505aa0ae2f136ad3a288c467e0e9215d64d415cd47" + "sha256": "51475078a9a8251a63d9d032d017e87e62e51d18bed007305c9af39123d376bf" }, { "kind": "generated-documentation", "path": "docs/arch/overview/architecture.md", - "sha256": "36eadc6152d9324850b4997e88381f5edae80d411b73d715b8d3ad66b288c34b" + "sha256": "fa7cd29e816e90003ab50d28b397e60d0577a868172a1769aba0519a0122300b" }, { "kind": "generated-documentation", "path": "docs/arch/overview/encoding-ownership.md", - "sha256": "214f800d343a1dd889a330b91a2c10562af245b4d5b3ee422119f527804d68da" + "sha256": "3165aff5966c7232d47ec71045fa6d488616f56a20c132e001f6cc7cd07d8084" }, { "kind": "generated-documentation", "path": "docs/arch/overview/instruction-classification.md", - "sha256": "cc660c12baa21220f93b90c41317c81fb68af6ba89bbd2ca5da037e5c4653f19" + "sha256": "aba68d51ee649c2dc64aa7282002d6ac81049a0b744596f782c85451417e98ef" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/core-pe-topology.md", - "sha256": "1dbe1c198100be7aff82bfadbe840cd82713d65d0ad71f1e94a79dc2fabeb97e" + "sha256": "c48aedb26c403990acdeec4972d9a779bbda6bcc33d1e91b3fec453de4808fe1" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/execution-context.md", - "sha256": "1c1de6b0cda375fa7e51a3ad529e2b59037e928284a175acad7f265744f750c9" + "sha256": "662a0bb57bc9744864104147b17db4601bae47e0c93d07016058956f57f462a1" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/general-queue-management.md", - "sha256": "513828a5b2e2cf1865ec6b8f47f8564f716325d908beb809da638c5f2a34065a" + "sha256": "1d4385e157dad37e364133e906ffcad8533d784ceb5b6521a9757f3e45147b63" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/predicate-registers.md", - "sha256": "6c7c7551818d467a27946ec995dc241fefeac5da4e6841d0c54f881fc05cc50a" + "sha256": "dba5bc3463bcc1979ec9511c2ec6c5fa495f94cf14e937552c38d46e2b70ed9d" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/scalar-registers.md", - "sha256": "a7b4b224e974c510226861b2c313f41e0894b15f963861e09d10c73de96c158c" + "sha256": "b22e523be9f71b031902861371b1922c45a76607e6c664e5dff9a1f634172900" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/shared-tile-registers.md", - "sha256": "237cc55bb75644b2c562f0fce7eb7f96de89ec221fec3b786344713d6c46ab35" + "sha256": "2058143f468f3ca0753e203f38cfa302e82e5e59f96b3f284da841cb8a52251a" }, { "kind": "generated-documentation", "path": "docs/arch/programming-model/tile-registers.md", - "sha256": "93e2cffab8050b30e112d3371f37e950e9bff9e8373cb06172cf6cab51a501ef" + "sha256": "bbd97306c0ba16a8a194086c3f575635bda9e125cb803c1ea2e93f33596f9309" }, { "kind": "generated-documentation", "path": "docs/arch/state/definedness.md", - "sha256": "0c592e7785591408293173237e5ae537b04d33f1c15de2a02985605e8a0b8892" + "sha256": "c907a540dc99da46f0343d36d44559912862e5ed66fe64780a6a5714a6e82953" }, { "kind": "generated-documentation", "path": "docs/arch/state/numeric-status.md", - "sha256": "2bc1485eab64147a553ddb269fb3e520dd0b63dc7c31614996dc32c53b57d06f" + "sha256": "6cbb9aa6f54c8ad4afdade4bc7caffe58068e69e0450c24a374340ad61e8e768" }, { "kind": "generated-documentation", "path": "docs/arch/state/program-counter.md", - "sha256": "4a404e9aef444c6e1ea3a1cbb273eeafaee3d2f00197613718dcd3b305375140" + "sha256": "8aedcb21ce2bc653515041f92cf1de114cc48a840d3b3afa80a669aae3adf970" }, { "kind": "generated-documentation", "path": "docs/arch/state/tile-descriptor.md", - "sha256": "553189c10a9b6ff1ca07f4f54865f6dabeccb7d05a48b6cae72ecd107bc15fc0" + "sha256": "e19351e89cbdafae3b7309dd07b287688868a04007b5e0914a756eefbcdb1685" }, { "kind": "generated-documentation", "path": "docs/arch/state/trap-context.md", - "sha256": "4bd556ccceeaa481e3599d6b4af6790dea57792c16dd331e6b8c9e2cb6d1b559" + "sha256": "00694dcb4fcdc9a14283f172c0dc128723246aa304046e847f5e566c3454c746" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/access-control.md", - "sha256": "bd3b2b5ac66ca689da27eada9638e88fd8982c878128721d9f55bbd8737a3e28" + "sha256": "1e8c0bac4956461c768db931b4c6aede80658a4d4d9aa86a1cba4f70946b6dc2" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/addressing.md", - "sha256": "b7c3947bb5b4a794223117f3afd4f9f9267c3ec6126491ccd40357c76764e33d" + "sha256": "0557cf866bfdbbbcba7b672a7cf9403bf0f06315f542e46a218b8a242d353750" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/context.md", - "sha256": "5083ce8cef4389fb7e812fdaa48877e523f1024a24a3160f798d9a2cec5c2d27" + "sha256": "cdc57a7b5a57004883688a73cb7ae0d06893b021b7ed534928cffd0805033898" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/interrupt.md", - "sha256": "56719be1e34675dd43e3b7a19fa136c3fc1d80626afd2fcacf57579c8237b700" + "sha256": "c85ef285453cfdbd6050f1efcefd7188ee77f7fa91d5c44191467734a9f41177" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/maintenance.md", - "sha256": "52b2ec4e6848f4842a4e5efbaaf8e951a65b0d9e7d379f3a2c54a38b0ec2e987" + "sha256": "23533b9a2cfc876db3c185d0bcbcec2c4da1ad051c159a87bf8f539259da39c8" }, { "kind": "generated-documentation", "path": "docs/arch/system-registers/timer.md", - "sha256": "15facd0524702b0f06c36912b00b0a1137f6336fa67596b7d0966d32001ceb3e" + "sha256": "eb48e37e29f44151e08c834c373772233db61c33cfb01a560d447f8501578e56" }, { "kind": "generated-documentation", "path": "docs/block/attributes/B.CATR.md", - "sha256": "c4664bd9a84f9da4e07416aaaf4a84e69aa6b2501a1f9ce236cd975bcbe88e16" + "sha256": "cf5d15ab34d0d8ca6baa10c7077d0d05843ea891652ce32a9faf6b37bab6b93a" }, { "kind": "generated-documentation", "path": "docs/block/attributes/B.DATR.md", - "sha256": "b1f5b5c5a072199e3e2876d994174106e720ea753735839330afe996d08c866f" + "sha256": "6d87561ca3b462677a7ded6642c02d22afd1c184172a211bc3c2c6de53417789" }, { "kind": "generated-documentation", "path": "docs/block/attributes/B.DIM.md", - "sha256": "f6fce6e6c061adc0d4c5484931834da47f24d67b3fcff2ddec4665eaf1b8f040" + "sha256": "68d63621e6f637ab6a7f9e043391f717c33cf28862bc52588ba7b4f47a3b28f6" }, { "kind": "generated-documentation", "path": "docs/block/attributes/B.FPATR.md", - "sha256": "a783dfe141c740aaadd5251ab3fbe60f613f4cc388fb77a5797f87d2c6151df9" + "sha256": "22f582c538bf36302d532464d59e78801de0252d7feabceb4b6cee4620c5a1e6" }, { "kind": "generated-documentation", "path": "docs/block/attributes/C.B.DIMI.md", - "sha256": "f6c21cd8607da5817b3fdcc70dc7dff22dcbe9744c528fcc1fff6cbedd13e19f" + "sha256": "547b0a9a25f325f9e9cd313a57dbfe87b5a79b341895d403e11c248c0db88ea3" }, { "kind": "generated-documentation", "path": "docs/block/encoding/C.BSTART.FP.md", - "sha256": "bff4db45dc3746f587ef88bd13d843f21db10617dd8234b7d0ecd9abf3e1a721" + "sha256": "c6fe069081f616ca9c655691f55c8b416cb3313ee4ad38934c05110ff7ebb3a6" }, { "kind": "generated-documentation", "path": "docs/block/encoding/C.BSTART.STD.md", - "sha256": "8e765b85c7d2b5590e2da497577136a9787ddbaf05e8c655b436fa5abf096660" + "sha256": "8032ce2323af6c43cb9a5ce174ca952118bf163e9079d788790687c8d17f8b09" }, { "kind": "generated-documentation", "path": "docs/block/encoding/C.BSTART.SYS.md", - "sha256": "3fb46b0f359cd101047862e04d58b88b56acb9dd5cc3ab6c5ba4875ac6e1195b" + "sha256": "310cebf0c29495af26809fd4b024540856cd36438d7e97bf17aeea431a272d70" }, { "kind": "generated-documentation", "path": "docs/block/encoding/C.BSTART.md", - "sha256": "68d54861098910523efc2d2b79e20d10332adddc2d79d863bd238c737cf2e6bb" + "sha256": "0834a3f9dbaa701494fc7047db14e1200f69b9d49630b5f6058d8b9ea82bf384" }, { "kind": "generated-documentation", "path": "docs/block/encoding/XB.md", - "sha256": "630a7823d12424d9a230ce4591958d74b22e7c7150df5d71e83775ef108093fd" + "sha256": "0b52a6b59349870694d95f18c338e8bf00a7430d7e3950a1ae91399b4c864c68" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.FP.md", - "sha256": "184aef06add1ad7e5b04fde95e4959ef5e12cf00932883b173e944b2892b1dda" + "sha256": "96bef3074e76e670cbd91b238618a185ec46dca3eab6155c4bcdd0c88e464c32" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.GMOV.md", - "sha256": "7374995743a8322634961f2e381738ca5f2b66d3c3c37ed859ed4dacf141bdac" + "sha256": "d9421dbfc3be3d152da9d23db96ce9c84538db2bc90495d1df9c9e377f14f181" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.ICALL.md", - "sha256": "fdb07054d0158f93ea504a169103bb12c66460ceb3994c7efa2785af4e8abe11" + "sha256": "7773d64b02e0e9adb77f19314e74c411db4a08adc8956dd37354ea9b9f40d89a" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.ADD.md", - "sha256": "d0d82b9fab5d4bb77980d3e780bc5f502d19737fa67f770a346e2c7a8d6c572a" + "sha256": "c6e60c32b0149d64505d932011f450e22e5810e8f66003879a299a9ffb968a32" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.AND.md", - "sha256": "394a4f66087ed2138e8829f02d08b5a1e9cf70ffb8143c1ba26323c7dd5d2278" + "sha256": "cff83865fd946eebdeb6fd58a702702f9a929560d843f8a021c7b793ae676f2b" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.CAS.md", - "sha256": "a4ed66f68894a7e48759ea1e87574e2dbd976548c78907f36bc668f1f025ff86" + "sha256": "c7c683fa725b8e74c6725d1072f9fb4bfad2579083db5849c69c96f01198661e" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.DEC.md", - "sha256": "b048c9b6d5f71994d839525ec14f29e23ce855dad167f6e30f523bb99acd0a4e" + "sha256": "89721969e225d750b7733372ad35bc077f6683723daba34bea4abf01f747be53" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.EXCH.md", - "sha256": "04881410bab4646651952c5909ea84f42d2af1caec38a1704b836d20c95a99c9" + "sha256": "00beca1a2c59f621596df8d9d44d6f8c3cf6614ea26061b0fc3717a1cb48bda6" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.INC.md", - "sha256": "8dee2d10c73b72652b2ed5fa655672f6278ae47282ca59fbf7a81b81838f88ef" + "sha256": "a028f02c96a7061b10c6affb8e26fa33dafb82dcbf9b8fda531f6710ee6c28ae" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.MASK.md", - "sha256": "9dd44430ef9b545f02f68b64bf78c89012dc8234c274740b69e81f8e8cc01ebf" + "sha256": "350ed289bec1a5679b4b9c1fc7260f0da3df699f924fe6efc44d41e6d8fac9c5" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.MAX.md", - "sha256": "72ae70e5784c1ad654408738e5f9b949ff0c6868f33a3184b90cacb873c352be" + "sha256": "6d0a5565fa38ac3f91446a73f25eed39686c95f26ca71844f00f7b7840647a42" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.MIN.md", - "sha256": "8d3ceef4809f4d2e3566d01676dd9bfa7076032ad80b911d4d9884732baada97" + "sha256": "133c8c56fddb5b82ea8307b3fcd2f0c6cf0e87787052a62e831a49209048714f" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.OR.md", - "sha256": "1b0212f04965f1e31f79132b3084a434bc11369294be4dce6653e6b1530ebb3b" + "sha256": "e554a6b78336c27bf778a777a7f54e0e21ca6345961d0cc9cc3c416a8b412839" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.XOR.md", - "sha256": "00fe04ea9e2d64b560832622698582cbfb8403a0d46a895954e6472f3ce0fd21" + "sha256": "fb04b44cf9c639de1ca487d8f743d4482d889822ca623b40192392ffd5cec20a" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MGATHER.md", - "sha256": "6dbb63fce0b354dfeb95301fcb6226659d35dc58478c68cfd6dbad7482cadee9" + "sha256": "8be7280a89679f9933eaf30b41f2bd650991810620da6a372ad40af74199276e" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.ADD.md", - "sha256": "c592a746ec587c24e321855bad2e449535e29855e37db37b052c356e9d1af995" + "sha256": "db328fd2bc7fd6de22306e724144376788a4afaf354728b9843bb12d1b8b82b2" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.AND.md", - "sha256": "9a48294c8783bfa74bd78e1f982bb260b417faf5c9559d636df804aa004f35c1" + "sha256": "3cce645f65d8b09f0ce6b5e171cae410d3a5b7a92d49d4b5dca0b3d51dc5a1fe" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.DEC.md", - "sha256": "4bfb8b02d0293e34506cac28f7f08cd15ba11903dbe15e3ed9ff543dcb8cf597" + "sha256": "b2e5a8a44eb61c9a844c15d41a284b0286e1b6363803c53026cafdd55b37df58" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.INC.md", - "sha256": "657ca3e3c4929a979c3cb4c6e8ab5ae56b07c654dd10616571da2e38556b7d74" + "sha256": "1b674af3232717b8e1fd42b09fc2a5b2efee23300d744c8b3892c8f448a6429b" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.MASK.md", - "sha256": "392034a2ec0cf6879c73c361ae6d7e51379cd46b83caede6c4924d7171084449" + "sha256": "2bfd42405bd682fa2dae237e02d1878f5e99b2303fe2c56c7145a6e6bff60744" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.MAX.md", - "sha256": "5e64b2274c1fc49074371066e3b420219118fc6a4159b160ab239d200b280661" + "sha256": "6aba9eef49696beea8a123f678bcad57059b812264f6378932523925d0b4b7be" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.MIN.md", - "sha256": "f79a3b553a08dda403dd5ec2acd3df1d8acb3d5073922d70eaa6dca12b95fac7" + "sha256": "a979cf96916d0309deab662dfcd8c5c8482091b55930989de19d2e000da4befd" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.OR.md", - "sha256": "fd49527b9babbdc45ce3d6124ea582ffedfa48db8375e5f034e9dd5c9e355253" + "sha256": "cd0995d79e88f2e7c7266ebef916a2be77e4521adc80adcb16e5b9fa0d89c8c7" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.POPC.md", - "sha256": "164df27f52050a8248e8c7e1d6234a35cdec744262448ee786071abe7ce3fb66" + "sha256": "692e4980d2eec4b0426f7495340d8dc9297360a3f6e72af181db098134e14853" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.XOR.md", - "sha256": "cf533e442153e5d8ac19abfd3c163ee3eb09b149b111604e0befdad209f876e7" + "sha256": "da24609535138a8d298ffc04c44b4ee92abe7552322aa6e4db5b9988f55a925f" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.MSCATTER.md", - "sha256": "a47604ce724311ff29dceb2dc1fb7b577141ce3d83bdff9d1d37478a6147cdc6" + "sha256": "bca1339b6ece9c05f8eec78e7504f90a5e6497c60e09f614bc7fa49b2f44acf4" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.SFU.md", - "sha256": "6c6154f38d024ef470ee95ed85ae6725b641e865c72280ebbbd56940ea9153ab" + "sha256": "11e6af51dd3018295993ce89ad24ffcb7db32a2f021ebacde8a76538e48cb305" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.STD.md", - "sha256": "74b1627da19196054af9699ee767465a6828015b5f20292d6987e9e0f860026d" + "sha256": "0a88c466b286361ffafd6f76099d01903fed6caaf13df464f74e4a174ad8a7ba" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.SYS.md", - "sha256": "8a79120927b8e52ca4c4389d0081727d5973f0531656320f7ffc08670591820d" + "sha256": "05402fbe0b52a30a9fb9129a3636ea115229b6458fba83fc58cd521d96e29932" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TEPL.md", - "sha256": "51e569438b8dbf50e573a69a8e16a98461ee30302ea9bc3b7f6ffb36ae1f859c" + "sha256": "84cf983d650f504128fec586ad7c1b8ac4ab5d6523df8d29a8b80ae425d2a02c" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMV.ACC.md", - "sha256": "3ae339cd3cbc702e19dfdfa997932f42590109c4f3cfb6fa5251083876cc735e" + "sha256": "f89770e163b5a29524069e206a7576ecfd23bb61339173285e37fffe1237ff57" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMV.BIAS.md", - "sha256": "2564d438ea3f48159b910f82b54a3286923bb1f48c3dd8acc4d9be9719217525" + "sha256": "4fa3f37df75c5d4375b6171ae5564b53d88f90f5f7e94b7c020371a66bf70cf7" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMV.md", - "sha256": "5ee3a750538e5f79834b0c23a2cd964fa31e3b74951b8dac61898a19b3e81ac2" + "sha256": "66034c810b632960ae35ba9ca2aa0a6757d242f6fd542436aa0572327f731a02" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMVMX.ACC.md", - "sha256": "ec1914a1fb0f2d8154d2e7987d4cc93fcdb6cc528106104080b3da9fe7139b66" + "sha256": "3275f985cab6f14d420b8f832810a5cf5bd9904645985b81c74e3a02be97d65c" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMVMX.BIAS.md", - "sha256": "5c53bbd681e09184f817c5ab0e6c96867e74e4a1b0a4ab30a5e31d8408757121" + "sha256": "87ccb32887a1e3f38a7f2472fdbd1a84bc0fce25c0ebbc313817511632885482" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TGEMVMX.md", - "sha256": "a126b38a15efebd44814c2d73c027d88c977b0831c1a188e015334ca6c4c307e" + "sha256": "480bf5c2246ce8cd552b130c759d0519c409c6a8bb9627e71ecaaefc138940d3" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TIMG2COL.md", - "sha256": "8561c0c228a964f8af83fee2893a383a578d0f82bc89bf6c638e3b2006f99553" + "sha256": "832382569b39cc9ebe84e55bc3ea31ad3c6258224a1f83071cd673023a7b2520" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TLOAD.md", - "sha256": "3982ca103f87842196f089487e28803c6c1ad24cf7514f03d039583cc534d7db" + "sha256": "48d3146399e410adb517bda5edb39a2ab0f64896a1f926d0c322fdf41eaa35cd" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMUL.ACC.md", - "sha256": "5d08a99bd40e0d1c23127b52937fb5c997a0803e9ab71907fa934f9a0ca59c9e" + "sha256": "032554e9c90ace0d7839351bd3913370e9097a19a7cdb25074038e278a3edb5a" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMUL.BIAS.md", - "sha256": "d2d2a0fb4b59b5d763aa45dda236be885eb69bf40a0924f7351b4da9b75bf3c5" + "sha256": "484acad821a9e2db7adcfaecfad60032780fd4907ae4b88cc8489c7e5d0f3988" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMUL.md", - "sha256": "38ccb8053f00332719968bbe2b0c6b3fb9b7fca58a9422374e368559ae030550" + "sha256": "ede794f8a931dd1d25c69bf0788f1c211f40f849e9982ea46f134c2d4a50fee6" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMULMX.ACC.md", - "sha256": "ee6aebeddff5c1dc7a1e96c6b33952338896f34f97b494b9e7069495840a75dc" + "sha256": "631246242743d5f795a9edb99769ad4b71faf423af6c7d88b1bc6d240b69dcaf" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMULMX.BIAS.md", - "sha256": "80ede31f1d45a72ecdd7872c8b54d0ce9d25bc37e6e7936f0038f0cea7d525db" + "sha256": "b6fb42e10f77cad75738dd99a6d25b11f8a7472ed477e349b61d9524154a373b" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMATMULMX.md", - "sha256": "7bcdfdb354a514092c445715ce1961fbd8cda94abc1ced316f8b4eb3f939cd9d" + "sha256": "49baa23d92905bc150679420f8c5b3076a8289070bb41dc4c54610d01a091fbf" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TMOV.md", - "sha256": "5b98f68a7cab0a5a5efcd3c938bd5bc2532265c2bbf25ee4573188d5869c86f4" + "sha256": "0759f0061ff5cda512d6a83e1c19f44d6924cef1e0108c14272b4acdf8fc5356" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TPREFETCH.md", - "sha256": "e464f1e4bf46189a838873b17003523df22be9f47f90560077920fee72c7d9b9" + "sha256": "6859ccb2aac5cc59329720520e2c6421139332b25624ee447a425d63713982ff" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.TSTORE.md", - "sha256": "c9aee4a02e0c04c12f0dfec25a7c4edafc25245018ec37db9c1dc5c1fbee83c2" + "sha256": "4229c67e0c93fc2858f0f3fc102d801266575900d0ceece5f8adf7196ecb7b09" }, { "kind": "generated-documentation", "path": "docs/block/execution/BSTART.VEC.md", - "sha256": "68245f1835ed8a4b29a55d16018e80f3146dfeea20dc37a92681a0b51050fd31" + "sha256": "d58ea5f02964b161e542e6a0751e51f98d9995ae711f6f34c5fe5d5b6dc4f933" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/B.HINT.md", - "sha256": "31d121c833cfc3be7b93666ab7037de6f91095bd463c267f989137ddca9a880b" + "sha256": "3c9caf759bde2711727711a926d1ef87537e2240bf240b7671f900c47a651ff8" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/BSTART.md", - "sha256": "ff50575f68b7161f33c3ba228ede0b509cc0f5eaada886326c1e9eabc8d452bf" + "sha256": "d1defe9b1df0dc5ab93813f88b80f287ed5b99f1230fb0978430a14448f558be" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/BSTOP.md", - "sha256": "5e19a189915f9d7a9cbdd1a552a24751c72df70152ece5b79e0d17495ca4679c" + "sha256": "c8aad0f8e574fbcc6c9beceb2a8e3db99f11b8a06e28a7846dfeb64581494fd2" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/C.BSTOP.md", - "sha256": "27691c90bf0ada9ed278f89aab902bb62647593ef2cb8598bb55c3cf6b2e37dc" + "sha256": "ecbeea3020ab97c01e864f12b78b955ea61879c2bd458b6692e2ded0656eeb65" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/ERCOV.md", - "sha256": "cce62b5829c8a187b5c6f805c23f456ca8fd0f4f5001d1fd0958554456f7a0f6" + "sha256": "bef62a232de9f0659c3610e56dc0ca46ed57aff9db7336291a8e8782fc025dfd" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/ESAVE.md", - "sha256": "644576045704c42dd1df0f2f824188b707447a3283171409357f2955507a1cc3" + "sha256": "43fbe66b62cff711c21c1cd66268ec3ffd43d11c8202f05b266f505b120a55c3" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/FENTRY.md", - "sha256": "5c8f52618d833c0e96f036aa469429770bc4f90f58a28548fbf073d31f8cc3be" + "sha256": "158abcc8b25e6467ae404f9440c8797b201776868d5a96b1d436f8ce4e583ad8" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/FEXIT.md", - "sha256": "224467cae898974e7f2e27ae804d245537f10ffc098779953967920f68814c7a" + "sha256": "ac9a7e5e22a2fb0d6ce8ce5abb20bf00508d22a487e1acd920d11399127af72f" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/FRET.RA.md", - "sha256": "5291bd7c7dc48f7260836395a7581b64bde127188da9e3ecee070a4cdb550e32" + "sha256": "4ad3f431d63ae893e9ee6ea985d0cae8f1194b420f1409cffcbb842bec0be3fa" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/FRET.STK.md", - "sha256": "5795be8279e238ab612e40538e0ceabd069ed1c855fce7f7aa2933e8231d0746" + "sha256": "471bfa02118d1d906245465ee4c4aef8eb112fe114733e7e49581c0bf0198953" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/HL.QMT.md", - "sha256": "8e4c5fa037c53fd7d1768bd2cfbf114449f1d0cd2d6d40c3f83a6fef232eeb69" + "sha256": "a26eba7f24fbb7ee3c77adeddde223b679a680422d2237442438766af2cc6e95" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/HL.QPOP.md", - "sha256": "007690411e7120ddd6cc2a2c89af305c440ac2e6f58a7989acad82c43236f6f8" + "sha256": "8596f3450fe93b5672131c0ea8a686b1f792ca393d8fe9a0bb26f4073b679bd3" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/HL.QPUSH.md", - "sha256": "886f23f989fe2d76e06555d5434d4ff1fd6d7cb473271afe3d22de989d7fbc04" + "sha256": "b722484830ed08d96ccda6309b7f990577c58663a7da0ccfa2a74ffa43e9c66c" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/L.BSTOP.md", - "sha256": "70ee58d13fbacf815f22c8abe26f5d3d665b7be9dc9a5ead2fd9bd06dab9511e" + "sha256": "d206f8e041bf181ed81be8c01879d6f89964b05cb3c8eb04397c04817a16359e" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/MCOPY.md", - "sha256": "57521b64eb1ba74ba7633000ea5975b081f7ad4a9ba7c667da39592c8fcbdcba" + "sha256": "04780dd1cb12e9df66f9496e39eaafeb53b55b9520485731cfcdba95d50c8dda" }, { "kind": "generated-documentation", "path": "docs/block/lifecycle/MSET.md", - "sha256": "9b530755fd8653fed116c5c79abb301d896e5fa5d0733bdf631af0bd853937f5" + "sha256": "f719c51552a8c1616e4f909dfca16da56282b5932642441bdfaa48d0b629d185" }, { "kind": "generated-documentation", "path": "docs/block/model/commit/effects.md", - "sha256": "d227ddd2df4b236c0639766769d7a0c3660d27fdf836926f2b6bbc6944db6901" + "sha256": "cd3ed529371a66bc89b5813a32acd796bcd9948cbefc89f26fc616a738e5917f" }, { "kind": "generated-documentation", "path": "docs/block/model/commit/validation.md", - "sha256": "e21e8ead17c689ec206b7582c8a62d5c71209fd742d01608ce7e217f650320b6" + "sha256": "ac39e2a80417a6c8252e324ea4198abc61fbbd46bf052f42a60e9d74f8b19837" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/binary-operation-classification.md", - "sha256": "df0599d6b3d121862149a884f64996b56a7d801ef718172d1ec0b5602e566f53" + "sha256": "96baf55d6eddc5b6e09beb97f38484269391db7e33595323a9496daa594fd3b2" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/cell-rearrangement-schema.md", - "sha256": "4e59375ca84d1a6ee6bf5916a3d11d08a9a5f2efa931b06afa86ef64d02e10a7" - }, - { - "kind": "generated-documentation", - "path": "docs/block/model/dispatch/command-data-attributes.md", - "sha256": "d45f6ef10e33ad32a9c3e6b819bea3307ad3205c00adaf561f3ba214227e0d44" + "sha256": "1cd9143707cbd3a7b72cad024b2911fc0a5a4d2e28ebc02a7436c373bb0081e5" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/commands.md", - "sha256": "b48695e1c9a8b338ac85be43454fe596059027d497d9c0cdaefd5dd132a65b04" + "sha256": "92593e4f0ed1435511f3fb0eec2596dee546046d8f452021ae764d32ab89bdec" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/comparison-schema.md", - "sha256": "10d92a2735c74e6b7b484e0309e4ec709c0b155a0befb213947965c067aa4515" + "sha256": "c006afc880d936d6a8be0310799861752220edec32e32aba7585c570c47d7fab" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/cube-accumulator-routing.md", - "sha256": "5d9b47919bc5dff5faf58162741a30e5d45b1a98b208fd3ccbabc656f8efeadc" + "sha256": "66e2db9aa55ed4b0059f6b49770143d986d0fc629d25da106094cf4b83b6f3cf" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/cube-destination.md", - "sha256": "7b9370a83fb6cc2cc775e1603e7d6c9d67e231431ef4f0d72a808359ef323955" + "sha256": "83f221ad0cf2cfcc34b4e49a3e863194c24e3af03746f37372ab1ba64b51fc71" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/cube-tmatmul.md", - "sha256": "627ac50026b0f218e15f7e2879d685a4519604c0dc877f96d3b138e3696dafa8" + "sha256": "05781a72a6528010df3748fd7f6f35e596422e9346c90b1b1dc3ee28ce8de866" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/decode.md", - "sha256": "adb7dff139eb190dbe64d003b48758d624a8c733b3c7b6fbb444fa32fa1b1ab3" + "sha256": "407dda658e4d6d3076d3536695ab3e7e25ff9a33297298fb5bd10a38892b16f5" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/descriptor-legality.md", - "sha256": "610841f62f7d149ba3bb418e841155bfdcdfe9ddc465473c60675ab5d9aacf6c" + "sha256": "9ba138ec22ff89f3e8bbfd4789ab70fcdfd6858a0c2d3bcd5f3e1b3e04a3c56d" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/destination-auxiliary.md", - "sha256": "51b689b09eeb182810afe39671af6578672f8d64fc0266997eb59c3757aef438" + "sha256": "48b5d092220e0ea1d61879faaab7b0e1bcbec4bc0f88a8c16907b3b6f1dda9ed" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/destination-operation.md", - "sha256": "ce568d60542cafb16a4692eceb0608621690e37d68f49f8d786979e2cddceac2" + "sha256": "8ce34d9662997b4ed0466159db1e5e77e6e7a7ccb2f7b0f92848442087a66d25" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/destination-shape.md", - "sha256": "124230ec08a62b8846e9b527e37859a653c0cf43404ccfb3fb15f3a81f9990ec" - }, - { - "kind": "generated-documentation", - "path": "docs/block/model/dispatch/execution-mask-schema.md", - "sha256": "862cde31a6198a0aed523233551576be0d32b1491c968495f1ac39325012cfe1" + "sha256": "bc9e15e41b227a05feca6c1e0ebd3bfbe351fe267940b8099bd14f8fab7815a1" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/expansion-schema.md", - "sha256": "6710c6a738d7a88550b8b2ec03aa8a5d37ba8615a425de2c82ec4ba780668ae9" + "sha256": "0d626a480e5cac9f5240aeb7082c60dcedbca81d82eb5126ee4f2d358572c275" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/expdif-schema.md", - "sha256": "ead0e79bb9672a9054380ed4990a64be25765ef6372d66a9d9d27ce626b74595" + "sha256": "e9d008d8300addacfec0dab4c220f3bc29ccef20c40d4ac3f8db2f00ed9e57fa" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/generation-schema.md", - "sha256": "a03da15f04299c836cc635cf6c67b3561910edcbc43870667395aae28cd7026b" - }, - { - "kind": "generated-documentation", - "path": "docs/block/model/dispatch/lea-schema.md", - "sha256": "38dd2b3562f26f47f7caeee510bb75a666646af3af6db40a8d211609f6ca4f0b" + "sha256": "f705368f25c7bec0acd2f1f5546739ea056896c5a8cf27f1558297d6f7d3b74a" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/matrix-scale.md", - "sha256": "ccd46844633236bbb2ee0792e8ba4f88c7c0067ee0b59fb1d5a5ece0f635fa12" + "sha256": "4478ae7b790c580883c284e9b9527e0360a5b5e0aca4eb66510788403bba4a6d" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/numeric-control.md", - "sha256": "249bba1dbaa9ccd2202580cd8d405022318f459c4f5ca453f3a4b10d25922490" + "sha256": "e8073153b0f0cbe830b19833c349ae28f9c5929250311de3b6b1836c89a21169" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/predicate-destination.md", - "sha256": "af2149a073d9d88cf7ad0e62bfe3df266b3d83f01acb0f5677da53102775ef1a" + "sha256": "953e54f060b59c6607e3edb4db27fa07832a707109900a19e433f1c50d125c46" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/reduction-schema.md", - "sha256": "635aaa4e769ee0178ec2f24fd29da206ecbda53ea0807dcc3076847990982d2a" + "sha256": "a4695a30161b8b9fce73a282575e884443a4c1edc88b5bac0ca4af3cde342886" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/scalar-schema.md", - "sha256": "e42d4c9c069b6b49ab5c57c83a096f61e85588819b374eaadb6d25d20d90e25b" + "sha256": "a29bfee9d8c2014ecf35f8ad41380a20ec6cd9582be63cb0aecb0d471a68317a" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/shared-cube-matrix.md", - "sha256": "499d6407660b181dd19324adb4a1ace1d930f1d2940755b078a927f188860538" + "sha256": "71a5d087692695fb6119a946b45c3d0183ebc65062fd091f58d415a0306cf073" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/shared-tlsu.md", - "sha256": "eeafd2e5f16a4761e90c17175faad8f4f598f9cade413ebc26a9cf0fac2c1245" + "sha256": "ba596f5d20797ec25284be8acc238191e40dcff74ba0daa0844932587881e64a" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/start.md", - "sha256": "4fe6d015f924c56ae46c18d87fa72d68c86440b74be53efb82030e64210a1a53" + "sha256": "1e117eaf3e954b6937d7426979e8072d22b2cd0160c6a8ad34fa558e98ad8504" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tcvt-destination.md", - "sha256": "711ed7d1b4f4f33e071c27730da46f46d2c17fc864d41f4b3821fefd63240ce2" + "sha256": "74d1e525dfe6104aabfbbf734e52b6c93c5f537ce3bb13200ec8e187d3bcb455" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tcvt-schema.md", - "sha256": "5db2f9b708bfcbb35535e3101bf51de0effe5cb050b11264226ae5746472281a" + "sha256": "cf7b294a935610c102f1f70b121e5b7f0da2cc65dcb2e1d5642ae43c19086be2" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tgpr2t-schema.md", - "sha256": "a562972e608499c70b4560f5fa0b096e3f3021565b30086b16159700f4a56735" + "sha256": "fe5b100cbcab7898c04ccf086dcaddec1fd0fffe2a33384c532898a91ed9ae5e" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tile-execution.md", - "sha256": "bb7b3d786fdb58056be9db72fca965076b11a0b2f9b4525269f151ec85f8d7df" - }, - { - "kind": "generated-documentation", - "path": "docs/block/model/dispatch/tile-instruction-operands.md", - "sha256": "2752497887527b4a7dfffd4748218dce0ca4b3ad6cc61b4a81a29648dae26154" + "sha256": "cc7b11b0db0f6032f477c8e23af799980a5f6e812c295d43059239f3a7e8f651" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tile-scalar-schema.md", - "sha256": "b34fed1cb38f5d75a4b45ffeda26e0dd42bb559a2e0dc688de228859907aff4e" + "sha256": "a9e6d4afed2aa85e318f129202fc9d62e88726a8b0906a5b1aa38dcaedb36098" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tile-schema.md", - "sha256": "041eb69b63964ab41d362760058300a61c76007b7ed41055c32310da1651c88d" + "sha256": "f03f7be498c5c0b0d35a78c96ff1fa98339d618d79ad8483b83244682f3dfa46" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/timg2col-execution.md", - "sha256": "fb0e775bc3cec6101cac335f3c5110fee44f32c864f4c00e61c26aa28253363c" + "sha256": "39e3f82740bfc51ad5c783af8e8a8d9b2d215c42bbcff5576b64dce9061cfa55" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/timg2col-schema.md", - "sha256": "51655c67b9ebf56c53e93164b840ae2d2e2739f37ef21fe3fd837d156474b8ac" + "sha256": "31da73e5f1448f330d1b49317714bf3564e360e9750a356e2f0d259b0aeb19be" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-gm-atom-red.md", - "sha256": "0d574e09da7ad677962640aceb545c2b582be7f7cf1b6e2a871a099eff8c26c0" + "sha256": "50a1a12727dd11d612f6836e6f15a93660d142d6e4b7b884f0e739a9359cf747" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-gmov.md", - "sha256": "3393aca6c7cfabb67dbe3859776aba178d0fb29d3907f9b6216a0a928712a253" + "sha256": "9d690ebdf071be3eff1d73eb7b05aa6921d063e1e2babcecf5deb3c47625f41c" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-layout-conversion.md", - "sha256": "d04e970735819cbf750be2391b8496f9e2fa631ff62ad5b813307048d73894db" + "sha256": "be6f9a740a57d64314d725646f6c0bc9bf979b62876bce3005a1de9dcb6e1322" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-mgather-cas.md", - "sha256": "4ba957d3710f85c3780138f155b4f6ff18e8da8ec199fe219bb1ebe7ddd54368" + "sha256": "7e8009134d6024954b364749700cb32774c2d3c1972e3fe73ea2ec1e128ee7eb" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-mgather-mask.md", - "sha256": "d5086cad7c83a1e626729d112deff2c212785c7cf5d8cb0c1807fe193f4a16ce" + "sha256": "d133c82bb5c6111450ff8b1814189eed7e283258229bb727eb887959e513742f" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-mgather.md", - "sha256": "ad23cf3997b163078976a5dac0d136614d238caec3ed4c2dfd7f7b40c6258dd4" + "sha256": "a3295557553aeb46359e9a1e8af4db7a231a7c7028afbe7df0af0e38430c2263" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-mscatter-mask.md", - "sha256": "c90fb0025f340e8cf027af69bb76cc25a1ff1bba77d313f999b6931a361635f1" + "sha256": "323ae6747246cdcfaf77920433bc696abf165437713bfb3cebb45bb89a1ba8a9" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-mscatter.md", - "sha256": "a7a404ad7c0d0d6d8a62d5ff135f431e59cd6a49db8524cdc05dd710156f993c" + "sha256": "67455d7c1630c99f79c73cd8be6d8fd080848dc651f0a700d06518ea8afbf9c5" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/tlsu-prefetch.md", - "sha256": "5960a8bfb6576f266f5999b57546af9034c5f234d6d18a4e3fba3b358243b909" + "sha256": "4adda6b2e6d1afa1b61c4a0c0300e4697532d20d87b5ef701983b78ce863a03b" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/top-level.md", - "sha256": "ecb9c8e3d9d30a4e3ba038a84049f2ca03f19c0d2418a76c90a993692d73dc8c" + "sha256": "1141b87b25a7ae1749e3f18b344794b349e51a497397c39a5e9ea4bfaa0a6654" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/weight-to-shared-execution.md", - "sha256": "ca7fa4141a8c75b2d1f20ed1200282d02424034aab123789790de89eda2035e8" + "sha256": "56fc71406b15703c01f6e4c52dfe54474ea92d98424220e0a1faed64a77ba4d6" }, { "kind": "generated-documentation", "path": "docs/block/model/dispatch/weight-to-shared-schema.md", - "sha256": "a5a41c3af2e1d1ce12d67f3dabb6293767cbe74de62c468e43f26e18c7b433c3" + "sha256": "8efc8f1adf09bc6c2fe0b4ae45df5ee5327c9cee5980a0d2f8a11139f03915fc" }, { "kind": "generated-documentation", "path": "docs/block/model/faults/rollback.md", - "sha256": "d174565313cfcc915e898fe4ec40051983e747e881aa65d12e0e9621812bf54a" + "sha256": "64dd8710e0e9241a370c7622a2287cfed99f332aa970909dfce0596a79043a04" }, { "kind": "generated-documentation", "path": "docs/block/model/lifecycle/begin.md", - "sha256": "60aa71b7477697a26783dbb95dd7edf0a354264b419e7312ad4ec6117bfc10e1" + "sha256": "7d3d6222ef6ac42aacbb2ae824c0e6767e328124bca07219a9dd7b29a87061f1" }, { "kind": "generated-documentation", "path": "docs/block/model/lifecycle/enter-stop.md", - "sha256": "e86ca857c5c1ff8ca3359cc9e6294674f5bc9b7fcaf0e9c080ed7068a4018d21" + "sha256": "33b75df3c9d9c409d2dbe06f165521431b0bba67607a82479d3be156766714c7" }, { "kind": "generated-documentation", "path": "docs/block/model/lifecycle/lifetime.md", - "sha256": "0af27a4a168a4e3cc78436f68ccd5167c1379bd1934924d7e4ab068b2add50bf" + "sha256": "cb01c9ba87cb467881f85890a04d17d9ef8e37819e069cd63d455dc8741a3af8" }, { "kind": "generated-documentation", "path": "docs/block/model/lifecycle/reset.md", - "sha256": "5f56b9d00d86fe9b3c9c8191c44490f7fa64ad494c1f2d1543e78e3e3e79cecd" + "sha256": "2e59b17c7a078f6134b07a4005a2529a0e74be2ace23a7818233915b3f9e28b2" }, { "kind": "generated-documentation", "path": "docs/block/model/memory/timg2col-gm.md", - "sha256": "569cdece4d949659acdd37a8aba04a6311d78748633c0c4cac2b8de29ccb7c88" + "sha256": "67c5a0ec1562981d42937f76b5de85bfcea097e3ac7b5c054433a0420ebab74a" }, { "kind": "generated-documentation", "path": "docs/block/model/memory/weight-to-shared-gm.md", - "sha256": "9eec952da21d1fb7074d704935d5bcaf978a43b3b1d7006d9e9c0162bb7512d6" + "sha256": "60abc161f4ec307126629c64999e050feb159c34ac3af761991c14156aba5b7d" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/local-generation-cube.md", - "sha256": "d1426984dea76f2f9fe56d11c329d2d4402a71f228910efbe9c8632fd970a7f0" + "sha256": "4b19c2d3727fa8958f53d31bf7102037ff1b26a5914f0572a73988f97a9a1e0e" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/local-generation.md", - "sha256": "be7e7e37f4ac1ebc9d8c2644caec2333d4c7b8354e9dd92df0c0ad938c7b3049" + "sha256": "212fe22f3943b3a0886af3035886354c2a9eabfa45eb84122c0cb9878efa816c" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/portable-carriers.md", - "sha256": "a2cca83ddafc31f2fdd87bcc5763fa85c97719aa2fea641e38d313422b19447e" + "sha256": "620f499b8ccbcd61fecd01779fd28b6ecc34cdb0e82f97fbf44ba322d37005b5" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/range-modifiers.md", - "sha256": "0496a7c0bcce934fc05fdc24435c0510e90a1f038ff07bc29b4a95fcb063dfe4" + "sha256": "855c2733e6c2e9c1e0504fc51c3047c2e41def2af0af3f66d38a702481b74bfa" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/scalar-bindings.md", - "sha256": "39e5ccd0918e2b38a0311bd4281518d2af7a50bf8197b35571070a391db53d2b" + "sha256": "452cfc149578ccd0fb97de9afcc726d4de0884d23a7585d92a032361716cb590" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/shared-bindings.md", - "sha256": "8133ed76bae737265b10e0faee7bd987fc2df9af3b59e6304bbf51a31e17fd32" + "sha256": "864f96d8a2d83e20266c3ea525fcc3bb85ba1d391569c7ff0eb0bf9835b69032" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/shared-generation.md", - "sha256": "45c63369e13d4802c3ba37851cf82e9aa875360e2a6de623660cd8dcef4fbc37" + "sha256": "6db5fb549e7455d3b0681689f28ea0fd04f56f97983a91aaaada5a5780f8b0cc" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/subview-descriptor.md", - "sha256": "ab297252dcb8b077b17586b4f9196c3d4f50c2bbb088207f3ce41fa376ef75d8" + "sha256": "cb540bec8a2146d31cf1fa51405641781b2b6ff2236dead3b7747119f23e2c5c" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/tile-bindings.md", - "sha256": "47195ce0410e6e3fda4d3badf7cdfb0773be3daee97d641374c7b10d26d3520b" + "sha256": "c3840e6bb80474e61fa22ee4d9d50228831d2fb795996b2f683e2896b8d498a6" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/timg2col-parameters.md", - "sha256": "35e0fd79015300f237e58bc1f539c4dcbce26e4fe88ded9c98945af370da14ee" + "sha256": "35bbefcf34db2c4ca1370d62fcf1abbacf4c62bb2814bbedebf91cdfe7c7b0ba" }, { "kind": "generated-documentation", "path": "docs/block/model/operands/weight-to-shared-parameters.md", - "sha256": "748d8fc0ddd8fa5c79fc8c6d472e659757baf3b846289b6f18ee8fcd2c301a0b" + "sha256": "64a3df945bdfdc2efe82608e8bcea51ef87087d7b0fa608bb235d855289e06cb" }, { "kind": "generated-documentation", "path": "docs/block/model/schema/attributes.md", - "sha256": "671d73c77d617cf517444607b4333c04761df24d757f671f82a4740f68f15874" + "sha256": "c93b1efa1f3f81849391459a7f6e255550b5ddbcb3c421cda9904ec67574bbc3" }, { "kind": "generated-documentation", "path": "docs/block/model/schema/bundle-encoding.md", - "sha256": "7b785754d7c46c7eefc61b2d36297cdcb83b57d17f1905564e6416c707677479" + "sha256": "d52cc772153031dd4e1ed591b8dc90f7ed575617663930e9e47b13b30b7d74a9" }, { "kind": "generated-documentation", "path": "docs/block/model/schema/dimensions.md", - "sha256": "37b17d846891d0bd45560f34364c1d4448c0725cf0b1daa211ac8a05cb943b78" + "sha256": "78911d401eda86100f98916144e745b31cc1a4db8434440b147eb7cbe37eb0e7" }, { "kind": "generated-documentation", "path": "docs/block/model/schema/header.md", - "sha256": "9ba9a8d01af74565769d82b5cbf2c00f207fedfa9bf79964c8ab429f380e0caa" + "sha256": "16f2a94d9e3ac0e5acc645e990e68569ec05f2ec2c8a6f43652b5c3ebd0e38fc" }, { "kind": "generated-documentation", "path": "docs/block/model/state/barg.md", - "sha256": "b184baccb2191d8b8d7ddd637cabd7cdf5fcd12a4bb9256b685ad1de3535987b" + "sha256": "dfa324cfc7d0a188511e7cdd9fe8b0ddde45347240247c5bf24ff241303a9940" }, { "kind": "generated-documentation", "path": "docs/block/model/state/binding-state.md", - "sha256": "6ccbc8e18e3357afdd9890b88fdea711f78a17d6b1bb771248979f3f1406c22b" + "sha256": "fbc718227fd21429d0abd2ddbe2c8c518754484ae7b5d06ed927675bd0753b95" }, { "kind": "generated-documentation", "path": "docs/block/model/state/control-state.md", - "sha256": "d44e6304cecc2f2dae1d72d708918959664f756de0880df9d77c5661522ddfa4" + "sha256": "caed8e041c0566db2ee8482f29d153218fffcbc8508e6dfd0fb34149df261cdd" }, { "kind": "generated-documentation", "path": "docs/block/model/state/descriptor-state.md", - "sha256": "2acad4470a03398009d0dcf701d9153ad84b1b69243eebc9fe7a505fed58aea7" + "sha256": "5d7872d98c0684805247fef33e6cb5fb701aa02ac97d35270a85621f0ad1597b" }, { "kind": "generated-documentation", "path": "docs/block/model/state/shared-generation-state.md", - "sha256": "de8a67453e2176d7f7e1591087a2c8a9fda4b847f010be7989cb4c26daa8f9cc" + "sha256": "5c249d6fea568cf5ef1d492a9ac077e16576cb04034f5fc94c9b2d4a155c3414" }, { "kind": "generated-documentation", "path": "docs/block/model/state/types.md", - "sha256": "7ca810a84c63d74ea1f55f816ed1c73ae243882ab2d72417c9bb8fe69197aa8b" + "sha256": "a19821db82e4fa832ea248f8e53fc3a940d174ef4daef7f0bb7b605775c8b6a5" }, { "kind": "generated-documentation", "path": "docs/block/operands/B.ASSEMBLE.md", - "sha256": "bafc4a596cc59766cf39d80ac2267f53669229ddda77458e68a9afb1456fb43b" + "sha256": "c77e754e6989179cd8a78456df1321bfa538e56db79c9be1941f0db6b8cc45ec" }, { "kind": "generated-documentation", "path": "docs/block/operands/B.IOR.md", - "sha256": "de5579e1b73c8db84c8e843f32d223030e97304bd5df0a4539257c024e81061c" + "sha256": "44afb1fa567130fc2ad5c4c5d11e4c8db8ec351e8798328e1184c41137d6de05" }, { "kind": "generated-documentation", "path": "docs/block/operands/B.IOS.md", - "sha256": "fc81f88e2fa701e24c813a39e65dfdfe8bc6824119bbfd6858ac5ee351e27fc7" + "sha256": "fc402a95da77bb5af74330546e50ba0cc82b86fca81b3e896d6e34eba13b654f" }, { "kind": "generated-documentation", "path": "docs/block/operands/B.IOT.md", - "sha256": "b2e4585992591c24f5d17c00f44c03b4057046c169879e5630078cd9233ceccd" + "sha256": "1d7b32387d458d12ca54604ee3534332872b7ecccc5f0f697d941f91c0b140b0" }, { "kind": "generated-documentation", "path": "docs/block/operands/B.SUBVIEW.md", - "sha256": "69a342ae679441e399bd75e0c0a5d13d3ffa0d2808ee6401d8a4e9edbaed145d" + "sha256": "d5a140ad53e1c2664c84cc87f6f87a6306ded4d32551c429867113bf21f64705" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/C.LDI.md", - "sha256": "b9648ca1f0dc0a715aec0075c80a08a2caaaa9c5c9cb108c29c7b626118dcb1d" + "sha256": "2cdeb0ecec2fafe0f7cb16a55d894a53c6efc6f1a1287167bba190e87e072855" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/C.LWI.md", - "sha256": "583f894156d01b89a404d4793b0f79b9b167b16a464198e0a0bb494e6e8d843a" + "sha256": "03dc7a0b1e0b3420254f3d0de555f5650917b52b5608553cf7ce001048eca43f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/C.SDI.md", - "sha256": "2e9e7b530dfe956554553945a66a3ce9eb3cfec0ebdd614d0707c63082af1069" + "sha256": "b858141514cbaf95ee6f0e06cfc04a9db9a80acc24822c9aad746066983ca4d4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/C.SWI.md", - "sha256": "431f0eb16b9dd8564eb04672fb60c99adc317317cc2b6d4cfce2177b9ed3eb94" + "sha256": "b5fce4b0b3ecb7060f984f0b70a69eb4da0e4b02bc91218bf1ded5131c883903" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LB.PCR.md", - "sha256": "2e87f118ded699a29cb63a110cdef44fa5407d9d440e0b59ab88c7e5d0dd6bcc" + "sha256": "1b5d5dd1afe4d64d57a495bb41d7052a03c6ae86fde608faaf5c951e4f820d2e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LB.PO.md", - "sha256": "b3d7dc9d46a09a07d5c31f61c3bccbb09d9eb63823d7a8e579882356b60c28d3" + "sha256": "57c99dcfa25b028426ec61a289d95e9112d80bbdbc47f02682d59eb53acb3c98" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LB.PR.md", - "sha256": "34928121348752dbca8eb395883edc0b9eefc0b995cfd0a025576ebfe2f11022" + "sha256": "884af382960c6d7605bee05c5fc35d13e365e4da20f532a9f03d6088931fceb1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBI.PO.md", - "sha256": "67764748a9d625582df5de45319368e6ec59810b5819593aa74fcb4a99bd9551" + "sha256": "c656f8a917e3152e432cf5a0e1928200605e3b325e9814462d232c861e637a97" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBI.PR.md", - "sha256": "c59d2de27473e9757419a546198efbec79c4b7cb6a07d59e6364114365077917" + "sha256": "ad1728523c0cd2a2f8f82d3d27b4fffa98c02e1dad8f673dbf3583ecd14fae29" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBI.md", - "sha256": "9f298683eb670c6f7cd0e5675e15c4ce0f23b14acf5ba6d3743c7cec2c92772f" + "sha256": "903b0a8ee02208792d6d1b7ecdcbd6eb61905784f4555974e62c5a8d901693d4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBIP.md", - "sha256": "5c464d593687278b08344c5917d50c81cde3f744b57b5c8488ce425413b6a805" + "sha256": "3198052af09cdefd1ce63cef7962a3e80e59a2ce4c19c35b8bea757d6d90ad98" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBP.md", - "sha256": "ba0ee49c1322611097349bf93d43990589c1f5fefe41a7d1409fe76cea3e7688" + "sha256": "580836af21e88db48581d6dc0835f56cf389bc371726cce37924af5707714f3d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBU.PCR.md", - "sha256": "f1b9ff6437d092e5f8a565fb3dc8bdbe66581cf6dc2f947d806c1d806c2df370" + "sha256": "07d54359a2702fa290468f59a0be835e69a547b810ee28904736f4c0dfefcc2c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBU.PO.md", - "sha256": "61e61c7088890232267b8fc97af55414d74950699f8875502916b19fa5fad9b8" + "sha256": "228d0d82f8098d826b848f8c5b54a091333f9891efd83f3a5c72d85b8b5c7445" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBU.PR.md", - "sha256": "b8da44d7cac89d9fb22618ddcdc10afdfbff6f23db6b7e967e46cdba65c0265f" + "sha256": "7dbe1e40cd5b0c0a4c9b94aadb96916f0472a3b024581725d1e7fbfc0c360c69" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBUI.PO.md", - "sha256": "9df61fafbcb68ef1254d7c8ed233f8ee1a938710cebcd326a4b751b28d5b9f13" + "sha256": "a5032ef2643d762119b94696b27ae8153a395667250eb00a9799d3970692cd29" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBUI.PR.md", - "sha256": "2d6a88f714c5de597674ddcf600913f926c66c9a9937443f82b48dff8731e488" + "sha256": "4d0b672c2a22bbdbcc9c9600ba71144ffd8e55a0ca28d008a9c1d86e75e8bfe1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBUI.md", - "sha256": "2721da0a55e9fe314f8bf0005cd4e676fb43cad66c537346f54fa4f8d2a6fbea" + "sha256": "caad2fafd9b3f3553bcdb11ff0d08f3e7f3c682a70cb1ee027f690c57d601f68" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBUIP.md", - "sha256": "1e7b5614601d79349781b95d02ef6591a2a4bc7609b4e137b6ff4b1473e861a2" + "sha256": "633aea76c365e2cf4012258a5c712474534a9f17db0ef541cf1a6fe7264fa2ec" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LBUP.md", - "sha256": "dfc20980715057109d42c5a1e4cfef301776623381dc202fcd15ebbb45b93189" + "sha256": "addff19c6cf2853123f7524c774541dded8541cfd31b566cdcb66dddb5453483" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LD.PCR.md", - "sha256": "1e673d5189a205e9ec0c35f318ed157d0194b2f36fe54c0460ab967d6aaf2feb" + "sha256": "1f13638d979f54468e6112994a2124c6cee84f56e4a999d10faef0823bc2f4ea" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LD.PO.md", - "sha256": "b6371a45a0623d1280c04c48184cbac9ed8c74e7a5f3768dcebe9d14b561b79b" + "sha256": "b87681d839d97883d1a6986c75475ce84c3a8b138a54c2ca7b7b29820a97f041" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LD.PR.md", - "sha256": "eaee35b715c4b746a70204f4a7e5dcaf6e8721563a5d67c7f5fc326cc1b78adf" + "sha256": "4d06a25720ed1e6a77a62150b14eefabc25a49be9e00dc3f465b0aa4a993f611" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.PO.md", - "sha256": "d0246406456f75b45d87a7a9d11a66faf3f0935b8af8b3c21cc0e1f4911cac31" + "sha256": "23a904e29926643aa7e1f06183775770722dc2fa8a0b95ac163ab8911f102632" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.PR.md", - "sha256": "58b24ba527a3a438f54c26f4af56a1f0d0fa40ea1c9398ff539c508167e53ccf" + "sha256": "439eba0e1261790933f5561b202863dd38c8e0a247ada9695b99b86f27c0b016" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.U.md", - "sha256": "23fb5fe2711a7111fc5b442853da32d970cb7945e1a4bb73a8acb3c91698bcce" + "sha256": "c622508fe0ec8462d69d2750895a23bf985b3937b928e0ef7caddd0dd431c6e3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.UPO.md", - "sha256": "0d0a7cc5e961f888fabf080ee0557b4942e9fa38bcc5d127eb562c93f1389d49" + "sha256": "92766b1278f6fdb7363bce8afbaaff6b8d4fb9efd3db5ba0b7e34f9b9ffdefd7" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.UPR.md", - "sha256": "197763f91f39c5381a45d5c6faf9578445df7b3c991c3dce1b4f8a6a232f949c" + "sha256": "ab54b9873e3cfefb344d45ca0094a74df12e1a87525d0a022fcf5daf0a92853d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDI.md", - "sha256": "99cb20e5bd1620e4a63168a066e9bd4e117c5ccde84fcf9a182ca026848a7bc4" + "sha256": "4e1f4dc9c8409e8032f63f5d165913147c5bc7b23f64c0a9c30cdea949880e6b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDIP.U.md", - "sha256": "622bb0aa5a59ce286aa99e9ad133cebc88809be608363e272d08f6ff45df31b6" + "sha256": "ae69a16404e951aeb78b98cc267c6788aad7fcb05408a14044f07f82a012cacc" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDIP.md", - "sha256": "46bd9b48e514301e58b8f0c73c6f82c8650d143c8849c6a3fc7ace3e1543c9c1" + "sha256": "5be597b653529ac0b9e816495df5dc8016c83bb44e63bf496219adb7d548b38a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LDP.md", - "sha256": "735ac2390503067089f3807c8c436b90e37995eeec24163bfc4014c66644c1af" + "sha256": "129fa45d5e47c93306b749e99ab1f9803e28b24ec9ea8974ae568e28b449eee1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LH.PCR.md", - "sha256": "fced377b45074ac65922ea0a0df6a6b0ed27df1248a110937679833d8f2ab84a" + "sha256": "d90350172907e588ce621c9ce5bbcda1bb307f2762003a2789e61713defaffee" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LH.PO.md", - "sha256": "b22d6106d286db94dc54b7b0cf047bbcded2c5d409e1bf5959891fadedf49e73" + "sha256": "325e9b84e994314aa2ea5ab122bb9d74ae8d4d696d0c10699c6ce25ef102652b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LH.PR.md", - "sha256": "0f9a42e35a5bb0bcb9f981dc7e3848d5b780fdc6264a8a082122a07f9467a8fa" + "sha256": "ec138bc547828ae9060dece5bf17dbf2c3850f233f7a5d22f3fd52e59d2d36c2" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.PO.md", - "sha256": "674f9c7e65355dc7dab1adba4734d51b6d17301af758f6742a9ddf893c440bf8" + "sha256": "2f8ae9f8cc22b2f68a849a52b588bbded9a60675dbd3a2761342322b23b6bedd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.PR.md", - "sha256": "c1e0e15649828cf0f8276fa9351858419a9606c5db024d26ef70f0d89cb6fa20" + "sha256": "fc9070c3275395ea2c5edcb4b4b5ea4e5cc86f3dbcc120016ad2ee8b0ea362eb" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.U.md", - "sha256": "ef483098471889fab7c2d43948d641f95d998621795368c35ae48e0f9bb7ac03" + "sha256": "a65e94c7b6743527897e3559746397ced107d2e129065ed012fc094d74053036" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.UPO.md", - "sha256": "388d49029bbb31f496371169eb02d46d817b2b98eece8ac5a3c4432fd12f3372" + "sha256": "23bbf7902ee89e078ce77deac59bde03db149a12137d5e5220ab9648dd258f3f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.UPR.md", - "sha256": "59e839a3f130bb1fa13c2d65104b249b8dde6ec1a67ceebdfdc23a5294d67f3f" + "sha256": "e7497434e77b1c47a757c80c7fbe804a7a4ae0e24f6e9dd2584b1180cef1962f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHI.md", - "sha256": "97aa428477a32c40e6f8e79ff9a2e4db6b8e6e18904bf7543e0973a2bac80508" + "sha256": "da1811d29c9fb6d8149135ea5c38f80248d4d2d1d575efe49b2aa1dff04888be" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHIP.U.md", - "sha256": "62b550b10b8239f04f7554b153b4d4055345d1f09b269657b442172c7a4df440" + "sha256": "331f8fd2a70860f3833dd4a3eca24f1970aa2013a070f27171e1d4902b7c4df5" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHIP.md", - "sha256": "4649948163dbe280b7b0cfe17bb5ef127a53101e668578fa55760cfdd3d94365" + "sha256": "4aa2dd8e667633690aab902a0a1b129a4f0d5bf132249f6ae0eb4aea4e9de983" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHP.md", - "sha256": "e65d7ec933df9eb3f0b8a089daf000406f1dc9d46322767867ca502e61fb8a68" + "sha256": "0317a581a5bc63dc9318be4925c5c6ce312cd446d2c5f84be5bb88f662772cf7" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHU.PCR.md", - "sha256": "b21528f9e9ab914c3e01fe2eccd5100ad050249a8b5d2a1fedef522193114f16" + "sha256": "81af566740ab6fdba342248e5e539521dd90d5d126aee8d3d4dda37943e1eb07" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHU.PO.md", - "sha256": "8b96c6d82602fdccc33c8ce130c8f7d604894372f3bf8020d9701b41cd155d29" + "sha256": "0c1438459d539696e922c15e15d012a8429e3dbebd650c7b2cbc59df496447c3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHU.PR.md", - "sha256": "8d5fde7cc1ec807829f363bfb102cdfd2355cd2e52c0441817149628bf057f6c" + "sha256": "82dfe7cb3602270113f1e4d119db03aad8d8af479ee8932a2092b4e5e5012d92" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.PO.md", - "sha256": "b7c3636462176b636d087dd10136d341c33670174d31453f18f75125ea8b483c" + "sha256": "1e31615102363649ca5013dcab045280e52dbd037d5970d449403eb3a985ff2e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.PR.md", - "sha256": "721f456057ab9a507034aa7c94bcbde40a469854d72fd80a045a1edef81d51d4" + "sha256": "4df0c5087b4d2571f7139f54bcb8715ae533a6262df37302ebc67a14f8b1c8e4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.U.md", - "sha256": "90910800d4a97a0f6feb98cee2d58fe917eaafddcf0ac25f7a70d71038512cb9" + "sha256": "482c8a50d0f7eedfdb8c777fff60476ca811af8021b22940a74d8658162b1b3a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.UPO.md", - "sha256": "51a683f603e61bc06572b65c60c68d098483c3294253100bb855309d9a904d8b" + "sha256": "c8a3bcd11b19f947dac1b851629549de1ce5c48d86cd055708a6918a279252dd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.UPR.md", - "sha256": "a8632587de533939a2219fe632fe95b0c15db790fcef860a20d341c659b7f8e1" + "sha256": "7d34e4c02c3f7455cd411f590f2db9a3efdb6c1980a108fa688497af1a1373d4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUI.md", - "sha256": "bb9abdcd8313b1032bbc985e99415bac2d032abc93a6a1e45546f8c5f6bc3a65" + "sha256": "35e226232f9838c7af9205b4c22a9dbcc85bfff84e36336b8d36c7f5c5af81ad" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUIP.U.md", - "sha256": "86baa5330cf34c888c658aaf48b21c580daff5d2525cb96c9bd22a716c944b23" + "sha256": "25f1024903646fcae90475566a41a0ac8e7868964766e03061df6d2667a2dca3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUIP.md", - "sha256": "4e82f5d7e83f72a1828636cfbc91c9ae6a3eda75d3cc7d945ba0188d756bfc05" + "sha256": "239f2e3839ded0d310be1001f1f731132bd1b6ca23b1d99b9154048e74bed241" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LHUP.md", - "sha256": "bde7c5abd73bcce71ebf0785d3ce2897bf39e8a8efa01bf3ff2749d1080d6c77" + "sha256": "91dcc9305b658b49291137466df37da5bb2866c03554deaac028487f38374f52" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LW.PCR.md", - "sha256": "933216048d0abff4bce15d72017f98b81e85e5a781cdca8a7e5f2e9df7866982" + "sha256": "77c71dd70d401ff8a58b46ab0faa2a08e513279950f4122358986252d1f76aa3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LW.PO.md", - "sha256": "f657dbf099fa7a8c977a63a71f29263437dc1496ab85740229bc0c3585135a3c" + "sha256": "1cf3f24dd7b7e660f5be39dae6dfa583113c2db8a00f7cc0f8549c5186236699" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LW.PR.md", - "sha256": "7cf48bed31cb4c341d264277e4e2c9ffcc62e7f3f3b215aed695ead7885df2ef" + "sha256": "f0c4f20fa2f32337a57bfdcf66b5e4b47713e18f5a8ee2b33872efad15b9175e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.PO.md", - "sha256": "964d2c5f7c96f19d31e34abd6191f50ee93ce81ead9fd3050f629445344cf1c3" + "sha256": "1fd495a184927b7920d65d4b707c83c72195973cc3f375997ea97a87652219c1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.PR.md", - "sha256": "b84edb9b684ea27cbf07580bcbf1910d31c6ff0735baf319051c4e82124744fb" + "sha256": "7b5d6a2562a75456ac176a2302bef5a80f156653b4fd32661c146b0c63fbd43b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.U.md", - "sha256": "443c8bfffbde46502723bb6e96e2834d4c5bf5863ab047b972133a82ca1f1b10" + "sha256": "8a050b6740bd12a428ddeae95cb6165d3670a4d52a46273c223e6ee4d7c1e0ef" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.UPO.md", - "sha256": "5eb145399334d6e0f7443bc35a0364470e294237c78c62f5193125e0044958f2" + "sha256": "e65bd3a11e5e4d93fe6166c5435bfe6e085c56fdad4fd554f12bc1f6c750640d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.UPR.md", - "sha256": "1870fc90a6423497618af237178be4abc17d30bea307883975b398d285aa737f" + "sha256": "fc3869029a55ce5d1e82e359d177d9b83734ed104f14902c4d233457ac49ae54" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWI.md", - "sha256": "290eba30008a5f75e499395a7c676ba6ea13a8cf61672e983c5d4a0a2897828a" + "sha256": "3cf40e299d84f068a37d7d6138a07bb003c21eea4562eed44db2b02ee7aeed6f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWIP.U.md", - "sha256": "3b2a6b22d357524aea63729b30235a36cf79851190cd991f51403ed24dc5debf" + "sha256": "4bac7ecac87f8bed49f472b56d3a79ee251a6557b8487ea9fc23120af5a04462" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWIP.md", - "sha256": "378512b0eea625176a68ec374cd91e6314a6230a21c1b092ef6f9333ec62f0c3" + "sha256": "0d832a751c5f4362cfcc13557d9d59b8844a945a6a3a9e28568b5a5d1079c106" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWP.md", - "sha256": "f142751e326c4cead55c27bd659d2842da752cfe225bed7de2b7a27803dea723" + "sha256": "eee591040d72774c911a043ec6ef6ae45d504e872ce06d035993d39edd36d88a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWU.PCR.md", - "sha256": "08479c9714115505a13a48462dded6d116a1c62caffa0c5b01cb9b1a8d04d0a2" + "sha256": "aaff48ff6b0405fae85a33829066204b55a14e200ebb67a61381954d41da52dd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWU.PO.md", - "sha256": "ab046d093fd2e13b6b96503577d147acf69187d4be3ac8834fd50b318ad32b89" + "sha256": "6c3e794d5b8d575e03109ce69732aaf78de87a22063fdada545a086bcf5b729d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWU.PR.md", - "sha256": "e4a5418227801b2ea5cd424f2aeb27f80514f3bfd542fa065f0f7ac147c3ddd4" + "sha256": "758724130d7b173ac2ccee424fc2836f23503fd0bf158c1fe2a47a4769191cc5" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.PO.md", - "sha256": "62bc9d7c913bcc42ec1c0261367dfb0814475eb66f125113142dfccb661ad651" + "sha256": "225b135d89b328e5be172ecb87877906f6f5a8c6afbc6463622a5cfaebdfc7e9" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.PR.md", - "sha256": "a9d551fac23d056dab50484abe3a0eedcdda208689dcffd5f5a25f742eba3ac7" + "sha256": "7bc023ce7dcece4a46f89fa5f840c9ee06d6a9997da896906097e3187da76e60" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.U.md", - "sha256": "ef101bb780df50331de6624f2f7ed3acc7cc1b4a75f55f917fe1e3ae814b0ca2" + "sha256": "2eab43ddc0b91f82988f0b0ab150c5ed107fc3d0def061283d9426f4514e711f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.UPO.md", - "sha256": "418c57fc389dce544a5f365950302b8eb1092ae506f4c6687d6f6f66abb33292" + "sha256": "1ccf216f8425d57a578ee53d0e3dff8b0a88ff69215c8a916b6c2ba04429a5bf" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.UPR.md", - "sha256": "ecbfdea608e2aaa9b5e197576d61971b9a0f528dd62cfa47eb543077cd65a794" + "sha256": "286f0ca326c14f9e3190400cb7ac14b5504c6cb13c01c2e998639fe95dba70e6" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUI.md", - "sha256": "4edeac21a067f32b8a3986f68c9e57cd7a9277f542ba87ef7c847ca30cdeaba6" + "sha256": "d6ec740a91d590b73e29693928b7d696da2c51d035b5d90ebb6c3e8b9a055e2b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUIP.U.md", - "sha256": "a516365fd0f18b33647de4e8191d824b278561c66cf5794d6824fdcba0fbe346" + "sha256": "24eb668443e48117e48db347ea6c4b012885e36246a4560c59a6a42bef92cda7" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUIP.md", - "sha256": "9f887d8afa7e4286c4bf9946111e4981f40d976c059e31b89d821cecc8034290" + "sha256": "60a224e2688cc4f786d81b3edccb1ecf5ca04bdbb6f71517db839077d1a1f421" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.LWUP.md", - "sha256": "5bf41819fe72c63e2f09c93935b5a53e859988584a0d1d2978ca0846fc331d97" + "sha256": "70e4dc1f0abfb0dacba773605e000db080689a611ca74993cf99a9b4272c7142" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.PRF.A.md", - "sha256": "1719ca53671e092c51568d457eb2c3cbde149c85f5b51343811c5bde6c785c3e" + "sha256": "8a9c710817606fcac09853a4de512553998ebf55a29843dec3060d8e9ba7018c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.PRF.md", - "sha256": "af77a91c408d3b28fa82e493b4a139f52963a2b6fc45290911949fa9a0a53d61" + "sha256": "f00f263d4b69d4ac8951414685caa552cf1161f5a7bd8dbc5791965a9542e6f5" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.PRFI.U.md", - "sha256": "ed113416e68a946c5e72188f1aaeba96925023431735c8ae566b8aa275e076d4" + "sha256": "049c261083823c27eb9488384e9eaa54c8d2eb814f57b4c9cced566533f5cdea" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.PRFI.UA.md", - "sha256": "2509633a4fcafeebd3fab2e3298aa1a6cd248ab01ad90368756139120bf7d585" + "sha256": "0e46ea00071e97b7b55c1b8b54bfca4351840bc8e054cef2014c145fb304fcc0" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SB.PCR.md", - "sha256": "aa834de4490ab343dad9df647d59759e22b7e28137718882ee3cdca04f7a5a70" + "sha256": "f77aa47693df25117deb35ac9d7f9e067bcd3613305a28b2a4e9f4d29f6ce6ea" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SB.PO.md", - "sha256": "72f9633f324a969e1112aef3c03236b4ac96bd8afe0be10de01780ba25c3a458" + "sha256": "f8c2e76f1b24b1c64f41c86dd0a43a2fa3326fd5920fae5927ae929c54593b1d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SB.PR.md", - "sha256": "5ab43cfb6831d3404ecae7ccd8766fb8333c14f2eeb843a03ba29a400b3e5c50" + "sha256": "f99932c2470c01cd83c844d0ff536dfeb7ef56be274dc55fd5305f7b4d5537a6" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SBI.PO.md", - "sha256": "a2393932271fb4770c756e696a953d26a6beb12382c0d14abf10a938ff0baa2f" + "sha256": "5c55a4b6cffe6df66bdfcd3d1b717abf995a4989872ba65712a00233b989af7a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SBI.PR.md", - "sha256": "8dbcbb7cc18d684ce48c4444279ded7759b200d00e402c43c97848ef3c1a9408" + "sha256": "aa450eeba16c34fba97a4809018a6a2dd89f463071d875d242642eade732be35" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SBI.md", - "sha256": "20362e6ad126b1ef9d778f846e9c0ae96d615939725e65fc53f1dc9911d8b8cb" + "sha256": "aefa94384ef9de36d5a0ab9b2fe8652a9c8a70ae6e1293c238a9069cb3b2636f" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SBIP.md", - "sha256": "b527ea917179c69538d30622f4057956b1c77934be571d5f816fab11a91186f8" + "sha256": "d9d506c790c99ad584eaecde422dc26b5482780b451a51dbad925682bf98a040" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SBP.md", - "sha256": "ee95cca6a8ce3b2f15fdc9e2ae98872b279b041caae1eb3baa2960d527a06bd5" + "sha256": "c4bb78abeaf0302bd135d8204a8bae67234f6c9a1d1e2afd94bb2cf7dfeaec64" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SD.PCR.md", - "sha256": "6fe3d03fab0139be2ce054975ec65eb60d22a900e12b6e99d46a7e9563e1ab18" + "sha256": "5bee1634c699f1b9b3f2a0a9a82860753d659332dac2b3914d428992cd8b7429" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SD.PO.md", - "sha256": "beb246d5ff439a191dc001dafc278b5570591bf21c5a8cbf488183942ee060c8" + "sha256": "7bc54f3340381ed6a5fa37992ab513ab6646210c7936ca20912047c82da25d7b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SD.PR.md", - "sha256": "ba91c97e1139db21991fea9b10a15369f6ba712b7a28c91495217882d0e005b7" + "sha256": "4b4005b6842be081a421234509479343dde76665db9e7ef87616a06a34e32e2e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SD.UPO.md", - "sha256": "cad98a6f8872a6f54cf6ed63e97236f811f4a9f8c673373db1e04b349f8fd23f" + "sha256": "4cdcef7f53de95e405550c1c5567cfcb2e4ac14abb342048a734333df9061c09" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SD.UPR.md", - "sha256": "81d85705bf463fd677dabc89c5ae2bae0bc7edf74817f2f21dd8e1ae3765cbd3" + "sha256": "f1f9a6c4704b97dff552353e6c9be873a2eeb397e0f4e0fd42b3721edcabba3b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.PO.md", - "sha256": "47f325a7caae77ece254b18d334ba2be9f1e25a826063ab9d81d517243efe66e" + "sha256": "0eafa831aa9c3ef4b8f03fb7854b814158de25e481a012e02f6ec6922b06d1f2" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.PR.md", - "sha256": "446160ed94dbf775120ddbd4a1d731bc98968880f9ddec564855b223693efc9b" + "sha256": "368865daf389f65f1bc5d6c4944a42789502be94e7b96166d0b2610fea40470a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.U.md", - "sha256": "74b01d64bdb69a3bbcc7d6818b946340f5e49c7ba76841883de8aaa3d75eb044" + "sha256": "27398ec9c00abfcb32aec41d8a70ddab2244dc94164aab563d35c99bfa8caa00" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.UPO.md", - "sha256": "bf78839bce2864bc62bfe4c4fc51ae04cb6bed2bdf257989ae35cbdb0704c889" + "sha256": "78b8fd16dc78de2601f4a6e71a3266812c031f6e247aade8ed7283db4ef8e0d8" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.UPR.md", - "sha256": "077f611ce96342eaf5836523de5fe1e6f3ce5f0c08c956ccbe48ecd2956749af" + "sha256": "f9532f61d604bde9a0b3d0ee3b89bf06af2183f96060a3f1ed5001508a0528e6" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDI.md", - "sha256": "613cf9bfc610ff25cd4f52ade0862230e7c5ca4917cf2379e353b003ace340a3" + "sha256": "28318f246785d53635e9e5ddf88e46dec878941edd11921f71f5e5733425ca5a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDIP.U.md", - "sha256": "803ecfab11c00e647b6f8e66e2aebd9afcb59a18fe928110503d7f079bba59d8" + "sha256": "498ef2eb9830de6ce9615b3bcc3f3e8f5769ce757baa0d98d56fa4f9243654a8" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDIP.md", - "sha256": "7475aab23ed2c2a200e7ecf90a86508d8c28904cbc40f4c9ef68716b67091177" + "sha256": "853afa64eed8e1a756ba81b0a6f71962521bdf43f548a4fd4258753676cfcec3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDP.U.md", - "sha256": "ab0dc72dce793194088ae78c526c9df8a29993a07188e5d19d919df2d9011607" + "sha256": "29a3df23c3da6a3415fed89eb9a820814d55afb1d6ded53668470045910667d5" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SDP.md", - "sha256": "e71166de50cab666e8a6d5fd6cad0ae0d283fca58e9b2b5b69e52390e65fc423" + "sha256": "10fb04f4846c99dae02dd22dcdb9a8732e99df4f1980fe985c1947bab6d967c8" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SH.PCR.md", - "sha256": "6c2ebb0e776221bc24553b6f7e1a6cfad558476d4f8e55ece162211cb7e56fd4" + "sha256": "fb9c212bceab6acb7f6aa34f863d4e6ba38d6a3bb024a08c09f5b9753d5bf0e8" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SH.PO.md", - "sha256": "42f7608d957296b1b23df92211ac733af186fef708df4f0dc9025c09803e9465" + "sha256": "e7caea1fb66348184e4be83146d33b8fe38c112c523fff3c1027c56eb28647c1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SH.PR.md", - "sha256": "b9bd930bd8c243ce149d337c22956198aad7ac32b0ac6b4d65567c24630ab02e" + "sha256": "99af06ffb45a32938aa9f054adc17b6fedc5ea3131d64eee996bceff2bae9933" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SH.UPO.md", - "sha256": "57059a986995caa67f74a6965df6db3a031c0ecd3a75c9812405943c1d2a6b8f" + "sha256": "2cc067c51da7c0ef5421c25b53252209e1402d1f7d371738c109713350f67ca4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SH.UPR.md", - "sha256": "3949698cb6cedbc64d9456444714ffec2657e1c55959bff69f12965d36d760a2" + "sha256": "c43df9545e57d091c5220baf82d90b9b81c2adb0a2d61f83532138cef6e95222" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.PO.md", - "sha256": "a95d4d23305d59604814e99eaa4ecbbb909bfd1824a2be21c77f2379272805ce" + "sha256": "2b3f1ab39a8a713cb4972e632ff2b5aef7c180955ed87d5099442a6995603ebf" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.PR.md", - "sha256": "b2ddb6f345877d5e1eaa9a7f7c60ae8105f971c6dfb0dc60507bab19b1957334" + "sha256": "f704ad4ca10f1278abcc02001507dc1ed24c028cab57d88268474eee51421b50" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.U.md", - "sha256": "e933bfddcf8bd4037e979939945fec845e45ef9955186f89b1a2f85f9850db0c" + "sha256": "e24c5cd7315a2be3b46c543596f4d012a8fdaa7ee3709908c59c73434e295e9d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.UPO.md", - "sha256": "9e89099d8dfc0217ceb205fe055ab4f10321d3cbd36ea6177b225f583b5157f2" + "sha256": "5a9b508cc5c79cbf42b892ddc708e7916f52b9540198bb61536421aac7df321e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.UPR.md", - "sha256": "6cdfa8013b64c28c3a49ca9367a59a181b25a7dec0ee426f17e6087fa199d874" + "sha256": "344ee0746a7435916287becaa36ed714858b97352e1cf4693d9302dc50f78a69" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHI.md", - "sha256": "a50269e7d2abe06dceaf15d792f0b33375265ad2cee4c146d4415045b095aa3a" + "sha256": "1f8b8d36c133e08a8194e3e9c041309a3fbf22dfce8e612539c6d0ea704f243d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHIP.U.md", - "sha256": "bb997f745db1e228132cb0d5e03b49c524c543d7a8ba9b929285b3ad06bde7b7" + "sha256": "a1929414cd7b06a425849a8adf18037842a2284c130abbae12f057baf90545da" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHIP.md", - "sha256": "15c0801a91b32fe867e783f63ddec87fb8b1c70cb29d39a5e60e06a3fe3cb379" + "sha256": "98f28a0b1266c888fb9e6d2866cfc44a7f51d747826e1d90105c49d5389642e5" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHP.U.md", - "sha256": "2758f7e8a81dc93945a1b525efb4fb7eac7265b6c0174c59fa12f0786d47c7fa" + "sha256": "7f1ca4699aedf37dabf0c096ecb110e468e0a1d21587235eeedd7ed012aa7c1b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SHP.md", - "sha256": "69051d744f2d9c60eeabf7050f78296e70c3ac50f54e5b689f782ffde4778716" + "sha256": "392b861de47409c98b08785fb478c434898365ec8788d7c614bc1b6366f25bbd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SW.PCR.md", - "sha256": "3a72c11adc2386621a36b8751f3f546d664219c98bce7d4735585202ea8c5835" + "sha256": "b2ced88c0f879cc5fdc487e025087e70ea4b5fdf37c1c05d3ffa3e67ff57bd69" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SW.PO.md", - "sha256": "c7f7cf8dc185a5444038fca2c3f085ea959dce762253812880ec7d3abb9e0059" + "sha256": "e4b03633da78563c471276669ac80d8f3a398e8a69325601212b18b402098f10" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SW.PR.md", - "sha256": "77e7f37a12caca00c4fc904e40b3a521defb46e5daf5659cce6fdfb29971a590" + "sha256": "1c143a54cddd280646a2a6d0add12f5d0bbce1a0a40a3e9a1f3851762b856ec2" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SW.UPO.md", - "sha256": "132e09613612578c06be1306ce756ff39759db469c3a9336d617705b8c905686" + "sha256": "e444660ceb400db7f4b12bbf1a54cd869afc1d6b12c6213c6fd29031f1a42370" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SW.UPR.md", - "sha256": "c1d676fa913f8946079eae1842f2698438483415793476791f1bf0c1b6973e37" + "sha256": "cb8a567973dca4b9aef5e0081ed7b3167ad83fe9c75c5408b567b8070c88e64e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.PO.md", - "sha256": "c3d6f3d97f678274d83d2be521b9c407880e3731db3730bccc8b2d9c8e9b9562" + "sha256": "ba665dd41a8784a5a14be308396f8ff1e2bf49d3e3a70e1c34dfc3ca9c42edfd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.PR.md", - "sha256": "4d9a9b7b5c02f9e18bbb596e6b0ff92b8761817f6bde5d6c42d34d7bea8d7a49" + "sha256": "335cb91b90d72e75824079154ecc0941dbd21a8152da8b8b095de5d4e430f6ef" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.U.md", - "sha256": "cfb2c4acf0d99735844802f53c039d30248d74f86cd6b74a73a80a0a3551abb7" + "sha256": "deb698b5bed35b72652b7228f4d7015f596d2f5230fdcf130685aa6f084c7952" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.UPO.md", - "sha256": "4489180ab2575be80c5e357b7e17e50b6c4a98ee0272ba753fab2cfbd1974fb3" + "sha256": "7f1342359631da5196117b3177af4a56a3bfa6e675268a66090f431302588214" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.UPR.md", - "sha256": "2e53c7cd899cc69a319a7e9ca77f19f2917f19862f893c9d360d58fb36542c7f" + "sha256": "22f8a0147f78285d45218f63ae244c8a2e5bedf708832a85769465bc3b97b84c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWI.md", - "sha256": "4fe59173fa3d6098144804e25310839e51efa119cb2e78b032090639977d3493" + "sha256": "8e0ece7bc13562084b17c076403b8007519c12acfa65cefc226060cd8fa2af96" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWIP.U.md", - "sha256": "584cd60b27968b69d4ed96d6eab474e2bf94b484c4285fcc7760c4561dcf087f" + "sha256": "53782f66332af8b053638553a9fc72c98ce3d0b4251da3b81e1be4e3e60d2c91" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWIP.md", - "sha256": "ca71bd92bf8f009446c8c3a6e219a5989ade51b01618b236863651936600c9f2" + "sha256": "46c2107c1315ec9e2f4ba5cffc763fbcf88b776be26414952649efde71a5b341" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWP.U.md", - "sha256": "7a0dbc1eb5ae5d10bb2fc7f927a6819a134e738e9f65740fdcfdfcc8520564ad" + "sha256": "454e371d70f35ed5b2dcaf71dabe0eda4328d17fa55158d344c8530de68bbe8e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/HL.SWP.md", - "sha256": "7f93901580952602914fdce5618d6e15ac7bec29c0f1e615b7b93757ab7e50a7" + "sha256": "fde49c2ce9f64194cbf6df6eacc4e5ed1849e8ec5b1deedd3fe1932e9c1093c3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LB.PCR.md", - "sha256": "59a0dd6d570f78434d1503d2feba4ede332d3df35b95fcedeac16a37c02a7438" + "sha256": "199daca55634a4b97398e833fcd8efba19938ef2469b95c9a43d820742285909" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LB.md", - "sha256": "d35571f274d3bd7aacafd8714f09379b7e987f2b40ddae943e761fab580b97cf" + "sha256": "9a67e8622abd4d55dd36a5729265171b9cbde9989e11c598b55bba2980e9a254" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LBI.md", - "sha256": "69cf1f4c58b25e9413d0311a82efcafd9d962b499f7af9685dd0b3adcbc337fb" + "sha256": "6cf40554a0ddcf3e09ed3884ee4d1e4b9860231bc5b66e525f97b2a14215decc" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LBU.PCR.md", - "sha256": "9209d2c093afef28625b1706adba32b78f8d46e758d016185122556975a56e2a" + "sha256": "7915f65851a710b70391a0da136f7c832b833fb0b43ec6267290bd3478c9eafd" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LBU.md", - "sha256": "b9df304c54612cdacf359669faf63067d84a840985d4aafc138a6104c277859e" + "sha256": "d7d995956ac954c384d47ea9c54c11dc8b3a9ceb3978d1122f0578e4988a7598" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LBUI.md", - "sha256": "08e7c995f4f5b912341dda604c84e4a3517af2a6434ba724709dfe9d65e3e819" + "sha256": "0a5119cba6ed274d5fc13a84718b512fd8023b37b0f7cfa0a18e5fe2f62b3a56" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LD.PCR.md", - "sha256": "2d6472cbcaa1ac5957777c5e5ddc36f28646bacc9c1c4c0634ae030434a2f929" + "sha256": "32a5d28c3401bcd4c59759c1212713f42a08b31e6446cba78d2a11b4f232426c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LD.md", - "sha256": "c32250b578361d00d15d31b87d958261d0b02232abe343bccafba8b11e4ec9e2" + "sha256": "bbd2f6ca51862b3d455ea830600d4a2b9c4c734d3cd6615e585d39432e674806" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LDI.U.md", - "sha256": "341aa484e1e0b6a6b1b248f58a47694f94d5088177d12eb7d1fb4a6f6b284702" + "sha256": "69984107a700046a19f202c743a46bf6c88e5f1cda363bdbac50e748229838db" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LDI.md", - "sha256": "49fec5732cbb9bf4c07e513a8c63b6e3b7ab551c9edfeb7c547297fec2143b89" + "sha256": "45667a966ad77dbfb30da10c244a3adba45732eb6a5d2275f799a06d8a968c4a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LH.PCR.md", - "sha256": "c56619f0439c01b361ea5d85a25fff669d29681a0134c1136db2dfbf92e58388" + "sha256": "c5b6590a93b91e81a1ce185603474b98deddcc6319f811d53780f741851b010d" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LH.md", - "sha256": "e52b7520264c454d03008032c869fbf70d141bec722565e77162b6f8d016d181" + "sha256": "2482e514484ea3b2589695057ec73bd56defb359452fa4c037c4a5f2843214aa" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHI.U.md", - "sha256": "1ae7b8a50adb1b3fd1288af526f5e63f605db65640c621540f83685e634525bb" + "sha256": "a6e5732a30b6ea198c447448ec4ed0d159de4935a13fc77833a1917d48013894" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHI.md", - "sha256": "9322c7eca452405894d3d42627436e249bd753c14ebe1829e67cbef1503e0c3c" + "sha256": "dbd149e1a10e5b8237d2b02221f97fb94954cfabba8b7ea785ee04e2724b3454" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHU.PCR.md", - "sha256": "55bda727f68e9243f943dd9c344dc0c2b7a8fe08935e179f2f3233d29ea20f85" + "sha256": "45675015ac04d5070c451f7d03659148a3c745804a5b570a8672b1d0a70c4e09" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHU.md", - "sha256": "219341aec5c4d295f29cc8d37369ec07cc5d24f6918e4f9304419c65a5eaa6e9" + "sha256": "f2167c41cae38d05108ce3e1da1805821d774d36ff4c04b481355d85c62aea3e" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHUI.U.md", - "sha256": "dc13735ae15ad802e22e2aa365311ced2cb58f6a87f1eb91a2e5c808e20b7002" + "sha256": "0d65b4d0b04cb8254bcccddec974a9966da163b5e612a4e750ed3e30ad1442e8" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LHUI.md", - "sha256": "67cdbd5b2c1877ac3b14705448111cf81de2bf668137900e7d54fc5eb9cd4686" + "sha256": "0a97d7a62d03f5cbf444b0d010c7aa7dff3548e12c8777b157144435b60690c1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LW.PCR.md", - "sha256": "4affa3bb8b020b08fae3e3e49daa3fa65876e3f5b8ebdbd2c62f63a421a9c158" + "sha256": "56ae7438022fc65ce9c28cd5fbad851eb49de50482fada17bbee3c5513f89da4" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LW.md", - "sha256": "49938fd2e738d9f05a3d3e18a721d97d076de8295a9a740beaf86cdd9fbe5ae8" + "sha256": "703e14c86cf89fa4dcd6a6e40f19887e3d53c4b9294afa5519f92d84a9635ee7" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWI.U.md", - "sha256": "db9d3b521b333ab47b61e2bd2430ab3dd82fb95bc46c5ee22a6876b7b69c7a3c" + "sha256": "ec9b043d27bc24ad4d300de124c5b99092951abec439132be2c84323f99a64ec" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWI.md", - "sha256": "433cee276e5b393ed5b151e7927c004955f76eae523d4cb67284dd840d39c1ea" + "sha256": "155d55ef51b84221a560e0d67cd71789b3a8e737bf0d75e66268bbc516ad5b2a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWU.PCR.md", - "sha256": "038325a5b0b2f10480040780368b03ff95a2b72a51fa697a899ff4248f6b8b94" + "sha256": "67d4f9dd5dec7eb800ae8214c9ff719c9d28ffde97c35106a1df665b82e9a3f1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWU.md", - "sha256": "8b0d3681ae9c9d9c356830e7746e8f91abb216a59d0c637da5fcad88ab90f375" + "sha256": "338503ddb68408937c0ce318ed154bcc41648ac35631779d4f408b5ed24ba7fe" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWUI.U.md", - "sha256": "2b705722f07ef3b9eb96128980ea9540fa0436fb1af2dfe5b646910cb0294f3b" + "sha256": "c327cfc3eac54b1e7ed966c0cb70d000c746a9d00c39e963cf39c16b0d41d3fe" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/LWUI.md", - "sha256": "94b2f3925c9c2a3fcce8bc8cf91e199b7ea2eac3cad632277b4fd8662a89d4a0" + "sha256": "8683881a92a6db471d899f8d6a2dd6e7d77a36ea71853d1bb2a28dd7bc115689" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/PRF.md", - "sha256": "80286d3c9caddbf19f385905d8205a86d1915d1f54f4ac03b9db720ea9a0d24e" + "sha256": "f2b97fdc0fa890d2a5c4af9a16379315c9893f8076dcae3a056ae115c325fb57" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/PRFI.U.md", - "sha256": "fdf0ca50176d467320be7d4808267d6f8702db98c443323e7bfa1281a03aee4a" + "sha256": "bef820be59acf03650712baeaf48a54fbfd48bfa2e3638e986cf175237abf25b" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SB.PCR.md", - "sha256": "c9a09baa9d38b263d71517fefd2f9567877a5cc561817c047678111903853315" + "sha256": "09f6721ca2dbc5ae5f5c7ad844613e29cf898f833137319c123d186a09ad1e28" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SB.md", - "sha256": "ab8bb3ea737a78f1c9afd567c9de713baf8a92258c4ba299b2ff784d9cf8a5e0" + "sha256": "07fe1067864192b8e637c7db72e8839074c4d19e11c2c076a20d51c3767f323a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SBI.md", - "sha256": "0ac599fc9f104635f3ba9bf42fa2d99a16187acc986171da7c7aea580b6c886c" + "sha256": "2e97a6d0303e7b5a7cc44d7a6f1bbbd935010971361709e6d3bb9edf84929406" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SD.PCR.md", - "sha256": "1083bfbc5a57c57e1d20a0464d50e6d8cc9cd37702c0f56dc88f0f730b814fdf" + "sha256": "69722f86223d2eb3cacae07a930c23bd2b8eb162f89b1e20cc53417f36c498c1" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SD.U.md", - "sha256": "c81cacb40abbb86140411730381ed2b8c148934d044b6ff43189274d026e43b1" + "sha256": "274e9573676faece21cea7e4a913f919c714d454d9eaac5ad1e538586aa52229" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SD.md", - "sha256": "a97e8a83a1f8b335e7b04691d6c0a864026540e6d9085dfb914f9311c6450d85" + "sha256": "bb52bdf4135533c73238f0f1a4f4f38dffed1ec0ba04cb99d0526234689ba28a" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SDI.U.md", - "sha256": "def3ba5c09ce0e190376cf485f8f6e43612da2f73e13f87b46e5230f78c758ab" + "sha256": "fa3558049ec7da540d9da63091cf58f42314ffae89523d99fe4082121adb3fa3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SDI.md", - "sha256": "15c635add4b096b72b0b95fd6720f31c0aed4a1de29133905dc04f75924e1e56" + "sha256": "0ca30c73e09916421e51d3bab6f2c19c45a5a3a80ee74a330a73a70da07cf912" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SH.PCR.md", - "sha256": "02d6044497decc267ecc4da9f77a6e31fc99cd7d26fed5ff59841e36c5401f3f" + "sha256": "3244fb7822aa3b5b4df9255d525a9d94261bd32c4fb704f074f36039a50bf7cf" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SH.U.md", - "sha256": "a968ba41e52f0fa7b023691ebaff08c3b49c22ebafcfceace2a56bc7537be6a0" + "sha256": "bdf4d47837bc94f5e912443ed6bece6c3d6b10b463b1e56207745f789d92f561" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SH.md", - "sha256": "7790783805c5c397b62348d36817e84cf95f25f7e61be709344a33ead263fd90" + "sha256": "d0a07532342d19e4410c4e0606258b4ff0d8d84d53e0ac0aa80b12e261f667c0" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SHI.U.md", - "sha256": "8554e16724c2e6f36aa989877834620dd08c37aae23f2b6ccbcfb402c6665668" + "sha256": "1f2838c726d1adbd3a94e5f54e951ebd23ab93607e990551759e4f33ddd795e3" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SHI.md", - "sha256": "c974b30f3d8bd59d24843cb8d5d821af00c874ec7268f3673ac9b9322437a00a" + "sha256": "2fd8958f7fd8d5cec97f32589c64e7845bbe9b376a7eef82ea8ede05f52ecf86" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SW.PCR.md", - "sha256": "a04c8c3c2129fb1aae9d954c226743e1d7bf2fe71abadd68443d8f6611f02f0a" + "sha256": "14c8a3c506d96870f3ac4a26b0b0feb39af985051a7aa7bab9ea6721bc2c9288" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SW.U.md", - "sha256": "90842e969ca821eccfa692299659878676aa42792f96807129250724cb606884" + "sha256": "5835fc60e58b68063de936a1af212f67b2ead9292ba7884f724da1d8efcf387c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SW.md", - "sha256": "e5f6d08867194f13934eea56d46f0eb99cd1a72cf9e380aef1a91913b5bef830" + "sha256": "24f8d315e3db10aef9aa209954c20f8de1ae3bee19526b3b74e7b4c8ed72e89c" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SWI.U.md", - "sha256": "b8692a3c1e0e6e24876cc3cafb2029f907feeacf77743a71da54a301cfa4c48e" + "sha256": "b123c3430dbb1e87134ad250a41c9e4b0c2fc43baddf0358ca1f607b0b9fa273" }, { "kind": "generated-documentation", "path": "docs/scalar/agu/SWI.md", - "sha256": "73af1ad758da79b9a2ab5455f9fb479f9cfc3aae42022f1dfcf5a32ffd58616f" + "sha256": "c7dd78ca785d1dbec102d4694f0fb094e9ee39d59752e373d07390197cbfdf38" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ADD.md", - "sha256": "18170b767e429fb0f94d6e9c08b1c207ed51e4b614308733a2e31d38fed14459" + "sha256": "963bc15b254adf05922556332e225209edd0156cf2e12cbc798a3da72a4d1b1c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ADDI.md", - "sha256": "627233b79337f39ee856b959fb51071f35d26493f6ca4f86ef771aa69287d836" + "sha256": "cc5a4c1830ce32bb0d9da87ee7609f9d6c039986ebac560391ee42e7da7aa3cf" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ADDIW.md", - "sha256": "dcd5f05f14b9efc3b8a871e805183a06d4079bf4f3d19b2a58b96a198c95ccb2" + "sha256": "c4777d6c093c80cbbb2f391ba42851e27b3914c38df41d68c3b1d05641dc1b11" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ADDW.md", - "sha256": "605048edbf0d53397d5ad99090b20e6d92bdd56d400986fd28899abc13ea7c6f" + "sha256": "8418480657b436393bbde843b51beae4a6d3148e8cc34a8adfa736a2f8aa6429" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/AND.md", - "sha256": "4d3e52b01aeb7d328c1cb6b1a3d32ed77dc091438216a7db1a9bef560e80eb8c" + "sha256": "8c6728eabc75e41e4f37a56f1d7f556d0113839bdd4dbc5bd384348f00815df4" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ANDI.md", - "sha256": "5414b3e2b4511b36497ff24c5081896c4b1c75633bb621859880ca0e5587c9fc" + "sha256": "559dcdb81a520c028c9ee5b3a5d404d867bd17c1d9db5f11f115e1aacbaa55f6" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ANDIW.md", - "sha256": "10c97ad7a2297ee80b33f4adfe7fa314b98cd635a10ae8f149a480328e7fc9fa" + "sha256": "ea557ac70fee3a4dab1235488dd70e38ecde1beedbb6ac100721c1f30dc005a8" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ANDW.md", - "sha256": "4bd56a6bbbaddf071194fa22cf3d72021203359ccaaf9fb8d166b0b3791adce7" + "sha256": "e43226d14dc267bddf35331665ce5de9e1a1f859e05ee96c561cd5452746acca" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/BCNT.md", - "sha256": "ad22bffa8958a87652388614b9dbc70dddc6c7b586ab6bae3a9b996081170cff" + "sha256": "ccec91c1d3e8cd2932177358d1abce3784f54811c85b143874f36c0aec9b0a89" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/BIC.md", - "sha256": "0e61a7c014eb2808533bc9ca6bcf66dcb3e18fefb3f6cbdc75a4b611b7be2f42" + "sha256": "19dafb8c4ac0a73968b5fb1540fe0e9f15d30aed22f794b9bb99e258978fedba" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/BIS.md", - "sha256": "4bbe33c254084c4e16a56404ebacaad476cde6dd28822aa7df1d00db46e2a5e0" + "sha256": "506765a56581f160beeb9ea297d1617f5f5a549e7318dea582bcb50cef02be45" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/BXS.md", - "sha256": "697d69094c4e0fe2648827fe8d06569a74092071bf8f7cb240ad72a391c5b501" + "sha256": "b75afa751111382395117b9335ebf5f325799370f2e8abec8081002a9ff7001d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/BXU.md", - "sha256": "ee87632e2cdb065033c371692ac6791dcefb81853e52881bf32d45b8a73c8812" + "sha256": "b334c88b84d4d9ff92c0fff9dc8359fe6062f71bcda2ca19858a6f116753f913" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.ADD.md", - "sha256": "bfcfdc40cb8a2d7bb4360c1f883ec4fd9d944ca32a80bb194c96ccd6cf9e6cd6" + "sha256": "4529891a0c963cf3af576b9453c6bc1998c85eb33192213c1029e4582feb3637" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.ADDI.md", - "sha256": "139676b2b6b452c73c20ded0bf48c2d142f0b63eb937e8ad095055765d7263c2" + "sha256": "82b6838f8b707e9126ab54ad23472eaeb16fef0d451062c88d436873c5130586" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.AND.md", - "sha256": "e14364b24d444d6fc5540e39c2815f9ed86e8b732c5c1bb5f40bf55d41c50f02" + "sha256": "70deb89362992c53db8ff8833a69124ca0ad1fe1f1aa526a731bda7920442dec" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.MOVI.md", - "sha256": "c803f8c09654791946b065088c31ba94ecd17a96212c9393dac1f44771584e09" + "sha256": "4ffc1af816a27a8b9c5ab6067139e1abf24c1381ff66780611be3eb9a812be0b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.MOVR.md", - "sha256": "f73091b954fee3e12c20c7075aba19750c7a0d33e3570dbc1a3b2f6292bb6124" + "sha256": "7f28a376e4cd55c9108265ea3aed2f598c10322cc0c81e7feb042e9aa26dd6f8" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.OR.md", - "sha256": "3c09ed751fb06a14ae55a42929d188ca80539cb86f594e66b3f1e6534595d4d1" + "sha256": "b5a58af18a63dfed671a06f1572afef7c980726ad817fe830cad89fc0ddcde22" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SETC.TGT.md", - "sha256": "559ea72b8aa6ee9b40b6328a784fe6657fd24f1ab58c5eaff2af13c4f539eb40" + "sha256": "ba78dd0b34843f64fe7c1fc72cb48a5819893ad53e93f92ff833d6ee682059e1" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SETRET.md", - "sha256": "30e9ff3b905de80b06ed8c148bb73fb70d541ad9402791e10deb99d9b8cb7a9e" + "sha256": "6c7bfbe15cf02f5c840ea8f36faa1f2a377e7ba5a70b9e42c62afbffbd2e5430" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SEXT.B.md", - "sha256": "1533215db0126baa8e5fabe1f4fa9550627bb1ee859f6f0ca2cd1c2fd9c2cd23" + "sha256": "03017406bf75eb5dcfde751c7af4af313c5d66629b039ba6b54dc5fab4ab06d7" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SEXT.H.md", - "sha256": "6059586ddcd88b32af995932519457c73068cf237966e3bc5d68100198a68b8c" + "sha256": "ddeef0e324785fb05883b238cdf9397de360e07127df869743b76a66b2a8c93f" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SEXT.W.md", - "sha256": "4e2410604cc3d832f119fccf95b0f59ba73e81b3403360fc1bcf5ae9415e05a6" + "sha256": "4c47acfec40dcbecdbdbaae3f58250d5fbe1b8c2bfb3ee2e53bd1aaad413cc01" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SLLI.md", - "sha256": "a33dc36cfdd54899b9bbae979b3d2241b52b1c1722c4e5888d2d3462b5861309" + "sha256": "af52f75a7f78f9b16a3ea2079f10dd19dff9de92ffcc5ba487b94a70488883d6" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SRLI.md", - "sha256": "47f9c9eb468901392713ae0890007e957dbf6d36d75a468726225cb193eca8dd" + "sha256": "fe5ad19b6bd3432307956036d93d94b17df45ab69b62a583a16c65ad12820164" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.SUB.md", - "sha256": "d9c7e632c539689e7f905dd1bf4915d2fb6f127ced8c0cbc3764deba75cd96ef" + "sha256": "b0efc68c8c7272039efefa0c964f40086cb94066f3a87d62f3bf2d4fc4d3a446" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.ZEXT.B.md", - "sha256": "b91f7e592c16d956789e663a58333f1f62f55b757d88480cec28b1e435cd919f" + "sha256": "13c01da1f80bb10f372b2333f240019cf764500ce2cdd426b62e34f15b6a9329" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.ZEXT.H.md", - "sha256": "01ceb29455fe4131368adc29bb8cd41d9c4cfa4f6a64f0609e4ef6dd3e7a6cdd" + "sha256": "e08e5ee4d5f74a50fdbc8a436b51d8b6df01833903e25c4358375df4524fe4f4" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/C.ZEXT.W.md", - "sha256": "dcb0160de9761f83c269d185e3416046da47e881d8b4bde764a8ef709b839703" + "sha256": "221bac26136694b9013699a835a579eb487b51e393ecbe0e5b51a19896a075ef" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/CLZ.md", - "sha256": "c10c4563098dbe0832eaa51ae69addac98014a45f073fb0246cca3b9c2049862" + "sha256": "9d273e226490d98246c444e24960a50e96aadbfa3b07a93e7c2933445107d63c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/CSEL.md", - "sha256": "de175628902249d45db2810be5653605ed0cb66524a212861601cd32d55ca14f" + "sha256": "0beb9ac79efc1efd0af89907073dcd9e80fe45dab0d4a750a7140be14cd9eea2" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/CTZ.md", - "sha256": "ce46504a1f03ceb169d748017969d3cc239039c0cdf673185efffb39c0a3dc67" + "sha256": "515b63472a38f23a59e5cb73d55162700c4b29f23e199f66496af53aadc54bc1" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/DIV.md", - "sha256": "4080b900a541d830ca38587d3977498b380eb7b15e185caf620299c98739c135" + "sha256": "c31861eea6a3f8f8b8af456632c44e60fac0cdbd9b398e2623b5ab5322fffef1" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/DIVU.md", - "sha256": "e906474a86fa6abe505ff20bfead8a297816ee99ed6bbd27ae6d49b1def9ba01" + "sha256": "327618b6d55ab80c3f03d62b7812f6720fca1a24b812e2df7eb7c36a9356fe76" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/DIVUW.md", - "sha256": "80d536b4d38290ec53abdcf2403bb3e81c849febeb9b5d6f8800abff8e69639b" + "sha256": "fbc0d4e3256c73c957722527771c2cce59ee2f2ff82e73e211488a5c3f52fdd3" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/DIVW.md", - "sha256": "0287c0815eada5e7394ce006744718d57b204130a3b0b0058c6ce08c362ff06d" + "sha256": "312f8541ea3289de7944ed09ef1b88f970dbf5c12bbd4035427788476e34da2a" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ADDI.md", - "sha256": "da59bffeb75af7f15a5f33875847406ac16735a26fd6e5d45a937842f4c43381" + "sha256": "85975dcd14896c6d1458f622ff1fdb4fdd6d8e2c104d9f37a08bd32c95785fc0" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ADDIW.md", - "sha256": "0b11aed5e83513eadef8d871c4ec6e1dfcb6dd0a8bc6a92e8347913abb9a2462" + "sha256": "4e65bb5f932c85685ce53e1b54c767fba37b6c2e6d682d8c6d9d4d3f9513ef8f" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ANDI.md", - "sha256": "6cc6f369c4ba49c66ff37be2759694f45a2fcedb95310340fbd86eff4b63afdd" + "sha256": "9d2afa3ad51f11fb5f45b3e81ca85cd9b169547e42e23ca4901b7a33c5ca801b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ANDIW.md", - "sha256": "65c915b3f3edf2898243adf5949bd000a749950ae18e7f4e5d2813d95e9b8f75" + "sha256": "ef0f79f1d172c624e5416f86b8b4fc9eaa568eaf7b3c33e55e15cc8b7cf18e41" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.BFI.md", - "sha256": "4c628d8448d7c40009146b020af504ac6867e15861121957a3246768c2ecfc22" + "sha256": "da6b9097c2636ddeeb433c3d216412ccb9c0f8ab2c4d66f80df4febac2a4e8a2" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.CCAT.md", - "sha256": "d7d0c08c9cdedcb0782686cde0b844435d9727bc5e4911bc5b898fbb8f9fb684" + "sha256": "2bc740395393731ee2f0be6567e066092b872fa8018d5400a67f6b8201ad7101" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.CCATW.md", - "sha256": "aa0aead414eb31fbf06580a4535ab36de4edaeac1629c192666573b56f8edae8" + "sha256": "f0b71174ada7367540232c786ec8e52b2853295366f26985fbfff5714f6a85e4" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.DIV.md", - "sha256": "1d8277ae908aa09d55880b20290d796c0f194aeaf7c7b99085413ad111dac259" + "sha256": "3b2e2986edf44517941016c1c91f34d451c5b7c4cfb2ce41e37459f0116e2d1c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.DIVU.md", - "sha256": "39727b0ba88fa3dfb5d26c3c9d17d4746c29960da6ff3ae939c85c1c5a723355" + "sha256": "dd604a5c222a0b3b7809ce53946e3f40a82f7f2f8912f7e0f17ef667fb480aca" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.DIVUW.md", - "sha256": "44876426b240029242fd096730e631fac74a9378bf85844e0a955b90993de390" + "sha256": "84f03dfcb9922c89787b7cb1cc1004c86cc534f183e28b207364f7e458fd70ee" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.DIVW.md", - "sha256": "22de013904841396ce6dcb71b3b2964d26284511413ea1c54b1e61cec19a877a" + "sha256": "b9609bef567f054aa4a81a0e4c41417fb6181b32f165747c32ad6ee05ee72eac" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.LIS.md", - "sha256": "c53e107867e6cf327a7b29f5de142a4e328ba57ff8436991d166213b13600fc0" + "sha256": "d1a325753ac7e9da216549e38f9adfc6be82eefe5008aaa9528a355eaf253a6a" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.LIU.md", - "sha256": "f8720832d0c270ea564e9a9a8a254915059bcdabb7bbcfe14ae3598752179087" + "sha256": "bda3f6e3e10feb2f6e7aa02aef437ef739d2a4e173fa2d0b91c0a2871fc11a9e" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.LUI.md", - "sha256": "93d040f07c83fb8a3d2bea4c886a2d2d8378e32498719f1c19b03558261174f6" + "sha256": "bc18ed3b34cf86a669b65930fcdcb8c1d2308e6fce33f7f91e5e162d35fc0697" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MADD.md", - "sha256": "acb2682e0d701b3b7bdca6fe2f3a07a8c7f4eedb2fc6e106cef04db4f52a398b" + "sha256": "4f7639446153d9b4764ff05bf3dcbae0b3df06cd4d7e0128671461542ee64479" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MADDW.md", - "sha256": "2612def0f50793006c90a60b56cb771b3d0c0cf1ef76fdbc036896ac0b4e62f2" + "sha256": "34d65fc1fcf2e37f246a82cc7db76976e1dab230d225fcb34468501e8e88834d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MIADD.md", - "sha256": "3268421db4a7447e42b25846f9225aaa5d0694cd1bd6a3fdccc28d0867b99bfb" + "sha256": "e3b35999c166957fc9ddb3e56b965bc30992967ea2827e26d495d84bab4a2e65" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MISUB.md", - "sha256": "159cfa3813ab811fc42ce9a852d82dbfa0112302205a47eb7331389f61bae812" + "sha256": "301cbe0e9127193cc7ad24b1fa7b144d06dc224fcd2d7c0f6d5afb9ef7e3d4cd" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MUL.md", - "sha256": "097435ff4e3e7ecb9e941bd917421dfb7904e3b0c535005e08235dff558d176a" + "sha256": "e4feb5c2726ec1f7e3e0421fe3ea6d60242a21ea64945b551cf8a6db46a766a4" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.MULU.md", - "sha256": "18731e797e3dafae3e6be7b1d168c56dac7154d6dd3ce119ef30b08277bd9c8b" + "sha256": "54f72c14ab04ce43f74b4fab312859baeb721f0c6419632891aad620a2836f1f" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ORI.md", - "sha256": "ad41b707b98846b5c8d89467b4d255c2aa8da50739cc60cf5d96f73c1246ebeb" + "sha256": "4f69a04e65eb92a9e0bb66efac4f1ad3a1858bea003a3597975b5c9b2f632654" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.ORIW.md", - "sha256": "9ed4a39db796cb64541a523bbe0706013dbb52fc4ae995db9d6498d90a2bd01a" + "sha256": "fd2138a3f57d6f73c20397d2102f53db212c72792c8e9645e72fcb974b3e0c43" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.REM.md", - "sha256": "1297667d3a488a0f52f7e1d2ca3cdca6ad2840d5e42f3f1dfded2c0b99dcb07d" + "sha256": "57d30af4d1109ffd5378351c6544e1b0bfd6bc69730d631eea7d2be2051dc4a7" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.REMU.md", - "sha256": "4743ae16afd7950f9a2e3c2d4c5f2620472b40efef1311d940e32d8e90489eb1" + "sha256": "61227aecca636fd91301ff0053e7790e928a52be26c91848fe090335c53933e2" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.REMUW.md", - "sha256": "a9ac469d1615ba4e2afa9a3605810d4c12c34591bf9aeab5c439c7d2b84e9f15" + "sha256": "28fb4e411d0a033a361dabf8fc34cef223226815a5ad034fa6551cd4c1e911e9" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.REMW.md", - "sha256": "bfd62c3db46a1e8c7883dd1b0913647d1aa04ced8847f5240e6f492c21b0b5bb" + "sha256": "91a33978b6976c40408bcd3369c9fa6b00ab8fc5c7f9b114afc0616f1bf3690c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.SUBI.md", - "sha256": "650c1902be48e51fb2d015fbf118f7bf5f48e2d85932cc8b61d7a26f350155e1" + "sha256": "73a2b9f24060f7049f2a5359128a7c2e5f3f9dcb3dda55806e975f800f692134" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.SUBIW.md", - "sha256": "6c7f22e4bb527a5f2a6a55df65bb1da3f6f582019a4914c2ac7c78cadf074cfa" + "sha256": "756cf81c0cfb0820eab13aff571bacd026e0c391d39a8b84b5bee93f7164c629" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.XORI.md", - "sha256": "dc916a87339cec20f0e909dc3f2f952b875e9440117bd90877ad239a2cb0bfdc" + "sha256": "27c1d2957401e1ac1caf754fea80ae0f1b80330ef1462a1dd7140cee2b6b1abb" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/HL.XORIW.md", - "sha256": "d161ad9d82629273f42c21550d65cb428694ae3bcf35e65b16ca22757ddb375f" + "sha256": "f6c987fbd15a1973c877c1e8bf47d24de256f970a835014b3ccb90784f939ddd" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/LUI.md", - "sha256": "45fea09efbe7e44a419040b8c1736922daa2cabe2dfff00630f8cc0e377e3655" + "sha256": "a9847fc4cf309e945f3aeeceffe5c2ad625c4f4a05bb239be0746dabd286801d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MADD.md", - "sha256": "cf0d84ae10c7730e7f6555a5efe24ac8173d7254b99545680654b59e85480a9c" + "sha256": "c19ba72bd150e4f252a35aef69e0c57ba7fce810bf64b3c7c22f64f20f6ff9ab" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MADDW.md", - "sha256": "4612635a86f5bb41393be645a431518293d2b8102a83f824ec0eb44177d8be83" + "sha256": "94e25c93d9c9579cc9e7cd7d10e6eff1c345202a56542cdc8a887a27f6d8c812" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MAX.md", - "sha256": "ce261e527d40043b7d1ecfb91f2e0ba13ac146c9fc55f09068e26fc12bfb1ee7" + "sha256": "024b907e4ee071670246ae39af85f10b4e553dc8daf7d0b79a233270eac7be4b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MAXU.md", - "sha256": "d46a8d5d81939f95d91469bb21c3fd7ef574a8de83d788b52b751c865e6722d5" + "sha256": "ae5a89556733cc98d3bc525eabe1ac72e8d19119a73cc22be90a2808b3382c1a" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MIN.md", - "sha256": "1cb95843869423b8ba6fa2319307f0d725600771c5bc65b311193c7d5d038030" + "sha256": "2841843f294be5e276b41d106292ad69fb0e6f09a361e319933fe5ac6cd17523" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MINU.md", - "sha256": "3788b183ebaa032aa58858820a472d894e458689a061cf190b9b395053efdd00" + "sha256": "20dc404691106f92875def496762b1214a1fa6b878c28027a08721bf9606a8ad" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MUL.md", - "sha256": "de9c8a0d55c1289436cc29a443e9d2b9f19b2e5cdae32867d2731b0172331369" + "sha256": "db9510ae47d6a166fdf642d7f55efef3ebb58a51f51610f82a628e5dd0185da0" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MULU.md", - "sha256": "2625489a1af8b50a2598a4b32739c3685e61c0d850ac2d8a470cd628d85229a2" + "sha256": "5c98ad900dc09776337a13e42735e5a898ee1ea41c1e20a5566bcdcd36897fed" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MULUW.md", - "sha256": "e29288216a03ea1fe5420a72324ff0cfb8572c956ddc199a93721d0e0283d7e7" + "sha256": "87a580a8823ca90e251ba48db2ca1000fb61ee7f1524450ca71e4142572e48da" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/MULW.md", - "sha256": "0f587e6c1491277f643174bd9643bb9d479bc430cd7092dd5e7505896aae22b4" + "sha256": "98a11d302e5b3d859bdbab4db1d3a677b74f51896f239c4b0e49c3a29fa1ed1a" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/OR.md", - "sha256": "8c5968135783e06705dec0d540a34ae3d31a6b48cfbb8e3505cd64f5025250fc" + "sha256": "637f778836d9d17bde8daaa628c4bcaefc9df63f83a7979638c58cfe514ff53b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ORI.md", - "sha256": "68041cbd7c60e7d7fcd83874dc140d17d6dc9b44e645455292c2b866a17b8449" + "sha256": "ccda57b30139b2e8ea891684519a25aef643beef4f3d3ab2c7798451d12b902d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ORIW.md", - "sha256": "3798c03c3dea1906adaa0e4c8bfcc6d6a17f7bb10905732978a54278fddffa37" + "sha256": "126967301098a0917cfad0e1b54d3af431f64dff23a7cd1140bc75b4569b3310" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/ORW.md", - "sha256": "b7a0f79516f45084b83d06824e4eeaf05a412601f631f8167503e9b7b5630c35" + "sha256": "e6ca99522bdee8733c07b215e527d9700637bb4803daf03e512d06649d070fb4" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/REM.md", - "sha256": "66bbdcd08c651e62c68fab1588fda22a857da0ec81cee7faff3cca536b45f152" + "sha256": "5cc0c0985aa805de83be1f9935896ea63bbfd3cee864e83770ee80f77694bec8" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/REMU.md", - "sha256": "70e39b9721d612167e6f711ea5e8d8b0627b8827fe2ddb2be2f8c7fb7afde08f" + "sha256": "2db70f026cf4345577621ae8dd13a12e37eaf63682abb0ab685c4fc269cd908d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/REMUW.md", - "sha256": "ba46109f9b0f23a4cce38130b64215f054f608e586c86ca624e4886b9a1abe2d" + "sha256": "4eff9610442f5c59c877e552808f9854670ff3d52e9f8ef72fb44c1c1c9e90fe" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/REMW.md", - "sha256": "2a3ef05f2794eebe89459937326c0693a7225d0948865ea6e9b62f01428da71a" + "sha256": "bf622c6c4a28c9c1df5c67e1a214038b149a43a3238b61713a13ab867ec3862d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/REV.md", - "sha256": "2df36d8eded4e43a8d4d1fd02da2cf1d9255be24145c64065ee0c911790a05df" + "sha256": "21eee9d54678547643e6b2a4f56e37dafa5f22ae2115d885462c7c0fc7ec4763" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SLL.md", - "sha256": "6ee1843af4bfc95ce56555636aea9ac756f9a29c30916899455dbbbffb1e6a63" + "sha256": "73cc71a903aad7108d406a84252489ce66ac2487fbf0f18603594f9f1e5ce401" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SLLI.md", - "sha256": "ec9e872526a2748c225649b885e862d42e1d44d8ae751b974f678f6666d66236" + "sha256": "2fae0f2507680e9fb64d91a82f40fd9e942f6da0a75c252598c06521582a828c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SLLIW.md", - "sha256": "72ca684acd91efe2323e491f8ee7cc0adc548b99c3af8c70ed72d86a7155c234" + "sha256": "7cc6c78f7cc6ed3c6c81d304f1228044083f2374881b1832244f049060197f23" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SLLW.md", - "sha256": "f0ff583b55ae9d6ca70ea70d6ef4fcbd09233caa350223952186fdafa1b38215" + "sha256": "a181a9104988037408a378d6e63cc3d1ab02003aa45e8ab23f0208f3ba50b7a9" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRA.md", - "sha256": "3ee932952c8ec10d788a57c78a12d4a350a25bf2e88fef7c12473bed7a22b071" + "sha256": "618bf9ff3d15933525d357f14229f939fc2ca5750d7b635c037fbe08bfc189cd" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRAI.md", - "sha256": "1b9ad60f90a86d3227787ffb7c3619ff25293adbe3f0cf7985fbe135a41bb928" + "sha256": "ab2e676063ade27114128c8bc30b66e0b8c2cd632d16c4d418eeb3f04b1f0ef8" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRAIW.md", - "sha256": "c4174ce8e33638b1ac911dc22243276b819475347b7d7ed0ff0ea7de608d3185" + "sha256": "12f39827c062aa4c945d92643df5d55ad5ff019e460dcd076924da4b35fbd3c1" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRAW.md", - "sha256": "8a9b84a63717accd3af4adc9ccf60a6a1cc5e318b62abdbcfc7e954fb045545b" + "sha256": "54cfe2d18370168f653a95d67c085ea1c1142fb4fef24124fe797e84f805185c" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRL.md", - "sha256": "0f91431083f8d4333dd56044ef47b67a44d228c192778a359cc83e18297e9e27" + "sha256": "faf6b838f7ed7ac00c1cc61bf5457d475b0411b9d30a6c509718bdd3e69babd7" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRLI.md", - "sha256": "8895189f62b086d5b0570ee757800ff8a40df01553f3f0054bc739e95257cd2a" + "sha256": "8f45401c08cd5804bd033c2b215032e8a90e7f089b6aa3c1ffc7fed3c3371c5d" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRLIW.md", - "sha256": "a5b2fe2e7edcb09ba9cc81b2c9841721dcaed35e924ee21b0d101a4ff9990354" + "sha256": "e6a98c13bee7e07dd9017d9bb93340abb480c90fef37fb01743f4afb0e2e0ffe" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SRLW.md", - "sha256": "99c8b2b9b0f514d00b86e29ef51d76ba34e0b5904ce97f2c26992d839bcc9351" + "sha256": "ae8e277045866f77f652c99fd0ada650b2d33bc25916275ef343873d7b4fed4a" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SUB.md", - "sha256": "edc566ce1c9f9b96ad2d15b0f1778cb59535b6472dc13c5e33651dafaf0ae314" + "sha256": "6b84f6c20596d514de5047b56f3060d96faddda2371bb00177f7b8787a788277" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SUBI.md", - "sha256": "631c14c060766feb5a687cabbe0cff075f887ec4325e084461113d8eca92680a" + "sha256": "cd7abc220fc25f45fd48e35f3efc9df3bbfb5ddd97d39ad03332be1e0e16013b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SUBIW.md", - "sha256": "1091c3289220af3020117a7e6c14dce77992831697db78be9883f4c9fc9ddf14" + "sha256": "146a8645c1e37889741de42105e94a0e420fc304fdb26580bb475a70e2b39d4b" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/SUBW.md", - "sha256": "dde17fc1c944805cdccf56ecf13a850c62bba687876e3769190fd3f4f72b40ac" + "sha256": "f085b7073e8baec41985ba9abe16b0e88603b415b0b831b5c6baae391c93f4c2" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/XOR.md", - "sha256": "89971d05b8ffcba2556ba01352ee5c3ded76e148afdd73d86d7d428417c63623" + "sha256": "b2388baae31a2b92487cd35ed41bad6a9bfda0f874f496247f01c75c1869e299" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/XORI.md", - "sha256": "96f665dba057e3370b4d92cc96b55d39aed3b9b3a7362e1dd02fc747bb96349a" + "sha256": "47404476e1dbda90567c20a0858fe0b8ec5ba6c9e2f92745b62d5462ae514011" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/XORIW.md", - "sha256": "d9a2b40da9f5e812bd4b6d17e5ecc2b8ec5e6f1dfb8ec40f9ed02c08a01a6044" + "sha256": "45dd444e6622c316090df86880beefe5bd4dcf66dfe9bd341882d4ebb366538e" }, { "kind": "generated-documentation", "path": "docs/scalar/alu/XORW.md", - "sha256": "253b990a8b1a3345a13b4dee1d9d02d12cc61feb26333c958eb06f86d97b4134" + "sha256": "bd05332150d24550d1783734cd7f49fd16a9781e89e0724d1193662edb5423aa" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/CASB.md", - "sha256": "e10a564e9246820dc5e4ae4c697b84e60034e69552248f176dff1c6311c58bb8" + "sha256": "cf73d90f1f46b83a742392170ef5bf6e491ba20a4174355502e606e381ae8e83" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/CASD.md", - "sha256": "bee1f67090740da074e204061f41d34befbba7ecfb54c977088eb008bc199aea" + "sha256": "d57a25e7d6835aaee8b500fcb6d8868c9cdee3f2aa1571b10d0519b37ee0b5f3" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/CASH.md", - "sha256": "5e5e797456d94c5aa171df43810120bd5a59443343f7709bbf405553a394f8c8" + "sha256": "be1d4b53ab2737cc44fce3f9d0891f6f0fec7adfdfe1ff5d23db7ea57fe771f9" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/CASW.md", - "sha256": "80e6b23fa4953a66750a961efb2d3c09727b45a2aba433c0e01567c59016e5a8" + "sha256": "383a3538fe0df2ee403baeddb9c753e9451abb041b3e03c1ac56463215c7984a" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/DMA.md", - "sha256": "a1e732696279a224fb51b390658ff50c495237ee1d945cf41e23195c1638812b" + "sha256": "d8053612127cdf49dd8fc97d04c43cb622df55fd9d5806b20bc1537a549ff76d" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/HL.CASB.md", - "sha256": "eb106d3db788b3b49b06a170120ec85f04b389f4183420f068928f7a3e60545b" + "sha256": "30f5c668ff92e57a682de1beb35d360ff9d2eba4ca2ad32ddb4a0b8c9178f64e" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/HL.CASD.md", - "sha256": "95831c5841ff647ce9a08e41816b857ad46e0970693b7c91cd5c12c982818574" + "sha256": "c018d857927b1c2143b63e363e147bea041f3f872ae709c357dff854237eaff2" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/HL.CASH.md", - "sha256": "801e71fd97333de2dfdaf18543179c4847ac8eb5ccbe3a8b5eb82aaf61d39c5a" + "sha256": "e943ef6f0556e2973c19a5071905d72113214a389dd40f75f3a15321b4de441a" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/HL.CASW.md", - "sha256": "518c16b8a6ba5d3650c24d13c414909d60b2f35a4d02019379d9d848853fea5a" + "sha256": "ddfdcbc811c784136989e3846c6ff35fd004f8fb798100700cbe2e8337470bef" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.ADD.md", - "sha256": "c3b044c1d7fc6447588b8fceea216e9727628501c98367131656fa4287142f47" + "sha256": "198897553e48725088a4bbc566105c31f26702c9d2e86fdf4ae099d760c2feed" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.AND.md", - "sha256": "cf5aae9021290f11eaa40828371fb0ba54eb77965b276cc4fdc5278867a80d0b" + "sha256": "2217f813bb5b018ae050d5df79f2ff6cf16043e600574bff7a361d4865205068" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.OR.md", - "sha256": "716990157850cb57603c4fa1ab9584ec1db88e65acf60d08d718c0d728393aa4" + "sha256": "3a224878422ab92d285f932f79dabb62adfb44d2e5a61727981995647220b826" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.SMAX.md", - "sha256": "fd9335e10f19e739fdb9372afd12002b92f29b5f28662abaafbe8fbe8088ebdf" + "sha256": "03821008cde30415de75c09ea494cc45f4c57e05d013efcac43c86221a7c1722" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.SMIN.md", - "sha256": "e1926bcc39c4683c4854490c4c5a081d2a2e21850bd4862c2048d87b41e1f304" + "sha256": "af451a52527669848602b9a8ed25eb6a0ab670175820829b151c4a7411a33eba" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.UMAX.md", - "sha256": "ce755b70645e7e0c67c5194a2c73edf43ec5cc8dcb4788c61fdaab8f133cff00" + "sha256": "48d8ec3a33f364bdf4045e40efeb0c30dabad5e0de356392e9638df5332f03ef" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.UMIN.md", - "sha256": "0a2305990ca4e482cafabeaeb24932412d41837a4718ee2338917bc4f8584c09" + "sha256": "52dc6c74bd41c45385cde8d77ffbfe9ba782605e53d4b684eda551db552123f4" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LD.XOR.md", - "sha256": "c9f6e56df5960d45e9ef3f8b117d5334221609168a9fc350added5716b9d8e18" + "sha256": "7c20feb67e9dc26b7fb4060ddce1eb2a105e6cf6f316c3863858e922c881dc9c" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LR.B.md", - "sha256": "d045e87d1c7b49eb7e8131e8302da9535036632a9461ed3dc086fbbc877f7891" + "sha256": "c0c9149a499d5b70f80c42ead44161d12ffb5629ff21e01489d1516de50469ec" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LR.D.md", - "sha256": "1f53fac632989cdd231ed25b672b21c7a9a9dc14de027d7d779d7368fa9dd84d" + "sha256": "0099ad309c244225028c5ca038a6de2f4eca25962d1b3448375bb822ee801524" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LR.H.md", - "sha256": "a647b695c7bc01efd4bd927d5dd7d140e95f33d2d9a0b22f337bc21198d6bbff" + "sha256": "10f0721d96557a2d737c90b4d684b24420e12046c8b9599b53a813b382393adb" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LR.W.md", - "sha256": "c28944e2894d734583ea467d75088f84f36e63db79ac50aa92bb55edbca9c59d" + "sha256": "f0462d3ee48fade670da041cb859d97876b71605462dd2448d4211eeff0d9c10" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.ADD.md", - "sha256": "eb57a102697a77b97c4da53584c8813797c0ef1382f560f87a6da8053a216de6" + "sha256": "a4135876823aec1a2ae373436b35c484e591387ae218147100b5b9300d1c76bb" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.AND.md", - "sha256": "e8d1745a2733718ceeaf5b7317237116bb5f502f56a0eb7b6982016a187e7a23" + "sha256": "acb1e158e574a89ba5217142838992f8d7870ca817754bafc8d99a3fa3501456" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.OR.md", - "sha256": "5b3b3e3ed1977a17e16c1c3aa6ac8c5b67bc28a1e7421ec25d13c1e983df8799" + "sha256": "c1f802c9176044d70a4e049cc7c1f1deb8bfba5d5723062822af52df386ed12d" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.SMAX.md", - "sha256": "0e9c473d8adb841227856bed77194f2c6b73bc416c32999e7f1611a42b6e8640" + "sha256": "0d2eb0f005d7401b5510e058613247e6d91d8c0c66298623a02d866e78e03a13" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.SMIN.md", - "sha256": "13bee065bee41832d12e888de3c4d16de7ff392e51c4070c9a09e4f02b1e471e" + "sha256": "715db2d8aa1f7b56412e7c865db21caae1dbade5aa4cb59f2d00bc7a865c6bd4" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.UMAX.md", - "sha256": "a3b85022077e96c5c880cd879cfb565e40086e5e088e7bf3e31922f541f5fb1c" + "sha256": "950921ce68a56d9172322b5b68302d3eded54a2816611fca1cd60ae2cae72ef1" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.UMIN.md", - "sha256": "d56010ec0f7aeb32cb75b19127fdeb75cc0e707255d0aea3d065a36f0d199a1d" + "sha256": "9dfed8b136bb1aadce27489b837ea9b75ee6ca36603d15d32a22bfebf50d805b" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/LW.XOR.md", - "sha256": "51bae0b3af7d94f1dc54ce96ddf352264fb3221269af600b7c68a8458bbccab3" + "sha256": "3a4668bf721afb071e982ca40a9cc66f25997503f925d1be0f92e345fa20e612" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SC.B.md", - "sha256": "17920e0288d885a6420e5b9c9557e98272c44900c99235f247de72906dc6e0b3" + "sha256": "c58d2f2f6ac801255a67756d79be0e20ab11ba0e1ae45c776613fb82f233491f" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SC.D.md", - "sha256": "ac9514fd5c919676ce384a72ad364393e57eec3656af684db9cad9393df98717" + "sha256": "b6105a5ccf3c365a3c511ea3bbf68f7bce9995bfa3a4b9797d591e2b53530abd" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SC.H.md", - "sha256": "a3ec70d1715056adf07bc4cc15531edd420437df1e5667d8aa285dd3359fbe4f" + "sha256": "ec701a4c9d541b382d2847c56264e58d7f4125bf4bb236653211085e6ef22e18" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SC.W.md", - "sha256": "f16124af0189042581b0323cda5a5e43d4592533f3b8a075d3de26f490b34d7b" + "sha256": "36344be9c0e0a21c091a43a178b33717905c6c6e3cb3d727233fc24e8443e6fd" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.ADD.md", - "sha256": "79331a4ffe8cd49e39b51ca9e34f80b380cd106d51f452ac14be9d73d784b5ea" + "sha256": "4049746d89728e01443bdd5852d02907f0c06d5c84fdd4abc358ae2da2127971" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.AND.md", - "sha256": "61259b92098018b633482756fd139ff775da1d1abcf73941696e92616d9581a9" + "sha256": "02ba6add6c1e40b12b3e2552fb5f2c86b986dfbca0e5b02c36090a6e90f51cd9" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.OR.md", - "sha256": "da3b34e7a01849714e8c48166944dbd00ae9b5974c70b14ac2b55a649ab63182" + "sha256": "cb126fe4b095d271fe21bf9c2d3f171bccb246acb25cb1cd15a641cb48e0aea5" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.SMAX.md", - "sha256": "7b500385fe37d577335d7b0aef2db1cf71b1658b1dd2f69d34bbb849bea2d3e7" + "sha256": "a2304eeac18e0b1ed8bf7e5fbddbbc7eefa1c5ad3e09e538edea35eff225561f" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.SMIN.md", - "sha256": "aa8ccb29425715688087322208d780842e76346905124a0cf192b46d70ff7558" + "sha256": "205d87a6865b3d290204ee1dbc35c529b82ec3809ec495b80def0939600542b5" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.UMAX.md", - "sha256": "91b778690562c2a4a0875613018818249949bc620bf7244069a32f8f541c0ce5" + "sha256": "00373a7276a279029ad1910371068383063b0fe15bfa4bc647d1ef7ee947d7a2" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.UMIN.md", - "sha256": "eaff76863edccef5ebe8e512202d85f8b9ca7946e129b8a54ef7de3c90d31a30" + "sha256": "3484ed86b23be61140d4b349a71b5d5e84eedd7066e44d412c1cc9036c4bd81e" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SD.XOR.md", - "sha256": "a49e03f9762b00f0f53bd093a6acab65addd65548fdb013ed55f7456864ae45e" + "sha256": "1851737d42b77716396797012a3fb12d5484407e8ef3d90f2412197e34fbec98" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.ADD.md", - "sha256": "3ff07862d258140ae1034897d24902b812fe247dac00135aa136c83f6e66c4c4" + "sha256": "edc629cdbf8f7fcc8b03851f8419456b51598d2d53880ac00a6f3ba43c70de8c" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.AND.md", - "sha256": "e0d0b106045f2b9404c5d7b1eef9b8d0a7c7715f96262a9d4399416122bf740e" + "sha256": "8896f2abd4c35e13951f19a1164549d1784efb0daa227bc2b89490ead2716ca3" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.OR.md", - "sha256": "0650d72453251fe95d7024e2369e51d39571dbac5475a1879c1cf0eac2b34c79" + "sha256": "c7c05dcd317f6c8ae5171f0f24a293e512e8aa4df4a8b8debd9d8356a4c02395" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.SMAX.md", - "sha256": "717f1e08b982e59cfe7c91863a270d2b7c8e56c3e4db1cc2aa69c451920e9bbe" + "sha256": "9c2d05b28ac743ed7303691f49a692a3442328aa744375e834bc2106b5f31106" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.SMIN.md", - "sha256": "d9a447c7788698bbb4db4e80cb2c2d57f9b99485afc913eb713d4d3af9abb465" + "sha256": "1264cb12bd30c316300310ea762a8e48f45157608d72761aa1042503059bc673" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.UMAX.md", - "sha256": "953a49ae8e1da4f52f17d79f4894cc29268ea4496fdc4afac1bc61f06f74b9a7" + "sha256": "aa363d2722b46ce6d9074f62914124c25fbff37d3a1ccd97910195efcc27dc64" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.UMIN.md", - "sha256": "a8b08d8bdabdea3576719308b01989310ba31490b5752b55d0c97557c17d6a64" + "sha256": "2e3da863a10e678a7bf4dcf08156fff02276b71bfe300a7306cf8540593a7e8b" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SW.XOR.md", - "sha256": "451aeadc50b5d0483b803d8ecd7af29368fa852a6e930f93ea7cbfb53603f841" + "sha256": "3deba5dcb9cfb410fcb856521c36dab0bc25cf5e91ad6ad367b4e4f01a465ed2" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SWAPB.md", - "sha256": "2e19edb0be632e57b9bc0673e00f9b9c1367a237feb8d4deefd06265bb3b3efb" + "sha256": "b7be5b8881c284d08c971d0e9fc8e344a26585c9a6e3bd35bd753960dd58181c" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SWAPD.md", - "sha256": "81c2b31b94e2e7a0571784647989ce1c996a5c1be29d2f936edab788c94d4d46" + "sha256": "b6abd2e27fd5e58b2a294b39488c7401ca3a73ecf81df63cfe6a21d4d98c4d41" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SWAPH.md", - "sha256": "2634db8d4319a066c75aae7722fa2d1599652474a5fac6587a9b5a5e338199a7" + "sha256": "1d8fbea5a7b70eca43d38669723fbacb57707dc9a0643b249c01c931267cc9a5" }, { "kind": "generated-documentation", "path": "docs/scalar/amo/SWAPW.md", - "sha256": "e4463c937ab9bb2c4e581c294ae780bda431c9499546c9e8c957e224398af1cb" + "sha256": "c50a4cd31b0329bb4f7d2c6db26c61a860c22633515473879b61695df80476e8" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/ADDTPC.md", - "sha256": "6e0d3ccadfcf2e67fb8449b61ed8252c5c28f9ed636beb0ce53b72f3b1bda187" + "sha256": "8da970cdf13c98a832f1f858149173e76e9398cad747eb7d6a6bab6194f29123" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/C.CMP.EQI.md", - "sha256": "40491dec5d61474ce184b5a925ca2e5ca32a9b28a8c51cdb1a2270a784cd5079" + "sha256": "30c565cc058cfd144a6adc7c917c5ce9f096d138a50d0475a02c41872bdb3a9e" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/C.CMP.NEI.md", - "sha256": "40bfd546e0ee5b3d80f4eb487e6d93199879fca7646e9c3c877c867b3887a250" + "sha256": "9663f49cc922148b166384cd47bf73a634bf75d8502811b2461ebfb3aebb2de2" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/C.SETC.EQ.md", - "sha256": "cb43e881d7a4eb6c55190a41dc6e6f8109b4e733adfebd17908eba4042e6422a" + "sha256": "ed5073ed0bd4322e8679231a9e2caee3dfa2bcb6707b353db5ce0e32fd551357" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/C.SETC.NE.md", - "sha256": "ffb59704eae0a67cf878ec87027a9e0d2cd1ed71a9eacc736ba8e88a32b5ca38" + "sha256": "7478b6b35251220d33ca707b99d77462ff05095a07632841c19003475c545ccd" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.AND.md", - "sha256": "670039bf3e9044df4ace266051741451c497f0b6f39879d820d3299d72f8ebcc" + "sha256": "925c4019f40efcb91413b90feab440675d8cd7ecc80c1f6038fe060e3236706b" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.ANDI.md", - "sha256": "3c184ec6afe13647ca9c762c695a18ef1cd234528076e4c9051e0f8ad8e50887" + "sha256": "dcaf1c9c41d7596f1c1a1d8aea6c4158493d4cb49b747d8bf2dea76c60a88a47" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.EQ.md", - "sha256": "7f60be66ff786014eb5152477c143befb645a709223ec3ae35705200cc6648df" + "sha256": "5d29bafd7216dfba987ae238a440d79987875962e32c94245ca06fc1fb7cfda3" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.EQI.md", - "sha256": "c0bea3f19511ad2f90f30bcfe487ffbdb948669e5e2416f5b16e0d37e5d4bf20" + "sha256": "9ae06523acace0c845d7f6310c8b827781cd9cf05f968d365b6a29bc897a9b69" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.GE.md", - "sha256": "4c30a16427c76ad6baf47c3606dacf9f35c129a10d3476251a3806920441c132" + "sha256": "72b428b596c8e02f10fb366e11f1d040286b28842088981bb48c2b9dc8cbfc0a" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.GEI.md", - "sha256": "24e1dfd2cb913c6715d18c5af5dbb4f5578caaa0f04b57d7e8dd6c18e44a2433" + "sha256": "a0b98e00917e33db253b036cab9379d0336839abb9ef51e6f06efcaebc10da89" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.GEU.md", - "sha256": "1277f6e97077b3b2abb2022e2cc123366869125dcd64ec7c8dac79b3bb58829f" + "sha256": "472bc227e992e326f854bc936ee06e54d5d2b3131ea559177df0dfa3f0c228ab" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.GEUI.md", - "sha256": "02dcc75e7ac7140fb16fc3df50f4827ce46b723e5f73b9e2a5e0652c5cb7df11" + "sha256": "159363ffbcd19d466c1499bfc5026a38f008445d348cecc250a877182bc2722c" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.LT.md", - "sha256": "f26cb329ffdc996ae45dce6cd0ef0811e09d536da5f960d019333937976c58ef" + "sha256": "bae74dcbf0bbae5e7399a6a517e8545bc007f23c1c3ffc31bed71de98e193a21" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.LTI.md", - "sha256": "5e251a02c13a5bbea9d58774eb9d1fd68fbdfa3c09edfe8a2149011aad74c84f" + "sha256": "f3dd423fabc86887e940bc791dd5a4715e383b37592b10b76288539db450cba8" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.LTU.md", - "sha256": "eaf165ba0ac4c783770b499fc91d1fef5fcd4a02c12b37c4e3e26d3f9f6e61b2" + "sha256": "336654ba64f407bdfd3a42979a39b5dac56b278dd389cd3ea6f08a08a700eb67" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.LTUI.md", - "sha256": "f942ca97061cc350357204ad692a6eb889fbee66f1c4a9dc36590612fb7cd4f6" + "sha256": "208c9f93cb08563cdf3a17264f63397c754d41abc22f0b44939e9f4751b108cd" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.NE.md", - "sha256": "3ffee01301fc05d896587e45e8d28fd2863ee445914ce74b45b3bd792272d1f4" + "sha256": "03c65247c534c7927edbf69048d0f97ab7db3b892b7b595ad8fa42ad9358a057" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.NEI.md", - "sha256": "ed7aa7714925e0d28764d6e945410afe0a7b36f9dee6a87006595da12e692d7e" + "sha256": "6ecb83f2a5ae8c87134266e03dba8f1f11b89ccb228734acfc3378a13935e30a" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.OR.md", - "sha256": "7d2957885d3a1c1a9e7fd3a2a7ef56391de26b71018c43646b5c3ddcc378199a" + "sha256": "b061c109a1f7aebf4745928c2460b1cb65269b073162b70f6d23f398d9e677c6" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/CMP.ORI.md", - "sha256": "10eea07584e76a22b7fc6a9ec122d1f11045f8d1413c38f939fde79cee78baac" + "sha256": "477ae4fc6c8612ca2a2d3365c885f68ca75090ab75a10de0bac42d8722d3cb5c" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.ADDTPC.md", - "sha256": "d5fded1d32a07e7a0c7efb9b71c60eabc13043ef148e85ef43a2d3a46c07ac98" + "sha256": "e0d4992d6e9c8541193af0af0115d829442ea64c9565a8640c621961b796a169" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.ANDI.md", - "sha256": "b5702043854eebddab2a602ce4008370f085421222c684abdc3876bbd32e4b48" + "sha256": "a3359ab0620afc4f98c35dd113b8cdf5441ea7a3267700aae2d44febc8025912" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.EQI.md", - "sha256": "0b782a4c5299a6c4ed53234d86a6ef2a3816d21217fbc34bb99b67091d7eaa00" + "sha256": "ba47e67ff8b69721dff986bbcf5bcf56885561d03c058ae6888e745b3b23ad88" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.GEI.md", - "sha256": "5f96f5d51e0aca918d7010dc7b2fde81aeb9a077039bbe57fd2e7e7ce140610d" + "sha256": "6c40d31fb765665a6d20ff11a77cc274260892b9361711f995c7529850bb36a1" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.GEUI.md", - "sha256": "110c7118e9ae113f66bd892fe96f6c72137c5f97c8634b76571ac69428bdb4bd" + "sha256": "fd52afe54aee7681243656a2ba2277d6349c160457e9474244cbfe0ad0ba5fc3" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.LTI.md", - "sha256": "d90cfdb6ecab561907a72814e3e930405122a069586ad385eb11071dab6b2d2c" + "sha256": "b60f2edc7ad969b4545fe6d17778a0a7652ce4728780f4e1c384083ba00175bc" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.LTUI.md", - "sha256": "bd47b329c0c4f64eea07d90dd856b32d2b31346fb27f86e1aa7f3a160133b058" + "sha256": "c70c949bd03105c7f6e489684297a55051c56cc24ebb8213ba51d0672ca0944d" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.NEI.md", - "sha256": "c840fde81bad48ea76e054eb93108a63dcbbacec89bf1dd3e2c7c547b5d5596d" + "sha256": "ccfe6a9b81d69ff6d894065aa21f3aade66470f4305d42918e7d7c1e1f0841cf" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.CMP.ORI.md", - "sha256": "58eee32c4abb7341a6c03c0267d32e57a5f467caf93a8d7c7aa87f8d4e5fe167" + "sha256": "9bf9cd8c0c82e208e6b02e11ea7449a766aa2f5eacc473e45c4c4cc7a22e4086" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.ANDI.md", - "sha256": "be929dd7ac7bd1d6a0a71517577e921ef8186e83c2d7acb219ba109195f2a8ab" + "sha256": "3e552d3218f2bf0f95f02c44aafe488a4e70aae6354b9c28d349bd824a6987a4" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.EQI.md", - "sha256": "7be05cd80d09a6f8cfaebad8f8041546ed3a9416a028b4b782609d5e6d877ce4" + "sha256": "0618e90bfad93563b8e6e1c2c607fd6d05536ce7822695b8f7e715e50e622fe9" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.GEI.md", - "sha256": "ae81cc729246532fa4e0a3bcbea04066b992bc9ee7e903905ffb56d20b3075db" + "sha256": "520c7181f451bab69cdf596f98bd67d772d02d55f367788f8c629cc2e66363e8" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.GEUI.md", - "sha256": "c03ec72448a364834b09e3a9a5a041250b6b936fe1b96a7540ac2470218b6c46" + "sha256": "aea788f50a35f768f6d0bcc667504344e0efdcc1a59cd8cb8e4e42106ec8d248" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.LTI.md", - "sha256": "92a35be700c6c07bc213e8cf3cf9de4356188f2f826c63309e5ec502c1f2f91b" + "sha256": "6fcc89fee8355b7b8d536a9e82d40ae0635c58e59ae2a740dd70234341f39361" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.LTUI.md", - "sha256": "9bd66cfa52567d3ae187651208d859c018c450352dc1b9d52299faba813d223b" + "sha256": "b7123740b42bdedd5a83c94b41cdd3fac9adc9c5f56fb6f77727c26ea3a8a137" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.NEI.md", - "sha256": "767e2ebe90f3febde5f1415f7b49d0f0a54492093e220a2abc8e48529facb4a1" + "sha256": "880172795144623e13e637174aa8114a1b45b4a5ebe7477ffc95ec354b0ea3a0" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETC.ORI.md", - "sha256": "5acad986ddba301a23a86b0e68c75b2d35b53e0d640d739dccb37cf751709e79" + "sha256": "892e3c3072d8891c39f7f774e38c59c598fbe6132b2fedae3348d290410985a3" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/HL.SETRET.md", - "sha256": "071b45e3d5158c0b9924d514adbcab8b169ed0c7db4cde040cdeb930f470cce6" + "sha256": "d8547bce05590705d1f30d784201ade6b59bd397d9a165335f3c2d46c6a48c31" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/J.md", - "sha256": "583502eaf54578137b74c023dcf088b8a47dca382d8531be11db8742eae46107" + "sha256": "f466f6a7a4a1c1a908ba87da0214fbc12db57fab6b8d68b07a222bbe4458dde0" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/JR.md", - "sha256": "82690cb05d5dcb437b2164a527bf4263bc26b74a5b4d7d2f6964aea27a7e1f99" + "sha256": "1108ad3828889cf8e19882d351f6ab1461c60634916c266ea35ba47f1f2ff9b4" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.AND.md", - "sha256": "b3adc91ce2642f64919b56c80cf3291b0b20dd2b81d4907c99497e0bec208cde" + "sha256": "1381e3e90f4472f34c676832486e85d8d1e63c6d8350c083d13964f0057a3470" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.ANDI.md", - "sha256": "e0ee2041636dd76dcb2ff4a55a775d085e2854dee90d556c1901564215acd2dc" + "sha256": "0e6d4c4e9915bc03fd02969d2e264d728ef7a67d1d5d7a3163f01f04e7bd3bb3" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.EQ.md", - "sha256": "bad655e6662f1ec30ca84aabc92b1299feed6b7d7e004e3924fb979875ef61d9" + "sha256": "76e724ffeb279721b57fd496548db72f7a7f4f40d713d090166d51aaaf3e048f" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.EQI.md", - "sha256": "72575cd9cfda77f74e8f74b06251732336b979e2a18799cf73ac51884c7b033e" + "sha256": "a548a97ccae609bde2e628a89f501aca5061628713523041ef04dce788d7c876" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.GE.md", - "sha256": "1daf6f8c8d0584d6b0adfc3d5f14ec7ebeb8a20856f3147198aaf1651c7fdb42" + "sha256": "28ee7825ab907230b6e56881d086be66397116845eba634f2e97f63c5345a8d2" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.GEI.md", - "sha256": "b084ad3454bea8cad98c615718a41ee7f2a608feee174173b9f39eed08602a56" + "sha256": "0c9fe121527abbc0be16c24e20a12e843794cc8f411229e466329707fa5acd08" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.GEU.md", - "sha256": "8df7be3c467564fe564347852d7376b879869e966c8053832b00812dbaad8359" + "sha256": "6b892d4d4b3f97de544ba92283d79dc45899e53f62b1564bd72fb10f5ad9ee47" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.GEUI.md", - "sha256": "5bde60df972ab6ff25ebcc5bc876b5672e1ae3fd078cca82dd932c4669cce887" + "sha256": "8c7e061f2b07300f5618620c520838405ca7367dc5c612f449cb879f1ac891a5" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.LT.md", - "sha256": "b858b0e47567a1efad28d32a0d7a19bc9b2c30843d1c3e07dfcc1b1514e646e6" + "sha256": "57a5bdb0ac69e5b977b82e6a1343e90bc6e2a0051df541a7454eb87ad9317734" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.LTI.md", - "sha256": "1169e36585a6f9f85b7f5e249f646aa34175feb4712c86e9138404350a0cdf3a" + "sha256": "c0bc758440af75f170d264cdf0bac00c0b3a535c9eceee7190ac1b9ce6ea6e77" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.LTU.md", - "sha256": "5b784f77a6aa27c0da49061ddda9f807a78fee235b6b5d71cdce41355f894d40" + "sha256": "78bc304f2ee1992507d7e331e92d47af0f7216e766d9508f0dd13129220a84d0" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.LTUI.md", - "sha256": "6c15c13d5f05acce466d33ed94f412de2392f8dfe8ae67c7973e3769490292b3" + "sha256": "b1463f52061f63062a60ac3bd54d01f917bcde4405365fed33824d4c2eec7382" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.NE.md", - "sha256": "ae25b2eb54b163b8adbf6e3b2d21d6b5449a6e28811b3e593b5934a07d0bb1d5" + "sha256": "84494140b6c95586cf745ff1420b94772b6c05f9b5afef5547eea291ac2e11d3" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.NEI.md", - "sha256": "329c0a3915687bd3082344c2e3487d7fdf1b8f342141bbec0b9b8deb46cbbb1a" + "sha256": "34fa3917baf6f5bff72a0556f9cdb3e198f7dd878d7bd15b9d718e89d2805907" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.OR.md", - "sha256": "597ae3df09d879e45f770a837972bbc7faefa5035167186913d6326b20df6511" + "sha256": "e5ec18115420f56188781a2ea7600a4725d22500e012988ab0e1bc382d9e6d65" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETC.ORI.md", - "sha256": "e49e1e5fb164411b07f543e16b959f216f713db7b47acf7cc8cc5369476e8690" + "sha256": "02936f853a3a831bc1449ebb9adba333a6e814feda7206cee947feb59600d3b6" }, { "kind": "generated-documentation", "path": "docs/scalar/bru/SETRET.md", - "sha256": "0c43a605ef4d7fb5963ccd33d0279131266f9a0e5b61f4cf93194c0e5de627b1" + "sha256": "3890d000d8cb20c6b33d3db9d12a1e248edd90c00e0bb99f27cb16f50c927ad7" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FABS.md", - "sha256": "fd8d8e389aaeac02f68ec7d54b547d714004b29c5fc2d3e99a1c9321648f5d42" + "sha256": "a4a65bbf8f9bb1b1f454e79ff0c21c3ceade1f50e6abd39b5a63bae3f6012f06" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FADD.md", - "sha256": "d59093dd3eef5083bcffb500a87186c2d7749d8dbbe9ac22aa6ac434e194cc38" + "sha256": "323233ec28d3a804b7cb86975c88ffc1d72349f06b20e13bddeacbbcc18c0f04" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVT.md", - "sha256": "93cce22d461bd1cf79aee0f87489da5403a0fcd2f9bb105ac854177b02e49719" + "sha256": "10c8168818b7135c9d39af7781ca9ddcff7f61c581dcc45d3270db89a2ec3f94" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVTA.md", - "sha256": "c3b03cc65d91126d2bedc70ad502d46ec9f9c0c988618a6eeafd1a5fc895aa56" + "sha256": "d62c9b0ced8f354d58d2661093728f1a5e3cfad15c3dcbef8a4b732006978c22" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVTM.md", - "sha256": "0ae677e10643a950efa7b8010f624731097ea47aeda2397d41865b55821ef619" + "sha256": "6f1cc2a76370f31aa39d8e956f5604d24a593167e98c2d3d377aab6eeba069d6" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVTN.md", - "sha256": "4206573333149d50d32ad86074c8a6a6826c09fa80f909c9f056b986087e5adb" + "sha256": "4b6adb2b78b68a5d13be4c5a5809dd6b300a5bd6e12b4015062934a85e471aba" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVTP.md", - "sha256": "c275ed0320ee163cb61166f63ea6d30d252b3376ad05e22602a8eea76c49e171" + "sha256": "f89b275af3ec0f473b829cd34e84d801bfaf08b1d41241ae1598afa2cc3bd2a9" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FCVTZ.md", - "sha256": "7f4b0d3329cee537028c5737c66e3244cc752c2ef908419bc4cd33ef26b04d72" + "sha256": "1d27254a5845a9ca4e202e4f50155bbc5e844987dcf41ba17dc1e78d87d9fa8c" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FDIV.md", - "sha256": "509702dcc53e4b1a3c3b4505a6e5e005711be6ebdaaa6a650fc3c1bba0151fd9" + "sha256": "b8baf8f4034c72aa86162df4cdafb737654afe6f1ddff1297e0c64d684af55cf" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FEQ.md", - "sha256": "9428e686232ead19397d3e94728f76886d19435d0cc9aad4dcfbb02270cd7619" + "sha256": "dc81b6326a8f1142aa4ed59ae16184740f408184138aca460b522d9275d98225" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FEQS.md", - "sha256": "5e4d0a57ef575564bdbc38a1d99d91b694ac493989a8aeae97514bd06a372e8a" + "sha256": "3e463dd643d47ad53add901a2a5cbcbfa49645f0e8f31cedd5317c4e4b150919" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FEXP.md", - "sha256": "430e1b5cef8155b5e2c5ca31d346bb430d97c42a64ced70742861ca29ae36a15" + "sha256": "5cdc80473bc10bd0d367a3a592f463208bf4e45072b1cfd0fd6173b9e8d8ed49" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FGE.md", - "sha256": "ac3ddca2f4808f82c05aec1b1a70f4a80209e41dd76cfb7e91618ad2d1fd52ea" + "sha256": "966f165b164d66d04b27f961758fcd9d6a2ab958915d804873f1faf13002a2a6" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FGES.md", - "sha256": "e78d803161d0ff74840cc9ae4a89f6e6629b77371a98f345382cbbac1a69a947" + "sha256": "622047900c4e2c6a7f0f5d28c9543457e5af3619428765f3dbe26fcbc2f75ce3" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FLT.md", - "sha256": "fe69a4ea4f918ca372d79d8a8927917269b8794f1449276c4ef21cf689e8dd71" + "sha256": "e35ad90b1fefd43d195a06efb6eb88392d6b587cd16010a44f534f389af6d427" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FLTS.md", - "sha256": "fa2fb3158c2310c11272ed8b8b284b6315f807c0429d8c131555c1c153784ad3" + "sha256": "c5ff86699c690bb3ae6b6ceb6a041be1974fbac6a33b2e48285cecd61643bca1" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FMADD.md", - "sha256": "c3294b711bf0cdceb462a3f91b4a26993ee1a00bb46a2108bedc4ed7a3564c66" + "sha256": "093b0901caa956bcdb9a4eb7c7c6967bf531c88558a91a52a7b000fcdf44efcf" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FMAX.md", - "sha256": "f21f1c194ac9f893d9bafee84f336e0dba834923c68cf4d92e990b1eafc5c36c" + "sha256": "1682aed8ce39750a6fe2fc1f8ffb5610bba3f140a52a94a3235511958287bdcb" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FMIN.md", - "sha256": "a9be9b35c012fb5e67051d6b17438b5b4ad745961d1b09f12af7a9197540801f" + "sha256": "02fb815d6469f391899113e590de3cbf15f0f3e828bcc0d3a2707e4100ac706b" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FMSUB.md", - "sha256": "42411cff091ea9c730db1d69901e09fdd99b2fb35547aad8e0ccbd49c5de43d0" + "sha256": "b856cb9135454da286861d994f403274281e2612a2ca735988a0934b8a0ee915" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FMUL.md", - "sha256": "15203c2305b0d9b50a21b4a273d8fbf3c82228b259ddf712082ffb4f9033af4e" + "sha256": "f6d64947046f5330aba9119993ff005b4390dbcfafdc881b1dd393d4eb28f8ba" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FNE.md", - "sha256": "33244a44ef269682fbf33d1056317639be9a5d7a3e0c7fd60f7fa39b3024f4c4" + "sha256": "a7641621fa3cbe7abb4bb96d971b372f0b1dcb68c597c7bc7af80bec7f6d9340" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FNES.md", - "sha256": "6fea6c2928d630061627acd336975476eb2e4fbbf031ac625b6f90e3f2c5af94" + "sha256": "3245ede1e0acfcf227825a4a34d7020262cfa21a4beaaced8cfed6ad18d4b53c" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FNMADD.md", - "sha256": "48f8e708c7131a77d5ebc558e0d1603c4e20a01bc08fb61190e4e4a7cdf18a10" + "sha256": "631c013cbc9bb3c240e0b28c52feb24906b6864bc23af1f4c0a2a5b34357d6c8" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FNMSUB.md", - "sha256": "0fe4d8f51fb81291715c32b40f2fed5dc286126088b387c20de1dca52223440e" + "sha256": "6a6274e137c509c479ebb60caac65efaae0b33af4ef55f66c29e6712846a86e8" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FRECIP.md", - "sha256": "bc199c8de606d99d46e998084207d7441c47e53d85378ff809505a9341f56313" + "sha256": "d5145483a8cab0304afc3205c89d0506e81035f47a35c060129b2feb33030298" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FSQRT.md", - "sha256": "6805c0b5d3a862811c99613f53c4e16aa951259f58ffdbed2751ce854c4e0758" + "sha256": "226728a8ca59c12ee9a65d21d7f6bcedf0a6041af85976e9d34501dd377d20c1" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/FSUB.md", - "sha256": "b3744b456ccb0d436cd05e233d4b2c68e3b2cc53e4e2fed50f4f8ce9322450b3" + "sha256": "c35d70f2dd55963f91a1813d556e1b670fa4b6e5d819ba28455b280c2aab547f" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/SCVTF.md", - "sha256": "6d1b55119050bc5ea646ead2d163f5dc6244b13d85de9474297d2d162bd1a9c0" + "sha256": "29433236c53c2db36b89061bdee6f140d3f6ee6f1889f5351bc18a93dd4ed71b" }, { "kind": "generated-documentation", "path": "docs/scalar/fsu/UCVTF.md", - "sha256": "f41292b868820939373206e04f52f0b4f4b47373aad98f4ef051ab84afda01fd" + "sha256": "60cc1f3e58dff2ba9e12b5afaf5cdde2bdefbb9ac73252e56fd713ef8096f518" }, { "kind": "generated-documentation", "path": "docs/scalar/model/agu/addressing.md", - "sha256": "d268b1d0036ad9417bb0b686df7cf734df0d28ac3d096fd7279712c59485e0db" + "sha256": "915e21e8abe9381fc7950bb8b0e521f86bf1e5837665e03507aa1f0f665f25cb" }, { "kind": "generated-documentation", "path": "docs/scalar/model/agu/memory.md", - "sha256": "6d0b1007bc5553ae08215cc88a0f4a000ebf7983eadfbd1bf1be019019c2f98b" + "sha256": "44a37dc9991570c0cf68c951707f5f89be6f0d779227f010673ee63a741e12e4" }, { "kind": "generated-documentation", "path": "docs/scalar/model/alu/semantics.md", - "sha256": "600fa562a4c073f8f8fc54aab053f67242296bedc1b64d1502eff53e42f3aa0e" + "sha256": "8cb1eabc757c3ff2d1572a665fcafb85e06dd08136f2156f04959cb9140c8a2f" }, { "kind": "generated-documentation", "path": "docs/scalar/model/amo/semantics.md", - "sha256": "2a053fba2b6bc2eeac1befc227c49c93401efb17ce154b41616fb370e3135651" + "sha256": "1e473eaa586a81db6c3626db95b09c2252e3ff075e50053a7cb9b79204bb5eec" }, { "kind": "generated-documentation", "path": "docs/scalar/model/bru/semantics.md", - "sha256": "82f9a5a6a66fa2583fd5d6a1a272bc2abacacf0506e21b9504d16881a5afedf2" + "sha256": "b914238beabfd0e0b9090ca7027dc73993ce1c8246504dfb66ea2e8d525a1deb" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/agu.md", - "sha256": "0c484e478bbd4bdf4b5720460254e03ccb5cea2395fe1ff98085dfec8b66c8d3" + "sha256": "ca098346e92b02ccb6e0feb5e51bdc9983f38cb6ebf23771326247e7b7f17a5d" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/alu.md", - "sha256": "16fa67451197792d6275d77ebdb01b09954d81ec8b585b3cd38e4a2b342dba4e" + "sha256": "657ec080cd7b1af7c86989e8280f0cef5abd9b121493286fd83e9b71b7904f19" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/amo.md", - "sha256": "544d9cd58017738aa346a4557c13cee158d8fcd2c96b07eaceb762f35c958ef8" + "sha256": "2b4894acc4e69dd07784b99634d76d68ffe7da2542f9d92dd56511038726ac71" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/bru.md", - "sha256": "d459fa63e14ff3cf03b3b3d8a848162996a285e5a3191924ca976e9f2103466d" + "sha256": "88ba74d99c48603f9fb46f428a06563ffe300375d0e954a2bed9a3e05014f5ac" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/decode.md", - "sha256": "2a78535e809851717cb5e9c20c3067825baaf5287a353d9408672fc3ceb63475" + "sha256": "8a4f6a78164b98314da8106c4d62a9b98efeecf96369cb0f935845d18e7eb393" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/fsu.md", - "sha256": "059e606c33ccd0ad46ff7eee765e9efa33b5c435b9b9eb073b3fcd86769d4e65" + "sha256": "e4854b2ae8f119807dadd47030e7afcd76f47cf9a9c23bb99bd1a829f4542210" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/sys.md", - "sha256": "cbf28e2b4165695bcff772516644ea3113e25807dfe3a372d316529793cef39d" + "sha256": "b76b031973de5b74eb269dd4029f8e629c981157bcc50a2a33677314e7638855" }, { "kind": "generated-documentation", "path": "docs/scalar/model/dispatch/top-level.md", - "sha256": "a836c0c3325bb0190ee680f0f1ec19c79b532994c11fa512ed0c02cf72ee3635" + "sha256": "9be262691bd016333490c3b0a40b389c15dab5b2a32c37a43d412c4b416c51e9" }, { "kind": "generated-documentation", "path": "docs/scalar/model/fsu/arithmetic.md", - "sha256": "743fdd2546ae42bf8df0ea277e20faf0312e519189bbbbf95559be92871059ec" + "sha256": "7aee6ac0aec244908f0ca188919a45b805a784051057b1a6df34a970cea48b7f" }, { "kind": "generated-documentation", "path": "docs/scalar/model/fsu/reference-quantization.md", - "sha256": "87561e7252a3524bf5bbc59f560ac91c6e2abc92482e9d6e825f5ce3c1abb2e0" + "sha256": "d4ebf40e83e085c4a9a1a8c2ee179dcb9978dfd9838ef3d3bf450117684cb2f9" }, { "kind": "generated-documentation", "path": "docs/scalar/model/fsu/reference-scalar-fp-specials.md", - "sha256": "867e0125622d804007a11416e5728f4961cb12f04d4fa5fc0e98b20ef7bc6879" + "sha256": "a42a296cd5ac1cefc93c605541e369879a18ed049c57674e52c4f88a0658cf87" }, { "kind": "generated-documentation", "path": "docs/scalar/model/fsu/scalar-fp.md", - "sha256": "98ed9198bd1682b9f6d3c8c8fbd31dab83174dad90097af16130bbb259549328" + "sha256": "232d43e10c7dddacfbb8ccb0ced9a8a44c4425c5354fa4ba72825a02a4fbaa3f" }, { "kind": "generated-documentation", "path": "docs/scalar/model/sys/registers.md", - "sha256": "0136bd7cd5ee90a68f4952d70fe296d76c1f89ecbb719abbe20a150a75105ea9" + "sha256": "0b2fc21042f743fb2785278a71d7bb1fcbdec499e6fbf73ebcea21a72cb6abc0" }, { "kind": "generated-documentation", "path": "docs/scalar/model/sys/semantics.md", - "sha256": "ac00f9711071536ac27b119fa11b6c75cf216f12788459018d2e099c800f6ea7" + "sha256": "e5fbed91421805a631f0ed2995fdaa9b3f7409f26a9e178f5c39322eec41bb40" }, { "kind": "generated-documentation", "path": "docs/scalar/model/types/operands.md", - "sha256": "57bb2b0fd62e69416ccfc4c8a33c870afeaec3283e8dfa3bb86b2dea96645bac" + "sha256": "dbe5436afc2eecd8c5045770c3b4c9df49a27aae7c1473ab274299e086592fef" }, { "kind": "generated-documentation", "path": "docs/scalar/model/types/operations.md", - "sha256": "618a0221d148a85e6f5315042d54d426febec84ef2d904a49acbecbdd5c66428" + "sha256": "0532e2848bac05c75f6a8050887d050e2dcd2dacfc9d8c7cb88e6dab17230f45" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/ACRC.md", - "sha256": "78d6eae632227fdc16638360bb066d7f5b585b027ada1f2205bd7031975248f7" + "sha256": "3794685e3565e0d4b7aafffa194af6d6f5f224399bcd339065f00f9d3432d3c4" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/ACRE.md", - "sha256": "a9b87b44ddc4e5869b62df710dbecb7bc6529a1a39f65b9355f4af83037f9476" + "sha256": "d51feef8e4814f1db35c87b3d19e8d4a6319507c46e5dd8e6cbc5e87d63ee9a3" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/ASSERT.md", - "sha256": "d25fc4e16161aca763252e388306f5fe6f3c0bad1337782ea299c5cd3bb60e5b" + "sha256": "e7213148192fd7e7889403440f970f0f26eb1a126c3b19328f2f4daeb1776e57" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BC.IALL.md", - "sha256": "baf2aa645cdfac67863a7fcc9a088727f7fa6e1c95a68208a27b172f0b6c0789" + "sha256": "2acc38e3294cc63b0a9c5b63fddde6c51bd2dc54839d799d4d1ca002481dbe3f" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BC.IVA.md", - "sha256": "782d2ec6e30f392565540b2060e011b258a08515b362ebff5aac436db25a67d4" + "sha256": "e0f0b7b4eac1970cf6a08d0247ebe1ea1eb7c21a083affdb249ea2b5cab9c1c6" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BSE.md", - "sha256": "e8e3ce3107f368e217c56fa48c789b864b122173873a7a39dcef5b643767087b" + "sha256": "d18d2343d32937646ef077b1de93e5e7b4e30cb7c7d8e4f240035604e9b128d2" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BWE.md", - "sha256": "ecb734a3e0011e56101a865dc5e4a5e02c84624dcd49514705778843a2ee4079" + "sha256": "82242c8c71b01e8e968c6b2fe538e8bc7eaa942fcbeec873f9aea5950e670b8b" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BWI.md", - "sha256": "9dabfb2a757c69da38673b69c1ffe4567b9a7cc08c977d0f73ac649119b8608e" + "sha256": "d19dedc050d8e14b8926cd6f49f65b72342f76aa5e1c572017d41b40ca2fa6da" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/BWT.md", - "sha256": "d3a4e59414bdc77c8e9f9ed2eb5d14721a9bc1b9f425c3989a88b8edba4d7e1f" + "sha256": "08551b26db5774f740b8feeba133f6bd14e139ccb8c71f574e8d32f4ec973ac1" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/C.EBREAK.md", - "sha256": "65d1fdd98fe7dcf38cba18f5e27ae972c6b3ffca667f7de2bc0d17eee8ed7f94" + "sha256": "eda3bd0329383af584bb129db4d0f67b0bf5819891216d2e27cd63f6fd7ee05c" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/C.SSRGET.md", - "sha256": "72cce26955100653d39819b8d8953bb095c85b1ba4b49eb7936ebb0f48bb1b55" + "sha256": "11dc89fdf7dbbe39a91735040c1cd12c15454fff728b3e460b1491dbac0e25eb" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.CISW.md", - "sha256": "3b15e0e1671823bbf3d1f7b002f4395641c175972afc68bf41d236ca7306d801" + "sha256": "cab832aa02f77fc58b1d869d1fcce3a947665abfc7ea403eaeba0fc23e2da2a2" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.CIVA.md", - "sha256": "c41ae6e3f0565db70b41ccd1540afcd2d266e9bd222327533d86b83bdf622d03" + "sha256": "767b541bf01006836b7a492f11f4a2dd46d7aa4cdf83488a13aba684c30baaaa" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.CSW.md", - "sha256": "32b8500db52f1815bde05ca5b05671a8292d275b50ca0dd12d75ecc34a098632" + "sha256": "0476ab5e2cb32ae549d9caa620e04673ea28f4f6f1969bdba4c7da8fc63e77f4" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.CVA.md", - "sha256": "3cf3881cc9959ac1f7365851333857ad7bb665f50d888dc21a3254f901e217ff" + "sha256": "fe8669b14469d3412747ebd589e22d3a2284c5e943b7bd10a3e25854ee510719" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.IALL.md", - "sha256": "0c3fa789c1f645dbf623acf4fc99c6ab22b426edd3e9eaa089ec7754d31fdbba" + "sha256": "b09e657ba76f1de485f474bace23baa057e6d0dde9d2e415a0bbb938474a8f0e" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.ISW.md", - "sha256": "53c3b6450f5d21ec21ec3b92858601b9b6187c28874e53993cddff484a2a195a" + "sha256": "b79a7eb9125518a9b0001f2110581dc8fbd9314a06097ccfbe843ebe43ec7d87" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.IVA.md", - "sha256": "9f164e351203b6a1c4e0d5e6f48ed378e1753973881eb2ca647fedc39f00183e" + "sha256": "f6290bd56946a98fb8d1b47fe545e205a19bb250602fb797285c7a1c5836d937" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/DC.ZVA.md", - "sha256": "2a11ac852f3ee91cc6be95e0e6a74ec17644674c376c164ec7bb20c7e7057cd6" + "sha256": "540e3506fe3c321ece46100c4922a6f716b67717a2fc0e1af76ec80692248639" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/EBREAK.md", - "sha256": "59d00476bc7df717e80bb77592738076e176b212860269a2f1c45b7a049b7702" + "sha256": "4276316f56e06184abe353aebfa1b5e5da27ed8a177a76a71137b745c4b6c0bc" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/FENCE.D.md", - "sha256": "c5ae568e1c71fa0d358dfa07a78a16108729c79a1e5f0278f79a4862bd10ca50" + "sha256": "abb4699fd7ad7353df33bcfa376a59a11657133ee27a65e801d8e5795b58bc46" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/FENCE.I.md", - "sha256": "db0c250f88b66a9f1625cbf15d6403bfb935a350f1f6c325b92181f746815bbb" + "sha256": "298e146f7cae4c53eb7860cb9ee64c36f93a0a591af5c78730eab15b1c2e5fe7" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/HL.SSRGET.md", - "sha256": "89947bc3037f6432ca4d5241f4f01cb9623ff2ba2e30c87bbe35ee6d2ebb6c94" + "sha256": "56de8d7e9e8dcb5bf324bf88a03015af8314ddbb4c26787b86a45e8db1e88711" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/HL.SSRSET.md", - "sha256": "da941284f4bbf120e0bac44148665a14a0eb97c665b8e3733b6085dff6219c52" + "sha256": "a0b0e0cd776a9ba8fd468f7077ea59075599d00a08db04b31795d96932f96d0e" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/IC.IALL.md", - "sha256": "d542da28230e4f359018384cad6c1f2f8f79e3a993f8adc92239f253da8955f9" + "sha256": "681cab50b8762fe6577d1ec4613a3d7ae399188dd9663b22d0af5e842b822d20" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/IC.IVA.md", - "sha256": "a022825a98226743b93e16606007cba1dd338b856fee39589c35b8b6a7b940c6" + "sha256": "2418dd5ba2b9dd39d6e33a9c42bd0a2db2a0c968c45a81c098358308e7c0afab" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/LSRGET.md", - "sha256": "7cd5e55bd184a261e8a20648cdb8c79ff35416b4b586a65ea1e0f4ea07c55bae" + "sha256": "f8331a497d76cf70b7e8e42e84aee2ab26831020fba8c14088024f1e7aa7aff1" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/SETC.TGT.md", - "sha256": "b26f980ad54e23761fbe41800715daedca907387721701d408c83bff630d882f" + "sha256": "dfc2f9def7bff804442b80f599740f6b089a19467b30f37d739a1522f51ef568" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/SSRGET.md", - "sha256": "5ffbd95f175df2b8c2ad66e9b486cfd1caa84bf7263f93e591b9e82808d8f779" + "sha256": "0f3ca4edeaf793152745b2ba15c69b6c07b74de76b3071013dea924bbfbab2eb" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/SSRSET.md", - "sha256": "15ee45df964cb44491acdf595460bc46e5cdd6a072be26e75b5d1f61ba0ec1f3" + "sha256": "74a8662b6bd8a3750de3c3b3e211506899c0804396fded13398c85eb337374f9" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/SSRSWAP.md", - "sha256": "c7502826d6d132ad69f37849155f9394949d5bc53f898be43b457b9e5b945753" + "sha256": "016ec5523c2075d748c6b9b26f4738d189c145695d9de5535f52970f26603ba7" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/TLB.IA.md", - "sha256": "446c258c8767c445f3e637663cd0619fe01e4a5a0a809cf991459eeeba0ddb6e" + "sha256": "59a24e7854d210115ade049c0f17ffe6726fa2ac074f9736a847467828cfa3fe" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/TLB.IALL.md", - "sha256": "4370748498e7ce8594a0a5d08ab1aec3cf2517e2677fae7e3777e699f8a398a1" + "sha256": "96111926964f5936fc5525f4ddf993927cbd86c5d5e319d3a7b0ee9d77208912" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/TLB.IAV.md", - "sha256": "9d12027c4baba489ca93b732f3aeb54cc990115065eabead38507ba9fb1ce01b" + "sha256": "58d6d197ca8e081767cac9686f0f71fd12b962f98f099171243c462615f4a5c8" }, { "kind": "generated-documentation", "path": "docs/scalar/sys/TLB.IV.md", - "sha256": "aed2044e4b1f136e5d35fa956e6a558b34e405fb7e102fe33d7169bd1b44a0d9" + "sha256": "683d52d70530acf8fa7a0f6991926a534651702ea0f7f4ada5c5f334e09b25c2" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TADD.md", - "sha256": "7595b05f38346c701c4955efaf63379c44b8947a9c2dfc8a596a485f2e453553" + "sha256": "2e181273507aeb0c3fb13b24319679637cbad9cde3419c3943d8fb813e1531b5" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TFMA.md", - "sha256": "d26283aac135ce1596b8b51632b66efe1784b703fb8baf1d3c30aa95d97ae786" + "sha256": "b8731eb559fe2d69ea3e360c95cc0855fdde68a8f97c095a1b072c37170a1d2c" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TMAX.md", - "sha256": "e04c1d9b24e4c000a75777f2c215608b29ea9fc69f79e603645c839a00d502ee" + "sha256": "21440b7b8878ec349a288d44db9d1e319c17d75fa5ad160d44dbc165bde042e8" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TMIN.md", - "sha256": "2a146ae443ce319f015b2fea426f3f5699ce3c37ba4beae6b35a1d93e5331e2b" + "sha256": "dfbd44d71acdf07b1613bea05c9928ff5eb73f1153a24f48f240d0ecddab10c4" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TMUL.md", - "sha256": "5d8d14432b753e867eaba92b9f9485cddf2a4da2e5a9daa7f711fa54cbf80dd0" + "sha256": "208b99df7eb753c9417339279d381409e9aff268503762a44742afa59314d7b1" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/arithmetic/TSUB.md", - "sha256": "5a45c57c4164712ed48f264c1b95be93db0ada0250495f56488cd7c51d03963b" + "sha256": "3a69e48f8e8fe27756dfd0d9ff9ff1db1207266a769eda8cf35595162beb24cb" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/format-conversion/TCVT.md", - "sha256": "bed2832e23821121d0b817f25fc07410e9b8be4edd5ab31fa8fa5e2446e07a89" + "sha256": "c2d8a152247628771adc66032ceb098e35e86fb25e923298769b46ecc57344a9" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TABS.md", - "sha256": "f2c560a1ec14e5f826f31a7209f79172b3321fe4d663d8c318501ec8f798f872" + "sha256": "e5a6df4b4eb031681c95ea6b435e34f1f4a31aaa5d4b949af083ef85ed7a8895" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TAND.md", - "sha256": "78ec52a8f18baae34f39c1e5b3644d2484c5c9bdb06c05d938c7a71c26a139f5" + "sha256": "68083fbb96ac7f20e00dd31d6811527cff97763d94e17874b7d876f8b003234b" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TCMP.md", - "sha256": "c3da2452fba6b7994bf59cf5ffec04503eae118245bc73e8c930eae9b3de70bb" + "sha256": "4ce3e3e16ad1d4d3a2518d1824954e59c61b5830a16d682302e803c95fe137f2" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TNEG.md", - "sha256": "1a547a6e48480dde547011d5a09165676bee04786ad92aa49bc2b310dc9e22e8" + "sha256": "3ec99d85aabcd9ad30eea2de8b7b47a5ab38daf52af8a78e9079005fb737b5c1" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TNOT.md", - "sha256": "9f26e225ca502f05b491f9d6bb495e60e1fe7e86ac0a8cf4f130a1a2b14ed45f" + "sha256": "6fd2b1b355772d61ca2fa0d5a1dced245f31b5dbabe9c680c9b9146d112bae6d" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TOR.md", - "sha256": "c6dbb4764385d08c3ac76849f97141c758a618b523fb7adbcc43e7009ea17b1d" + "sha256": "da77bfc20713092557c9ec989f1869753c392e3bb283a5ca386ce2a76c58dc6f" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TRELU.md", - "sha256": "427461887e42011d7c77439074fcd1e0dcbd0c2289846d9d488a1dc8208f8b21" + "sha256": "047eff7dbe5fa1a7524b03792614cde8013f9e3f652647b12addc82f03b15051" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TSEL.md", - "sha256": "d649e22f8b36edb1873866ab181113070eab594ae198140948c845de6f5c32d7" + "sha256": "94a20ebb67dcc8b0cb40348aba99e95e28ef3df6e3ee23539a19e02615e18097" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TSHL.md", - "sha256": "e977fdb90385bf3ea7b3fee648411882343f14c0833440cdeb72a5fdaeeb0483" + "sha256": "d08ffa43819f5ab8e61e487e57d1c0bc55eb970454da50adab61973476b1fde9" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TSHR.md", - "sha256": "ee3c6c3756304ab7f36909a9614ee67227120fa5ab5ec12a78ee3b7a2eaebf30" + "sha256": "3251af63179d8444c1fe7c77cdf41d2a4cd2ae8d43caccf258bead7b3927e6eb" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/logical/TXOR.md", - "sha256": "5332578bf58f4c27faaf06a14393656bd24433c0f376ec16113f4f630ac838dc" + "sha256": "62cf3453064f4628bd7c23218e8b2ec591958cf5fe8ba84ab26b8c96bd4f7c47" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TDIV.md", - "sha256": "964e7f49485b3024f7dd023ec7e2a64e098ac832cd0ad18e6e056acf1f901c7e" + "sha256": "380e7d1b33edd1fd6c14ea0eabfed6d2be7c22f276b8abed5426a8d4018bb2bc" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TEXP.md", - "sha256": "ca01d331208c644ebd59b4f66b6790790f3c5f7f5add494fb4356e0f1584d784" + "sha256": "cdfe92ee5be6fcfeec04003e5e9ccd2702be47f872bd3e1a2b586e8f6fb58c51" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TEXPDIF.md", - "sha256": "1a82cda3a59c71f06435f49bbdc9effc70e725ca98bf016252bc047d18742e7c" + "sha256": "d73401471e45188398137ae97eea9caeace23db05d7404099a19b6367bd75c09" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TLOG.md", - "sha256": "ada9c7d9ef2888f424ff56bc1c38707ef3634207ba2f15194ffe938db36c404e" + "sha256": "95a271a267dea6c742292e9a64f213e167cd0fb34a69535214642c712ebaa965" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TRECIP.md", - "sha256": "98c6d4e74a12c10543c75b03e03767b276e7ac72ac3a86db0da2d4cbb9a8e0b1" + "sha256": "b678de11f1e5125efa43db20fb7bf431f0c46192c8193b515b03dd0874fbe25f" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TREM.md", - "sha256": "9893af807d70fa91b1cff1f4a2ad5258618e54822888d33c37522f39c79b5e2e" + "sha256": "836c0b9f8fa2521e212f6c6a5ac2161897c5ffbe48095909bea509c95fb1e359" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TRSQRT.md", - "sha256": "92051d002a6bdb290a41f08f8dd680cbed648d90605a0c105d5016c117885454" + "sha256": "0c02c50a70dd37f1febf819a5d984e42a6eaab7cf3c341713c528d8e3fcb6321" }, { "kind": "generated-documentation", "path": "docs/tile/elementwise-tile-tile/transcendental/TSQRT.md", - "sha256": "4b1403647b1341c48e8988a7865fd111bb504c11d56e15b2b7545f55f9f34640" + "sha256": "c609943558076b224b0dd4aa74f95b7598e41eec941e689a79b21d57d3dc344d" }, { "kind": "generated-documentation", "path": "docs/tile/irregular-and-complex/initialization/TCI.md", - "sha256": "2910244b19d82afa078ff62a6d9c1d27c4af62ce8268645b49f82e1b1d90f102" + "sha256": "ba7de5e9c96c567e32439d3f438976005b86a4b87528636e8f1f4ac120188b8a" }, { "kind": "generated-documentation", "path": "docs/tile/irregular-and-complex/initialization/TTRI.md", - "sha256": "12fe7529d5ffaa6715f97458f3f65ec9b5e82a51dc951777e84d2ef9395cbace" + "sha256": "9b4b8c6b3cd4e04151ff79f2db24a1770dbb0a13cf90e255d12b37b59f374cc1" }, { "kind": "generated-documentation", "path": "docs/tile/irregular-and-complex/layout/TGATHER.md", - "sha256": "db8272ff0f12a826d993f5e7e6941b138117a7ef80006008a110935ddd72d201" + "sha256": "02f40a9af140d9c3996476a9a596cc862da521895dd0b410781aa23655f98d3b" }, { "kind": "generated-documentation", "path": "docs/tile/irregular-and-complex/layout/TSCATTER.md", - "sha256": "3f263f08e1da135a9746da1e57cb7ad037e52c0b6acb70b2d16acfe12a398240" + "sha256": "02fe19be96148e2eb6d29938dbcf392afe0a1c822d416b61480697df73af7a09" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TGPR2T.md", - "sha256": "ab2ae3d20f68555b69d8b7b85a837859d228635ddd40fde73642f097790981f8" + "sha256": "95f9829e8c387f2eb67008e0c19e2f14fed9d201987cc025d0eea51138bf10ab" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TMOV.md", - "sha256": "fe8ee1d8a7a272e3f687ac5a242ffd0774e7c8d6d51f9d9db18ce0a2842ce76b" + "sha256": "f6e3bb14ef5614be53c498739424d3ab648818881dedd8e6c63fea9610d594ed" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TPACK.md", - "sha256": "73c0239425a6c9eea04219f9d5e7b9a21ebe871ddf720b3ef56d3a2aa574b00a" + "sha256": "227d9032610177ed2b92a90cf1294cc8112f269a97aedb847f5ed282275dd92f" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TPERMUTE.md", - "sha256": "062b6603eeff5dae5c525e9b9108dcefe486b6d4228f0f0a8a13dba71449f0b1" + "sha256": "7a0f646fdbbf4a67b40097e733050d1d0d85e187e93f98ac6d09870204c73a31" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TSHUF.md", - "sha256": "3a5447aa511f1ef003729d5b9f93b1b084077f8931c81113db7f150d20bf460d" + "sha256": "65b8360bcc35b692142dc17a5f5320aed09a1656340efed0f0634970e3fcbf98" }, { "kind": "generated-documentation", "path": "docs/tile/layout-and-rearrangement/layout/TUNPACK.md", - "sha256": "c344eb3fcc8afa990ab66a2fd8b705ffc7ee16e86cd31e820eab24fe9b99ae71" + "sha256": "53e39791ba2525cdb3224a7006a5aba417bd1edc1ff267ab96b758d13487b802" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL.md", - "sha256": "c5e7bf9cbe362048484c71f39610c23fd084c4cce0ec5f30561f8005e25e448e" + "sha256": "27e0878b975a1454acc6f0fb86ddf9948ae941eaca5811d46c59018ffd807363" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL_ACC.md", - "sha256": "4bd78e590824ba1a32b1ff9e0c1f854c1a4d69c6874bfed5461107be0b5b1105" + "sha256": "056eb4e2657033e8ffa16a9f98d7dfe833f6a042a557a96bae0784009cd1e513" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL_BIAS.md", - "sha256": "3e7373afcdbd7b47d8c44095c258f3db4cfa8d0ddb242ba7241dafa9e9ce48d8" + "sha256": "fd9f7af2014d8cbd85ac2d722b4bb3c47bb151c64ff1390693c352a57ba406b6" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL_MX.md", - "sha256": "418db70e6dfd4b89deb5b9d7caf137f4f166f30512b07358d3db7be2e951c268" + "sha256": "9faa03e06f8d8cd866fa09e3665253f3de1ceaea72f3b05e0c8c1e589393b667" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL_MX_ACC.md", - "sha256": "80c7671168af9aa88214b5c4c28708ed43d6166cefc44a7bb32eb25ebcd0c237" + "sha256": "ce7889e93520712539375339cc469bab1eb202634b914955424482bd31074e4a" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-matrix/TMATMUL_MX_BIAS.md", - "sha256": "cfc1e98301c577ac31008e4b6a847105f4ff6015c91bcf9c17adb9656ea5d3db" + "sha256": "705d4a0c04787f59ace2b090ea2f33ca13c1ca76e984d2d1760790249e02a372" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV.md", - "sha256": "122c86c2abefff85824f4c10f4a87a1afb9403b0b91532ae1060b6887d73883b" + "sha256": "1a1954f4feb54774c3ae44ed298f7ddd296736e94e4fb9e461abf32c752c0a38" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV_ACC.md", - "sha256": "1e255d8d880387c4d422b4faf52c679110d8177f69d4a32a0114f525572bb5ec" + "sha256": "9564200023d23d85c584f2fc85d926e7453320f6481b25ab6e23e66b56ad8824" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV_BIAS.md", - "sha256": "56cf1d0b9ac61aa52a9c4858613208acc96a28e26e4bdc14fa4f9148b9b9b3ff" + "sha256": "85e9ac5d097b37b740a006f38749103a3ab8d0bc5927d5bd399517ea467c91b0" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV_MX.md", - "sha256": "71c906959b3e9af369e6ba1deaed1b173f7fa89791683cf4d2a472d1d9484da5" + "sha256": "9522d1b21f09cd6f48225755eeec12a35b23abba20dd56ff7c728a88f6dceb58" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV_MX_ACC.md", - "sha256": "09ed156841f7cc1af4d2c37e34c5fc8e592ca20aebd224cd69eb4676d8d891e3" + "sha256": "fd03ccbc02969b96177f2ac7761eb79a991e143aa0d7a817a99ed866fdbad6c9" }, { "kind": "generated-documentation", "path": "docs/tile/matrix-and-matrix-vector/matrix-vector/TGEMV_MX_BIAS.md", - "sha256": "a68e7f31a1539d814b0d3d51201fcc81e6d0da3456a583fc9e11b43ebfdcfb14" + "sha256": "303534c9cf0b0ca252661c80cc6067799bb51dbac1d4258f80e0aaf622dd7fd2" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER.md", - "sha256": "a5aa3e085fff6f86b679176225c2bc3a8428eb41d98fb4b9abeb514c439074e2" + "sha256": "762f5a41c5515bfb55274d330368ac9675d2a4b209900f8d287e2b413e27a7ce" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_ADD.md", - "sha256": "ca5c87a1dff9efd9aefe09e9db584fd3a9d334926ee2f085545f8b255db0471b" + "sha256": "08751bd01b6dc7a3db0c13fab67dd34bf40ff395a52f3c3358737dfe386f493e" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_AND.md", - "sha256": "4a52b4ce330a3923223b709a834fc25c2f688b1cf36f0b4fbb698a5dba8b758d" + "sha256": "4151b28cee823b72ef60e974c2d67a0c99ecf52426e11d962eab680b412b2cc2" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_CAS.md", - "sha256": "ce370f515cbdee7edd549e289513c6666b290ed639adf96d6e50cbc69677eed3" + "sha256": "90e45a9da613884f63d91756c684044d905a07dac6f4b7f15f6f2439feccad81" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_DEC.md", - "sha256": "82067e84f78c39e52492e8d603ddc05c9a71c1dc1d107792330b609c875b8601" + "sha256": "b8af376327e8ec184fe68f19e469aae0a258280058168566c39ca22c74534c95" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_EXCH.md", - "sha256": "e631736e7249a086aee086bbd4638c9e6e3ebea4e2c25a0e92a52d73e7b49af7" + "sha256": "753fddb68ab4b51c481b99793a5ae9137ba05489f0feaa1f9d12e85a7c540bb1" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_INC.md", - "sha256": "7d135f9dada4ec62dca14d21c33d369ec1d4af8a05be87e73de35edbab902150" + "sha256": "97d025171504b23495162203e33c7a628aadf0c2850eda2b777021afdde0e481" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_MASK.md", - "sha256": "3b75b9bf407fed2b61cdfb302858c57d4c01e651f136558754445444ce13d259" + "sha256": "38fa0f721abdb06aef0ceed8cd0d6f49f297f03112d262b53fdc0df0587853d7" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_MAX.md", - "sha256": "1ef0387d1661bf352eb188ece3fd6f892e339863ccffadf956fdd06b4eb45827" + "sha256": "61f1f7b68160642f3296d62cbf305ed264a8362c28e80b8f376d814cb2f1c88c" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_MIN.md", - "sha256": "bb4e730c7a7adc8e524c7ef2c654525a07766c056ae7a6c7cab9668d53056092" + "sha256": "7f819d8031db5f8dfb943076809d14aa316a96b26d71496b659a476d85d4aaa5" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_OR.md", - "sha256": "e75535b54a957ff5de022b7c99848d71d0415b704ae8086c3aa57f2ffc77a4d5" + "sha256": "dd3a1253260426906ee387066284048e6bf21a516345a05e6cfba4a6e01c1ad6" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MGATHER_XOR.md", - "sha256": "a7231435bc46bf10992263ae4807100158df8a5935f0cb64ef3874ea4e09e416" + "sha256": "917fbb3790977c23b55c07a8947e19c7f332f04e3ee0da006198dc053ddead32" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER.md", - "sha256": "582b7c27243f0e3469be8af127db3bce18aff0c318d05e285f34501a3edcfb96" + "sha256": "9e438e1d803a353a4226a5530d760df4b298f2eef2a29dceeba07a3517856991" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_ADD.md", - "sha256": "7309c39299e2ce5f7030f32f4c8007f5e3cca89ce64cd2fe4449ff4aae5fe7ce" + "sha256": "a3dcb4421ca1a0ca016cb773ad92f3af134d4f5460f570b72e73ef4bb10f32d6" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_AND.md", - "sha256": "2ab47d63b1a68e527e2c52688ac6aac5ec22aae5d571fe7d0476b6a89ecc0318" + "sha256": "86fd7096f581f5b014025a4e75b0d47a9ab1cfdf8b1c4c35c0ab7782e0125383" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_DEC.md", - "sha256": "235d3dd53563dc3da15a84ad46afab1a4005f46fee12dea9b201b7ca7ca1ee6a" + "sha256": "f4e08f01e5b1e909e9fc200824715253deb1361e7bfdc2f9be30b1ef5621745b" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_INC.md", - "sha256": "cbc8a180e5726bad1f98ef23db6c82acb97d57d1a871a45fb901c7282448eb76" + "sha256": "ddc8410824d484f1027f70d81bb559156d69ac64230c559dd824e4d2c01ada02" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_MASK.md", - "sha256": "54e2ebb59d90248f0586a057a584a991e428ad72b1f0aa8d481e70320f8417e3" + "sha256": "36717edade0cf74c8aba1a9cc7feba72b96e3e6b731eff1f4d557a9855f5f1a9" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_MAX.md", - "sha256": "ea42d41dc65a9fac88ac70943d71135e21f9c0d5ae1c28b61c76908277a1cd82" + "sha256": "bfb412a9063c6170d1cc3fadc2f33a9819ab807a64c4490c8d7c7e0bf309320b" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_MIN.md", - "sha256": "93cb030ad594c18b229b7f7bb9310550a62412a8a8c645b2b0ffb627f15ff66b" + "sha256": "1139a5294276b41aecd2fe078c391eb53405ea8b6380bf09751a11d1fefa0263" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_OR.md", - "sha256": "3d1c63926f040b79ba67a6f9dd3f6454d5d52879c4b2d39fb455823394d8b8bc" + "sha256": "b4d58036b7f25d5a2c40df7d892033387895a97409db40e5a42b4596ad86aae9" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_POPC.md", - "sha256": "d3ea8bf64199d22e04f511abe286ce73845ba620677307c81e6e11b898da682d" + "sha256": "113c361d39129c325dcac11d6316af9a9bafb31c65d84b97f61c1b56186b3059" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/irregular/MSCATTER_XOR.md", - "sha256": "ed83ef16d27a30b0237516d4a85cac3f39c2cbb0b1fac2450a9e526980a89655" + "sha256": "473ac5e7934c08c3a7263257d2c203a6b3f3d4795d2bd3ecfdbdc0df872287d1" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/pe-movement/GMOV.md", - "sha256": "4289dacc64d97ce0b41f1a0ce54dbab9a0476b9e07274fd1a7c78e1389e6b925" + "sha256": "cc52d0d72abd7dcd6be465fed1bef98eeb6f1d09557c51c632d25cb2621291b3" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/regular/TLOAD.md", - "sha256": "7430fda9044bbbbaf7dc17e85e82bc2d500a9b6940f4037b77a5197c47b4ce3c" + "sha256": "5f67aac6f8ec12c8e151c15eda87f97a7b32bc6a4a393f1ed74f8ef0a54017db" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/regular/TPREFETCH.md", - "sha256": "6acae821b439417cc9d83e2dd08e7afacd2ce4b03e046d5eca50e442044da5d1" + "sha256": "7f7a3d0b4b0c3ff9ff5fc6e9ad43d3b592a51186399abcf5a94f50deb5151e00" }, { "kind": "generated-documentation", "path": "docs/tile/memory-and-data-movement/regular/TSTORE.md", - "sha256": "773106cf25073f6dac366fa462bc301db3697d30cfa89fe8bda39dc6c86cc31c" + "sha256": "33a5eb9cabe647319530ff144b2a9a94dfb6bb2dcb8296a96331a2dafc692805" }, { "kind": "generated-documentation", "path": "docs/tile/model/capacity/local.md", - "sha256": "5ef51e8d92cfe7fc8a0943183d71ec28f9e59aebf193ee9a060b92e53eda81f1" + "sha256": "399c8f3bd0a32a7902b9e7ab28ebfa74362ad0fc64332e24601289b6aed954a8" }, { "kind": "generated-documentation", "path": "docs/tile/model/capacity/shared.md", - "sha256": "e8e492093ff93f1feab8a12924429783eeaa792e6b294ebb96cb58f4a4bdc1e4" + "sha256": "d6e940cffe574a73e188f871ea52e45c824aec676ceae0b9ef82b70a848fc454" }, { "kind": "generated-documentation", "path": "docs/tile/model/definedness/elements.md", - "sha256": "eb7a9bdd2c38bd23b67acb27d3d83ea0feb5ac1abaf167af49822e40c0910a0b" + "sha256": "a117e676492db0bc713538aca5c16e2504b2911706a1da9dfab079a29d4a65bf" }, { "kind": "generated-documentation", "path": "docs/tile/model/definedness/packed-boundary.md", - "sha256": "576bf2de6cf6177b3abb2f66ce3eb8ace7581bc01637277058ce294dde7b002a" + "sha256": "f8bf948bea9c6ee8ac867e6c36a83e9ed567f231b6d9bb37ac45c8eaac0bfe96" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/elementwise-tile-tile.md", - "sha256": "5823613aab66543b7d2a474b8856c5143075daed0ead4b1c360f3254d28aeb5e" + "sha256": "26bac89cd70c09c83cbfab26dffa9f63b6c30ed8414971287a13b8a19a392671" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/irregular-and-complex.md", - "sha256": "8fb05a21a91e85230c198791769ea44e02471ff83b9fd8a178b56918e47c0576" + "sha256": "31c7fe7bb5117f9fe89b6c4be4e113fd379811bd26114c0d4b77a891b94296a8" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/layout-and-rearrangement.md", - "sha256": "d9d22a7bc0515bbaf495ba8b3fc19c9747f7db13594d41d61e9ce0370ba08dbc" + "sha256": "e8d98181ef63fe15e80614128cd406919aec2ba54bac6ae0521a0b9fcda10b40" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/matrix-and-matrix-vector.md", - "sha256": "e9e4e370666f3c21168fbf3437df6f3c98b98f361a36b135a604f1a82f2d5e46" + "sha256": "017d423c34fa891865a8d13b3067709fde55f921f2d4718fd50533718c9998cd" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/memory-and-data-movement.md", - "sha256": "045c7739b80872d03a6f3ca4100bf19f543c0ab01f77266483d24ae4d46f74d9" + "sha256": "e527f477825c691182fc59b4a6ff67d8418e5d835f44036e3e89b2c227845b73" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/reduce-and-expand.md", - "sha256": "a68d4b8a8c5775f09ed5bc2068249ef7377ef95a92a74ad620274b7d33e5eeb1" + "sha256": "276f7085364ae1a373c1d69e1927c1a129fa17df4207929bb3932ae6ce945f26" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/tile-scalar-and-immediate.md", - "sha256": "872a951c4589cdf52a49da30f3e38eb3a356c5e1811e4c97a529af1df0f9c9d7" + "sha256": "9d0733b71128697ec442be1ce0f60f576ee70ab02743b623d7c59534b36fef65" }, { "kind": "generated-documentation", "path": "docs/tile/model/dispatch/top-level.md", - "sha256": "b31ed5a9b9161b8c42bc459438f96351f0559b43276c8f367d99c019b3b5d352" + "sha256": "9092146e1ecc78e43d7ed8b724f560faaee96aad8c15f6d07b06546e001646bc" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/comparison.md", - "sha256": "f4ec02546db7d74faafc3be02dcab588e5fc4bce9bc258829090ee7569786283" + "sha256": "a90dc39a7e0ae9e9e0198ea9f5892646222dfb212ded54ac7131c11f1583517e" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/cube.md", - "sha256": "126948355f6a35e24c6a5730a925d17130dc15a678e884cb66edf34d9d324889" + "sha256": "c215e97273f091c770905e630bd24a6ca62ead5a924382dc83fedc1498eb58f8" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/elementwise.md", - "sha256": "e27371fbba1d5f2d4dcf39903b9cb771e4d4852c3b0b120c978fe6e196d02838" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/execution/execution-mask-comparison.md", - "sha256": "8f4cad0abc45931a27558fd6d5ac20d388b0ea6d40f8f5debd0d4266495352fc" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/execution/execution-mask-state.md", - "sha256": "3f131678bd44c83765c14e7c20d1cdf1651cd1d4b13e4dcac5372a77f5bfda33" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/execution/execution-mask.md", - "sha256": "781d1fdffe6006651711ae9e5a259d9a6dd4dd6460e1716f7a0f633b8347bdab" + "sha256": "0321b7453ddb503c66f9fed402aaa42b75ca192d3c1ab862d4f26793f82fa9c1" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/expansion.md", - "sha256": "ca97ea7b707fdbad2f0fff85f749ebf39c210472c6a2ea2b6a93e3b09976c238" + "sha256": "69614c8e68db6341b340bfc30c9284baa64cab7006a218edf7353c0c33ee1846" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/expdif.md", - "sha256": "3bc247d42a1ad1fce7bfe140a94510469ae2ce2964dc90ea5374456b08853e7e" + "sha256": "ffc39cc8cdecb833bfd8a5864fca79784afa9d8ce60b9376a2ade1052d5bcbd9" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/fused-multiply-add.md", - "sha256": "3ff30576f989b220c2f8f9cf0946d357d7943c61a3a6a097a0ac609e830fe1d5" + "sha256": "6c5af8e444b7892f56762ca655debd37f5d475c8158ec234c10859815c39b084" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/generation.md", - "sha256": "7cc0c672b21581227a4c232a3d559d3e5acffee07713ae3442e174086c6bc0da" + "sha256": "5bab8ed433d7776e09e4095835187acb7a979b0af7a1b947405f5c0668a55550" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/indexed-rearrangement.md", - "sha256": "cdb415516580e2050f9880432cfe63748c44ab6257d2310a8540b7f1d40396c2" + "sha256": "6a9b6d2910dcee8dfdf0b9115f43e187afe929d51086b7685d2f8c7f876eeac1" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/internal-accumulator.md", - "sha256": "350b09b057d06874b8df208de537b6b252ce90c914904a5d9365b3c0468ca6aa" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/execution/lea.md", - "sha256": "c18620bdfcb1399899186db3acb193a518510b6a2354a23c963027956849ba1a" + "sha256": "487c40b873756d1153c8e27e9afb04ca86e230ffacaff132bdaea5f654a6854b" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/matrix-postprocess.md", - "sha256": "21a0ad98a8796ca07ec5cdfac557252a099449f453953f4ae8ad4730028c7000" + "sha256": "6db86f424f8537ff148f066b33ba1d6c6e9d3554c1650644e16b461378fa7b84" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/matrix-quantization.md", - "sha256": "02ed73d3422672b770301c5212f72a0e279af07db72210352b5eb5a0e932822e" + "sha256": "74e5e83436dd527b44d5f0d28c7b3998ae6c2d3318e48e5249369a551211861c" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/matrix-scale.md", - "sha256": "476206b4a4e62edfc8d56339f38fd549ba83724c37aa7cc885f422d89b255149" + "sha256": "6c8119b95eed69585f0207b388baa8f707c369ab4a5d2a511ed1c44ba52b82ad" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/minmax.md", - "sha256": "a256b773690f85af18b7f777b6d047c6d7e44fe627d87425e0a9bb6a4226802d" + "sha256": "3032a02645adf9a807480f032f7e3eb604cc5fd7e0e74905ccddd30d26f08176" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/postprocess.md", - "sha256": "80f7e8e3165666d5142c2ab42e3f03e43894a60a7fb9f125b8c146f99d14c61b" + "sha256": "45b4c52ab1bcc3a4e26bbb276ccd29e7cd0e6a379a67f776211980b7b9a97042" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/predicate-carriers.md", - "sha256": "826caf9558e649be704becb8192b2f65245d03a3e6ceb5231f223efcc48682ef" + "sha256": "ff0934e65808c6299e60b1c3d70e66cecb8b571bbb0ad1ea6a49ff69d276289f" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/rearrangement.md", - "sha256": "8b953269d542a4bb0adfe0427c86716344956bd9c5cefd414d39455e87dd96a7" + "sha256": "e41040063cb4cfff4704ca76cf6020c38a27ff9ed6b879228e9ec7802b630734" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/reduction.md", - "sha256": "34d12d56c449ec5b4104cff207ebcfedb237d1f60125272046825a8e631726d2" + "sha256": "891227bdde21d5c594b9e64ee300dd3832632be1d0c361ed240e76efea7858b2" }, { "kind": "generated-documentation", "path": "docs/tile/model/execution/unary.md", - "sha256": "e16bade7df6e59c2f1c09cac46e43276610fc2426cbcf74b1b6eb9ed3301127a" + "sha256": "be01108a60bcc56c0f4f00b48346050147e4366f1c85df99d0c563eb2624cb28" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/allocation-capacity.md", - "sha256": "e1cbc2853b10a0527a910253d755797ede6530121e633bc93b45c52911c2a1f2" + "sha256": "fc03a3ac2a627d5529979fb1367d9eb195dd017de9e18755d54b54fd0a132c81" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/descriptor-shape.md", - "sha256": "47a25e65216e40ce80423e43776bb0772fd3c5039d3eb9f693be9aa7cf2966a5" + "sha256": "3b5229983d818fc2188fa65b553d8512af09e1ede1e91d9fdc6776a1ac90ed6d" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/dtype-layout.md", - "sha256": "4727908ab3df467803502edf5ee46a90f68a69ac66fe6c2797b52baa03e4d2fe" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/legality/execution-mask-source-schema.md", - "sha256": "10d7f53354c42b56678b9f2b17aa719367d649e873ba6d7c0d76681a40da265d" + "sha256": "7759a02b6e952cb9fa4b34b2eeedb43ea40fbe8f2d2baad2a849d69c9260838c" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/expdif-operands.md", - "sha256": "aaba43b481ac22d7edc56f32d881557a36935e3ae48f6498647aab689562dc22" + "sha256": "1c6db126b5f3dc9d4e88b10215ad50f1f4d6d6d30653dadc9152a414fd0819c0" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/indexed-layout.md", - "sha256": "a675c28616d2c8080d13f044146d665ed767e29965b72db3c1d68549a7cab497" + "sha256": "4ff112a768173e126eae26eb22d0501d5fd72dec6b8996497f05aea44033ce81" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/indexed-rearrangement.md", - "sha256": "f78658392c279581b404ceec2fb0ea5309fc4ac0e703f5d389bb61ee4b0fa4e9" + "sha256": "06d2e2649e5933910503c8fedf3a11ac3c279150606fbe9732a8ce83356b1755" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/layout-rearrangement.md", - "sha256": "5743cd51e0f96563c9cb453487f33618db14d4f262f1d6d07b2c4184e290632f" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/legality/lea-operands.md", - "sha256": "b5c356fe4926911788ad043f600b5bc1fb88ee55383734d55ecb5ad7683b4dc6" + "sha256": "24bc071453b99964660eeba20d8dbba32a66a63504f8d8341a9ab39c882618d4" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-cube-primary.md", - "sha256": "82a52d4005c2273bd528aa5f68787ed05d5702923bebd583948f7b1c0ddae517" + "sha256": "3b74f44ef7d1f170b944775869a90afce5dbd0e22ee084a302d2fd294f628f69" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-functions.md", - "sha256": "bd413a78045c58be7e6743a573391e23428763f9bf9e9767cc5bbe65441e5981" + "sha256": "b666053b31479f8d10367e3350a082609013cddb8b982c86f3af259a439ca8b0" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-info-descriptor.md", - "sha256": "c7da3ce42da35fd7ee621d70bbc47020990592bd3491032e7e0e8a6258020725" + "sha256": "b03af86870df2e89d8285f8976c160ff74b919d6f58a117623da0a4911d01271" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-operands.md", - "sha256": "a27d5f401c880d379b8c9e0955e84fc195cb717f4be6056687f5c26f36e7fc1d" + "sha256": "5db58cb84a77e307c744e665adca3d3b4ed024219adb203cfe999da2d1eb90af" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-postprocess.md", - "sha256": "afc8ef10cb9c817112d959a31cdd992746bebf0abb3500058f62398f1ab67f19" + "sha256": "2a442a077f83812a8f73d39e166e9bba7ff001172669e24bc886eae52f0b3ece" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/matrix-shape.md", - "sha256": "3b23703bed0a576c359f5cb8ad05a8afefc242f7e1748de8dfd68ae9ea962acc" + "sha256": "0540a10b100446d7ba0173a5c4689b25eb86bcaf50510e60598560907735641e" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/memory-schema.md", - "sha256": "994578fbd625caaa699a79a5df5e05c921cba33225c06953a454423b9783f252" + "sha256": "371382b2b6b6e636cf1b5c1801e699b3518b4c6c0b72dbc3d9f90e7ecd599985" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/operand-schema.md", - "sha256": "e74b166bce1fdca1d0c6df2bdf8d590998a4f8e6cedaad3a3f297187c417cb3d" + "sha256": "9ba59a9887d0d3cac7f48eb4cd92738e7b77ae114779444ffba70f5e8b7c5f55" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/pe-mask.md", - "sha256": "4ce72d99efe48a24a6dfefb3690b9d390bbaf874bdd0b3f2686d8914c06dcfe0" + "sha256": "4367e7084d46af15df1ebd1749d038f63e349ea0995f74400d5ebf7d21ff3779" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/predicate-carriers.md", - "sha256": "0af1b3665c420be8d73042219a8ddff3559a52c7bf4d37d9ba92250aa88d4ac1" + "sha256": "1b094ea37ba88c194e3ab04c2b79cfce6701d57fa3040a07513692354bf42ad8" }, { "kind": "generated-documentation", "path": "docs/tile/model/legality/reduction-and-expansion.md", - "sha256": "6d20266f12e496a9e691d8a6852548ad4ba8337796164f73cfbb289a5a516330" + "sha256": "e490b7f465facbbb875a59f862ea14dd5d273b453f2917a9b0df8fca5ec829ce" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/addressing.md", - "sha256": "022285fd113812da1672a8bc9f9d8f7b0e55cc1e09eacaf61c6783c347a16cb7" + "sha256": "1e99d3dd7b4e0dfaf4237ef3891e359a8ceca4f62a41f844e908536ac1ead3bd" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/atomics.md", - "sha256": "c1cdbee761ac37b75c5562a36ef1620b969c071e19635ef97f3ca4f95bbcdd89" + "sha256": "32955779a5ad3bf87498474212a8e866582071cb89a34d8dc1872f5174742d5b" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/gather-scatter.md", - "sha256": "7b2eef7342af4b0ee951f0e0062cc4072b613279c5a56030eb3fd77cf3119b7e" + "sha256": "306ddf3f5156dd0c68760bce0fce46b012d651c46a45726cd67ab189b2b476a6" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/gm-atom-red-execution.md", - "sha256": "11ba215eb846f385216a7fba1e632c72320689f3f96928fe0e858af44fe323d4" + "sha256": "bffd535d04bc86629f6dea7c9fd91e634c0270b2eeee833d62a74d9cc980a91b" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/gm-atom-red.md", - "sha256": "fbfa934de7f74f2b90857f2926e149d427f532ce60aa28f0ab769435154ab75f" + "sha256": "2c716f7697b34fce3a2211c230000e13743fedbd28541697381955e458ccc824" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/load-store.md", - "sha256": "29aec4a9e26fb170f3fe019e6883ad3daf39716827992ac7f09bb40c83041cd4" + "sha256": "ad36ac48c8e923f02e6ad57186a6f3413fdea3e078dd922c61f21b02afe3c581" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/restart.md", - "sha256": "8ddcdc458251f6737b889092bc1aa225619f7fbfc9f530652e4a10f6f7433249" + "sha256": "e524b74d055609c523f1137f18fbf1f4ff66cdfd828a9b99465dd674b1da1f21" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/shared-movement.md", - "sha256": "bc6b573015c06bc6ab2a74f82f807120f9faf5390a72d835983010f21c564d15" + "sha256": "0b28261d4b45a560dcc3742807525dc7e599c578309c6b0772cfd6bed7da3149" }, { "kind": "generated-documentation", "path": "docs/tile/model/memory/stride.md", - "sha256": "dd52e9eed1ffc21f51de2730affd980c1cb77cced945950e72ba2a66927f9d22" + "sha256": "743dabd19e7cccbb9b2ef8be13dd1dbc45fc5eb2daf0bb075babd2f6fc4f7112" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/e8m0-conversion.md", - "sha256": "9b8364ad0b4d66e587e0d99ff735dc5de2492df4da89a6ed8b01a32a50c65f21" + "sha256": "b5c238a06a424f7dfa7f82352f9fbef5bb55c4b1085acc35a2da6513c9274f5a" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/exceptions.md", - "sha256": "4c81558de0b463ff826edb5975aa98f46f6229e2500bb3d2341dc0cad0433a78" + "sha256": "333db8df4565315df3ba910d36efc48481b0b6da13816495a6a05d28d541e45b" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/formats.md", - "sha256": "957f5e3d3d89bbdbe52818f7c08059a5106f85a6785b2b2b6506e295906d9982" + "sha256": "d9cb86e8497b60e95f797541cb5682c14711f731d9e0fc7b5275b7af0d21b656" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/packed-conversion.md", - "sha256": "74abb63dbf49dbc0f0ccf5af7d4b576d08055c153fa95d598caffc6dff66cd48" + "sha256": "67f0d28a59e7579589030e9d1a2aa68b657d47f6b94fa99eedb88d6d5ba3e877" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/reference-conversion.md", - "sha256": "46adc08ac9c576aa718f1ac76249f3e421c99d4d50a4e980fa1c73798b2a405c" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/numeric/reference-fixed-binary.md", - "sha256": "3954044b53c440a4ed3636fdbaca111dc6b341404446bcdc335f60b82a301a2c" + "sha256": "e8557960563a19348edf018dc53244eab0ebaf2aee7dc6722950ed2420543423" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/rounding.md", - "sha256": "277ed3eac560cb139e9b51d1d32bf67cabb02c1445f1a66d313d1703380933a0" + "sha256": "012d6f4457b1229fb093740a69216d9bc90d6cd29c1586236d5771a72d839ebd" }, { "kind": "generated-documentation", "path": "docs/tile/model/numeric/tcvt-conversion.md", - "sha256": "8763adc9e77905f3e1cfd4e2d5b1ca3aa546aa8bba20fd5089046fc1b06cf43f" + "sha256": "e4e0b131f93e116b5e016dd61e5fde254560749d45034541c36986d58629dfc7" }, { "kind": "generated-documentation", "path": "docs/tile/model/ordering/sorting.md", - "sha256": "7deae4d2577462ffd889f03dce14cc3bad4dcd7cde1621f8c4c306fdf3368a7a" + "sha256": "11833f1b83e6d395886e861a42e0277f2c073583ce3b8a9660e6543fe5a1d010" }, { "kind": "generated-documentation", "path": "docs/tile/model/shape/cube-cell.md", - "sha256": "9f753528686e888380c1a9ae9f5d4e33533ad8b70627df56d7f4d0c2ea8426e4" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/model/shape/cube-double-cell.md", - "sha256": "1db092a0da5e6d1deabb4c544c07ce78680e95f5b582332b140896f9b45d674b" + "sha256": "1730c49c686ef2e06a919a9602747d7544b22f0d60ee739caf97111c50492262" }, { "kind": "generated-documentation", "path": "docs/tile/model/shape/rows-columns.md", - "sha256": "ab396d40818e42bc97061b24b889357cab9310c2bc2b9ae0121064bcb0b78efc" + "sha256": "71940198d631dd21942677d69aa6f475bad2b8f6750ec7643e0f3d596f9b37e6" }, { "kind": "generated-documentation", "path": "docs/tile/model/shape/valid-region.md", - "sha256": "4d325ce3f8df757dd97229458c7260267040d53903a84fbeb36eb3e095a4f08a" + "sha256": "f4994a74a3880e13571fa111b4630cc8819e35e5414958721f2d559bd49ec6bb" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/allocation.md", - "sha256": "9e3598b6a0bb9c9d6a7c70130092454c36d5327f182e4df417e8ca631e597a51" + "sha256": "c3a3681e5654c5307756aa5ab8b219994197dd3f6867697756b435e2fc4b15c3" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/descriptors.md", - "sha256": "68aa47104649282587c8547399ab9189238dc74c569c278970d1a31bb668a4cc" + "sha256": "92f01f9d9273b978ce6ea49c79f0b741bc9d637d12d667b31d661f32067caa15" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/feature-map-descriptors.md", - "sha256": "eae5499afd897d611eaf5b3c6d890fcec69fd630499ae6a542810083157c7c9a" + "sha256": "8bcf1e829e1658e3e3471008ac2f9e69e42195f4164e06ffee6e91e4ef36d089" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/local-registers.md", - "sha256": "c88bf0e9a634e057a35a2e59d95c159b30488c59726ef3355a2526f494ce5954" + "sha256": "ea86c5d74d6d5e76eb5e6988ff7227b2b28c4d0bb781c38c03eae221bbbb2626" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/shared-registers.md", - "sha256": "23daaf279dffb3e024bed8f0d26e66fafcedcbff5c0a1f557ffe3a551844628d" + "sha256": "9fa014d2876c8a796f61612d10a0abb10eb030e6fa25a61f63cb963fbcc75b40" }, { "kind": "generated-documentation", "path": "docs/tile/model/state/types.md", - "sha256": "8163e48e07db37ee99ce5597b65a97761b28dd3bb5481af23186f04969ce98c2" + "sha256": "e53a745169ba9660e65c1b9c9685e9fbfb3acafe3cdf18ebb122029fd7223f8b" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPAND.md", - "sha256": "5ff8a1a5d9fe3b9e8e5ee8279b9da4c278da5490c5e3cf88ee6ddf702a03cf80" + "sha256": "32b2eff51b088682f384eeaac344495865fe7864ac6c2e11c0357fe69c1c504b" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDADD.md", - "sha256": "3dc9e47cff9a58ea7b7fe08d884841f7f85ea9dff37ba39f5c665c7b3743cdb2" + "sha256": "9fc44e59f4443697e1658032e8d41570653efd62425b4d7dba406f72013a6826" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDDIV.md", - "sha256": "ee932d5d9e4b64f002146cc0dceb5925d2dbbc1bcc5946defe55e75eda899ef5" + "sha256": "3f5ab2a86b54dff1d4073cdecb3e65ba07a56c59487ac403b36c66ba5fc24ca9" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDEXPDIF.md", - "sha256": "aa26d33f6337a051067acf3b571b3a379b458aba8c4f2da34443baf1f89d0e5c" + "sha256": "2b635bee44952b738b665887a660b92b432b8b7cb47c0f6d0d6f5bc58a8bd937" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDMAX.md", - "sha256": "84bafbdc6d61db0bed58582f2954270db42e1fa2fc2aea40db05e7c3c79f375d" + "sha256": "6d9d7271ce9492365c9307e867e68deb887a88dc7bade0ee362a6d9b8474f460" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDMIN.md", - "sha256": "6e7c85defc1764649144c73496c8ec14af3c861efb61890a127e3be26c753b18" + "sha256": "f5a240ff781d6c7e123b0e6138dce5c2753983d678be39030cbbe751055164bc" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDMUL.md", - "sha256": "963fa211a9c3b033d290ffb6c82575c2854127de4df63a144c3e6a9d0a8950e2" + "sha256": "6a326efd8706ca864366c2a3195dbe3cc9b4289cf0102edf396fd2728feb9a64" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-expansion/TCOLEXPANDSUB.md", - "sha256": "1d656cc1e79b579a1506f92257578ffc2b999e64654cffd44c3b2c3ab48e3c11" + "sha256": "7f6d3e26c491463ea2e71b6189ed4585706ac33139546436e763f4637d4ed4bc" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLARGMAX.md", - "sha256": "aa44a3c0043aeff23a10249d81c6b19dd075ba1c8062f0d6ad2157c6400753c7" + "sha256": "b8653b3b9b0ea3779b0f4fe7a8973b052ef1394bb3a7be254f3bdd405be17ec9" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLARGMIN.md", - "sha256": "8b43f2a64fa898dae287180804c616e395780d76e2d8c0a521192bf003517002" + "sha256": "678fe27f53a06220767c95ecf75a71047a250409d72d0b3d7c8ddce78a1c6d57" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLMAX.md", - "sha256": "e7cf38066174615d22d2ce6458de4457fb5b028d6f7c534f2f221759f7ea9f89" + "sha256": "6b317d04812ce8b12d8ac096920bd25a8b7a0598ea106337621710d4ea3e2306" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLMIN.md", - "sha256": "b2adbfbf28f2aa104525da9f0d12042ba3e5d722481581a4522100b00e1b9474" + "sha256": "66d0cf06e42a9ae88be6378284c6dbd414a2e3315b349410552cb831b3bb8532" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLPROD.md", - "sha256": "ff12a6034a522c28a003f063bb3fdd25e82836f0efc7314afce00771bb815c23" + "sha256": "4542ba2b439e454ed30993f4b9bb98d09fc567f50ec583279c66da2d9f2150ac" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/column-reduction/TCOLSUM.md", - "sha256": "971fb4cdc417e26b5e9a8a8a132516fdc64b86ac63375d556b7b59e975b56be8" + "sha256": "90c6bfccf9be05301b8644dfab5294f7d78876b1fd87cc6592551ba25ce3bee1" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPAND.md", - "sha256": "4bbb6d2a4f99ee362d4eedeba191df74919b749100dc0ad2a1ee08d5f85e65e4" + "sha256": "1b20c8e07df933039ec660ab038011e33ec16c349541a465a52356fb12daf33e" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDADD.md", - "sha256": "ab513fd4e48ba3d263ae5e14809fca167949636c05bafb6e7f3028041cb8074a" + "sha256": "eb068fa480a06978bc9340e054b0cd1cc3c01a3106467eaeaca286cfdcc9d523" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDDIV.md", - "sha256": "85d3813dbf7bb10e8197820878739d4f494c648ec5fbc54f695fdf9b5d7aacbe" + "sha256": "6f44117fb6d65b5791f488260016f70ab3080f5bfcaf391569caea286b422a79" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDEXPDIF.md", - "sha256": "903d3b9acf114cde0d31a10948da324b22415dfbb93e3eb839e6a6f837bf11b2" + "sha256": "a08b04ae62190a58d5cc43a809ff32d62cb75daa52c3f001946e50e344cb34be" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDMAX.md", - "sha256": "e91d8271d21950ca084670497264f44efcc4a6b28457b4a7247e2ee142c40aa5" + "sha256": "5e43cb00ca1db5e6c596dbadbac34f214f954b50dc78b90de9b8ef8b5cb6a221" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDMIN.md", - "sha256": "435863662b825653f7080f331fd0c0b43e9f831fe33f44b39ba3b4e95dcea005" + "sha256": "fcbab778e3185e11a8d01329bbf862af3ed600bd92925603c85f18ef952e4733" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDMUL.md", - "sha256": "665ef1c1c2f2f5d444a0bcad8ad97a0a01c243742929381fcce6b33f3fa2e631" + "sha256": "13294be2acef889770c4aa015489e9db6d282631b5d3a0615babe4a08f256205" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-expansion/TROWEXPANDSUB.md", - "sha256": "fb376e1000f015035591b57adce08b02bb601bfc089a2b057b3b492a33235922" + "sha256": "f0ddd3e12870f6d38e6fa7632b0d328d6c1520f41c54ecbf35eddbd4ec92ff4a" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWARGMAX.md", - "sha256": "bfeb5b797343aa9ec23b4f4bfee5d61fb06ceb8f7bfe18871a209d6684e5bb6e" + "sha256": "ebfa6ea32027dc07e727a3786692d8a5268368343fda32b2cb8c8e0c94224d10" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWARGMIN.md", - "sha256": "6f4a3c5cddd17109c5eb9915d26d8aeb6f462290bb31522db8a131a7b0a56c4c" + "sha256": "9664ab87adf78a8a38cf2959da7d87a4ab9d13ae2382fbbfff4e1e575d07e16e" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWMAX.md", - "sha256": "fe96b47c03bd0432adc287c9e38e1014812c6be22162d5ac6f8463d05f81777d" + "sha256": "4e0c6e75b8ab5e4f490a1cfd127d21d09ca746684406e45a40639b3e4d6b5bf6" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWMIN.md", - "sha256": "2841faa0e147191484a6035055d4e8589d2f6725cb4f7d26177b2d9c550240ad" + "sha256": "5ed1aaf5f9554c1dca9632807b73360cdcd93ea2dff1d735ed3e3433d2b86b8f" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWPROD.md", - "sha256": "fe54b4580794f7e0c027d1869baca7c0ca63665babad268be91b7d9d084a7a80" + "sha256": "69a158cc81431a7e20939b36ce744d9d32b935a82f8081e9aebd398bdf165738" }, { "kind": "generated-documentation", "path": "docs/tile/reduce-and-expand/row-reduction/TROWSUM.md", - "sha256": "dd130364f1c438f21ac9e0edde5f6baff10660cef3f8fb849970bde18640d68a" + "sha256": "62a14261567efe0a3a5e958630d86276bbc40ffa219c91f87e2bf9a9f273e8d8" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TADDS.md", - "sha256": "c3e0cafbbf43e11bbe4f8bea56215d3809610817409e5e1d6ddfbdc0a862eb59" + "sha256": "821ad7aec4d28896476ab1587e6fba9ae395ec11fc2bf6cdd00c9d98663f1f84" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TDIVS.md", - "sha256": "00deffe28dae11c6447b79e2e93956d7171e6dc5c1e13194c09ac7d1bc763454" - }, - { - "kind": "generated-documentation", - "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TLEA.md", - "sha256": "509683aaa6b6b3973e91d13b6fb071386839de564264b6800033ca6e34d528b9" + "sha256": "b5a72e874c146e92429f6764dd63a253707699c31002294cabcd6e3a1ad31baf" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TMAXS.md", - "sha256": "df3b2f6bfd14b168d57ce4969663ccade6b275d19ce9d593c1c0b762211ec477" + "sha256": "3331256240fc608819a6e0d7d17a9c88b4ca7fcadb47311e2e4982c7ffcfc28c" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TMINS.md", - "sha256": "9ce319acefa5ce938530352cdce10755ee735c6ada3c23e3ba0ba11b0fb3c292" + "sha256": "5778be5ea47c0d3ee84e56f02ff33a378f12d43b2ee783b2507e982ec27a65ad" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TMULS.md", - "sha256": "a00e1388d74171d5e776616e7d4082ed7067c3ecd417a0e40b950eebb611d40c" + "sha256": "e589d2399f3ccbbe6ef6025b3f6f58d177852d7d9deac8c8436db48865ce483e" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TREMS.md", - "sha256": "e90b4ff5d580f4d8d58cc328fac2bd73a691c34bbf5b1135dea4b274da6af897" + "sha256": "dfaea29b7e19456fb58f553017d81434b015b9c7bd0990acb31da5d65b3b54a9" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/arithmetic/TSUBS.md", - "sha256": "7570fb10518f29f0b68d25e2ec198a18f4e7d5f0e1b28e6a2915291d96ef3607" + "sha256": "19a69fb1be8a5d4d567a4fd7e32886fb19eb94bfabb5c3aa28b12da32712e2e5" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/initialization/TEXPANDS.md", - "sha256": "63ce1d641b6049fb36de75295259a9668a99c89c55494fdf7b9f0a0cd67f58d8" + "sha256": "d9652e2d24299ba1d263e6d808ad3c3d77f6bc7076c4f752b1a27b96d9ce73a7" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TANDS.md", - "sha256": "5bbc6f8198e669ac4d4c00880c0517f28294d6409d3f5d47eca6e09485aa75dc" + "sha256": "320a459c8b4bbace5bd9c133115b77fa6c688a702811210ad6921d1c749d8f51" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TCMPS.md", - "sha256": "7336ce7a043556f44fe6dbc3c7e5010908810e160d5e28d52651af669c9eb543" + "sha256": "bc7e06f840c15c92758616109d0c7875291c0dcadf3a4537e346c1163c84ff48" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TORS.md", - "sha256": "a2a509f9d69c4bd8820834f01943b1a84d890a93bdc3b2062d1bed8ac3e99007" + "sha256": "3b41abb1b18a2ab77a3288a5f2210dbe7f53b7f086dbe078063b7a899beafd31" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TSELS.md", - "sha256": "7791038f871695315d80c6d4041a2b2a97839087fa4890212b87abb43f367696" + "sha256": "5c700fa83e3416463e1d331a6daa67fb141a7dd9861e731cc5de5b8028fd5309" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TSHLS.md", - "sha256": "c1332aa895d5a70170b6f193674ad97371cbdd4314f5336de4ce4eb703d4d484" + "sha256": "3dd4141dc426eecbd0a8b4f18ead370d04e149d12bff3553ec9082f09de53208" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TSHRS.md", - "sha256": "4fdb0facff519fecde8ba33ed966ed54c04b04c3f5f344024b2ce1a859434d67" + "sha256": "a862846beb9f8b47cc5e6937c8672ba90da8f0863dd07692a3e41e09e39a1948" }, { "kind": "generated-documentation", "path": "docs/tile/tile-scalar-and-immediate/logical/TXORS.md", - "sha256": "c2bba4aad8073962fc18443147a53b3492eee9629f7a5975591087d1d8834e67" + "sha256": "933408f1c7edb34863590e419b5949cddb8fdab4df6ab0f2de099b17c2c8e88f" }, { "kind": "generated-evidence", "path": "spec/evidence/pto-isa-0587-abi-vectors.json", - "sha256": "485e6d6ac9ded3ebb7f8f8b1d8d7d077e544eef8c6833a48e3b8d966cdf6294d" + "sha256": "29edda1dd36368fb064c9a30448f34b4d9f0681ce4f66e735f8726720594f60d" }, { "kind": "generated-evidence", "path": "spec/evidence/pto-isa-0587-encoding-totality.json", - "sha256": "f1aa921cfd73fa945a772dcfa67c065bfec8e7abcb399bf335da542bf3ae77f8" + "sha256": "466f8e63543a8840146aa4da5a5cccf4a17513f6341edafef610ac95bc009c6f" }, { "kind": "generated-evidence", @@ -8358,10 +8241,7 @@ "release_selection": { "architecture_version": "0.58.7", "baseline_commit": "dea0b75e803cffa873982c90f9aa0cd17c6d243b", - "blockers": [ - "release NDF drift is not covered by an accepted target ADR: PTO-B-DATR-FIELDS-001, PTO-CUBE-M32-B64-DOUBLE-CELL-001, PTO-INST-TILE-TLEA, PTO-INST-TILE-TMOV, PTO-INST-TILE-TPERMUTE, PTO-INST-TILE-TSHUF, PTO-INST-TILE-TTRI, PTO-LOCAL-TILE-B64-APPLICABILITY-001, PTO-TILE-MODEL-EXECUTION-MASK-APPLICABILITY-001, PTO-TILE-MODEL-EXECUTION-MASK-EXPANSION-001, PTO-TILE-MODEL-EXECUTION-MASK-EXPDIF-001, PTO-TILE-MODEL-EXECUTION-MASK-REARRANGEMENT-001, PTO-TLEA-CONTRACT-001, PTO-TPERMUTE-CONTRACT-001, PTO-TSHUF-CONTRACT-001, PTO-TTRI-CONTRACT-001", - "release ASL unit drift is not covered by an accepted target ADR: PTO-BLOCK-MODEL-DISPATCH-COMMAND-DATA-ATTRIBUTES, PTO-BLOCK-MODEL-DISPATCH-EXECUTION-MASK-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-LEA-SCHEMA, PTO-BLOCK-MODEL-DISPATCH-TILE-INSTRUCTION-OPERANDS, PTO-BLOCK-MODEL-OPERANDS-SCALAR-BINDINGS, PTO-TILE-MODEL-DISPATCH-TILE-SCALAR-AND-IMMEDIATE, PTO-TILE-MODEL-EXECUTION-LEA, PTO-TILE-MODEL-EXECUTION-MASK, PTO-TILE-MODEL-EXECUTION-MASK-COMPARISON, PTO-TILE-MODEL-EXECUTION-MASK-STATE, PTO-TILE-MODEL-LEGALITY-ALLOCATION-CAPACITY, PTO-TILE-MODEL-LEGALITY-EXECUTION-MASK-SOURCE-SCHEMA, PTO-TILE-MODEL-LEGALITY-INDEXED-REARRANGEMENT, PTO-TILE-MODEL-LEGALITY-LEA-OPERANDS, PTO-TILE-MODEL-NUMERIC-REFERENCE-FIXED-BINARY, PTO-TILE-MODEL-SHAPE-CUBE-DOUBLE-CELL, PTO-TILE-TLEA, PTO-TILE-TMOV, PTO-TILE-TPERMUTE, PTO-TILE-TSHUF, PTO-TILE-TTRI" - ], + "blockers": [], "excluded_draft_adrs": [ "ADR-NUM-0013", "ADR-NUM-0014", @@ -8504,7 +8384,7 @@ }, { "id": "PTO-AS-TILEOP-MACRO-001", - "sha256": "cf1d963fb89dbbd4decdd1931182efb8deeeb4cf006d345b0c4521d5cb0f83cd" + "sha256": "3a181dfa0dc41b8577ed4cff51e02e98ae3bb0c71df6b0cfdf74c7c786c7e5cb" }, { "id": "PTO-ATOM-RED-BODY-SCHEMA-001", @@ -8572,7 +8452,7 @@ }, { "id": "PTO-B-DATR-FIELDS-001", - "sha256": "05c3f75e38db9b769f2dda547320c77989bbd26d6b3d1ab32e24167d51e9580c" + "sha256": "55a597dd53b3cf6091233d611c087c8785e65904650ffd46d5c55922f4dc7a01" }, { "id": "PTO-B-DATR-MATRIX-ACC-CONTROL-001", @@ -8592,7 +8472,7 @@ }, { "id": "PTO-B-IOR-BINDING-001", - "sha256": "a4b56935b27af976800a360f0db929ad4e230e3778d57c550dc3d464ce6e80c4" + "sha256": "6ca1a7ecaaf2d4a55731b21560207e7cc359d6140ca5a6f0f53da12dc0a01695" }, { "id": "PTO-B-IOS-SHARED-STATE-001", @@ -8600,7 +8480,7 @@ }, { "id": "PTO-B-IOT-STREAM-001", - "sha256": "70fbff9af93f9f37eb10c4a685578daea6dfb95ded2ed5dd0d34507352487660" + "sha256": "424f593a4a5a90be6a79d092eb4cd07963788ec3f1b27dfa6b7eb794433a18bf" }, { "id": "PTO-B-SHARED-WHOLE-PARENT-READY-001", @@ -8920,7 +8800,7 @@ }, { "id": "PTO-COMMON-CONVERSION-001", - "sha256": "a1f80f1ab66946c472cb2d516c29d2c5901838af347105c169a770ee82ff8acf" + "sha256": "b78ef1bcbcff54de7032ee981874514479a91e092213523d4667daa285977ca2" }, { "id": "PTO-CTZ-DECISION-BINDING-001", @@ -8936,7 +8816,7 @@ }, { "id": "PTO-CUBE-CELL-STATE-001", - "sha256": "ef918e393585f05c0bdd0a32168fbccd725629a60a405e216430b223361d9b79" + "sha256": "23606f4460f07529b59a3676ba280c75a0b70c16e43b92619b0bd8fecbc41441" }, { "id": "PTO-CUBE-CELL-TRANSPORT-001", @@ -8962,10 +8842,6 @@ "id": "PTO-CUBE-LOCAL-MATRIX-001", "sha256": "9e6a962713cf682a3e5e9662d8272c7029084dfcc8a9381295f2ff5662616dac" }, - { - "id": "PTO-CUBE-M32-B64-DOUBLE-CELL-001", - "sha256": "44ef64bb7fa6f26b9d54e24f6939d57bccd4f9e01815e9e4c417d92cc44882b0" - }, { "id": "PTO-CUBE-MATRIX-SCALE-001", "sha256": "7bf124db16e3f4ef4f44155057affdea85f2f778b36f34d15a38e0d562122eed" @@ -9264,7 +9140,7 @@ }, { "id": "PTO-INST-BLOCK-B-DATR", - "sha256": "083eeccf07b358873b34043cd1b36096f9d9a1d1fd3b543c48cf81e0907f0ddb" + "sha256": "41ddfa70a242c1fbb8f4221e41a8e7ff3b6b4bbf36acac7c1fbabda27b8619f5" }, { "id": "PTO-INST-BLOCK-B-DIM", @@ -9280,7 +9156,7 @@ }, { "id": "PTO-INST-BLOCK-B-IOR", - "sha256": "7f4343393daccfae7a61d7636a8d9aa64344b90d00f506342de289757b347b49" + "sha256": "a6fdc2e092cd32786a3f3bb8da1c0ac27c03469082f146ad29681af2a0f4cd2a" }, { "id": "PTO-INST-BLOCK-B-IOS", @@ -9288,7 +9164,7 @@ }, { "id": "PTO-INST-BLOCK-B-IOT", - "sha256": "c9d347d90081d3f6e56946c8ccde4992d4f4aa80d736033e0005dc792af4e25a" + "sha256": "2daa5d9939604cfe6d88c34089617be20e053961bc9091da440b08589d470d33" }, { "id": "PTO-INST-BLOCK-B-SUBVIEW", @@ -11436,7 +11312,7 @@ }, { "id": "PTO-INST-TILE-GMOV", - "sha256": "ea63d8b41a236e39500c8260296d83301ae871b7ea19df24994d1a978527e296" + "sha256": "d9526b79b9c9791a1d1fd3a547d588e0bd25b0587d99d493f5de31be5066b77f" }, { "id": "PTO-INST-TILE-MGATHER", @@ -11532,119 +11408,119 @@ }, { "id": "PTO-INST-TILE-TABS", - "sha256": "7c59c6f82529705ec7a9d8aa6833eed3b239a98ba492df3d201800b5741730b0" + "sha256": "74c0a8bdd588ed19ca8bd380eeed3b7028caeaf3378bdcd98a8d6632664bf7e6" }, { "id": "PTO-INST-TILE-TADD", - "sha256": "19e4c890b8799081e100661798f0f943db6f9fc208b04bbeac1d7f8ba3c365ba" + "sha256": "8de32548a2d6139151bb6ee2a8587a21bb8a7b2bfbc33837d2bd56716a00a612" }, { "id": "PTO-INST-TILE-TADDS", - "sha256": "defc6b343de227c39b1ec175eac5441d194706d6a05b8186fd36836f9220b6db" + "sha256": "2d9036a184159d0bf15d4edac9eda3efb85abaf349b527cca4ea120702e513d1" }, { "id": "PTO-INST-TILE-TAND", - "sha256": "1609f0daa44e72812d55ef9c60500d47a3b42a5cd66760f0bd68e26aa38595d6" + "sha256": "f874e816eab9bae487bb0b4701b75356be2caee138f675eab5851b0f406cdb8c" }, { "id": "PTO-INST-TILE-TANDS", - "sha256": "460640afd495f9b7ebcd50d43d99c0f43bb8a95fcd01aec50eac6b21e4df41d2" + "sha256": "a6d2133a5465247e7b702fa78fc2e93353ef9989f051880e4f870fd42a70fbc0" }, { "id": "PTO-INST-TILE-TCI", - "sha256": "467997fe67cf14664ed53ea82132bc80a041db57f9450eeb7996e8816e9d38e0" + "sha256": "21ff0be100a19de774c7ea03aa52561d01ba4a1a41c62c2f1c2132757d3cb8b9" }, { "id": "PTO-INST-TILE-TCMP", - "sha256": "28d1d45869f4f7d116a5f0a943c89dae7c1bf211d5ad461c8cfd1b67cefe093d" + "sha256": "27bfd149de6f5bcf68599decb09cdbaf7b86611a53624608495295c40d0879e8" }, { "id": "PTO-INST-TILE-TCMPS", - "sha256": "6f8fb3acc53516a2dd54722fec1df493cf9a9627fa262fb9cb75ea1cb5bba392" + "sha256": "d52abd591e8bf57650fd0ca078faba5407150a1613bb4ad15b144b2a2c1df2d0" }, { "id": "PTO-INST-TILE-TCOLARGMAX", - "sha256": "6148015ea8b104f36e0f4594c86d5345fa7be4af06bdd3a29014de8c9d50493d" + "sha256": "905df1a6b1360b1f73e264731576064212e6b73ef9e6425e5fb32b3355b59357" }, { "id": "PTO-INST-TILE-TCOLARGMIN", - "sha256": "fbbcc0152efaba92770cdf84b25a8365d9d0462ca72d5a3a399969ebde475e7d" + "sha256": "b9d1dc5bc844dbf8e1afe3084afc58fa1ae08aaba61bdadb7ff8c5f793924959" }, { "id": "PTO-INST-TILE-TCOLEXPAND", - "sha256": "2d7edecc3ad2d30f1e9d87100ce5ca75eb8e22989a2b23c43cabe9d6542d88a7" + "sha256": "2dd21bec80199edfce9f87ac45ca3f03648ddfc88251c946c657837f4a96f97f" }, { "id": "PTO-INST-TILE-TCOLEXPANDADD", - "sha256": "d69f8cb08b10da3c43afcf634445fa177bbe23044b65655af38b3b7cd98be136" + "sha256": "3b2aa00a5ba573394fc6725493f4591ecb93b29fbe50a3a1843e1b6b9f36e734" }, { "id": "PTO-INST-TILE-TCOLEXPANDDIV", - "sha256": "9e2c026f3d496c4a209086a1a9ab683205e6753c1b98346ce0c7cdfb20edbb54" + "sha256": "0a55ddef729a777f6c713955b2d43977a7bf378bae24dd3890cd54082f5c3933" }, { "id": "PTO-INST-TILE-TCOLEXPANDEXPDIF", - "sha256": "c50c6e11c585b6e2519247a3f8f2d117b8a6d9345c859c61e59c87117cee1f49" + "sha256": "01e55066e962c0e3bbcae5f0a41292191c9121916585f5f056313d048b050521" }, { "id": "PTO-INST-TILE-TCOLEXPANDMAX", - "sha256": "189154b27a5cc0cc4eb2d410ce298a4845615924c2e655fbbf22a3e4f213d8f9" + "sha256": "a75f41c74540a100ae0e0d32e864e0815a70a58507798eb4113920dc4c2d8799" }, { "id": "PTO-INST-TILE-TCOLEXPANDMIN", - "sha256": "4b359c4f5d46b88906ef81c1f9cb104fbb0301ab5809b6724ba1e4350b939029" + "sha256": "215af71c90bdd080154adc6ccc73ef92312ceb6e8f686b224eb3e997861e5ccc" }, { "id": "PTO-INST-TILE-TCOLEXPANDMUL", - "sha256": "ac52df27e9dc4882f7128d4996ba44ee3329dcef8d02543358e63cfb1c96e1e8" + "sha256": "76f0f7ca5083c175ef75212bedcd2d82acc3ca5699e4c2ff8a6d64a5b474d29e" }, { "id": "PTO-INST-TILE-TCOLEXPANDSUB", - "sha256": "d9e4a4c4a7855167f9cff3c3bf5aa9198a5f0841f254ae420abd00341ea208f7" + "sha256": "3f29e43e19bd75375da0d7cd38a4f4077ee92d50eff4b9d1e432fef6a62ce64c" }, { "id": "PTO-INST-TILE-TCOLMAX", - "sha256": "4eb936b1d609f81f36c19b68fca8ab483cb00c9352dba4966d81f6aafe038372" + "sha256": "ef58f65db6624cf113b8333dd98255bf1bec25c5e381af837a4b6ec4ccf9127c" }, { "id": "PTO-INST-TILE-TCOLMIN", - "sha256": "dd24e4aa44d635c4a3653e1de89fa8e00c06c4928f3d028e9a161742fa146ac5" + "sha256": "7a7d76295b29c5708c73f1474af2ef36ef7172f69b656112501e97d310dd5146" }, { "id": "PTO-INST-TILE-TCOLPROD", - "sha256": "ccc3adb7386e4123ca86f3c3633be3a6f4d808ed1d2e0cf68e15442ad1d51a85" + "sha256": "b344ad1c3347b4ae6feb8e768cf5d1945fe613fbbc4d429b1b132c34766568a2" }, { "id": "PTO-INST-TILE-TCOLSUM", - "sha256": "9a78652e02127ccad096ecc8b9997ff29c10af353fc9332dd3cac6e58f6d1758" + "sha256": "ae33c10efd1177679eb0e1bf302ac396315e13939203c6497740a8b09ca7a22d" }, { "id": "PTO-INST-TILE-TCVT", - "sha256": "6ead29f8d4693f0070165342875c470532846047e67e907bb8e2e2fba472d844" + "sha256": "395404adab947a5ad960e1427c0bdce11da1c775a44501cd233836908dd67206" }, { "id": "PTO-INST-TILE-TDIV", - "sha256": "11818a2b15d1accf9c12db3697b997103a9fdad628919e5f04c120737de4f218" + "sha256": "dc883f6676e5ae04d88b2cbad9fd0800b1e3edcef3f10ab73d735dbcffdd188a" }, { "id": "PTO-INST-TILE-TDIVS", - "sha256": "f36b2984f98a28558e3ad986bb90d08dff0aaeff909beec116c7579eeea174b9" + "sha256": "162030a9a390c7709e3895c97cc7c425640ac5d021a185210cc0f94a817b83f2" }, { "id": "PTO-INST-TILE-TEXP", - "sha256": "1b5fbfe42abda6a43a1dd04e6960db21890d2ea257cdb7e9c581f26e2d3a4110" + "sha256": "093ebd39e1b329c7fa4c2ffb98343b933070248b369e882e3896acfe585b1e17" }, { "id": "PTO-INST-TILE-TEXPANDS", - "sha256": "cde979de2b3d15f8d1e72270bbe567c6621d4587736bf795c3acced6e70ee7ab" + "sha256": "7b3759118ca8fd00c69e250e541604b0720cfc61cd4ac05b4a3b5e798d3d6afb" }, { "id": "PTO-INST-TILE-TEXPDIF", - "sha256": "19adb9f2cae31ad3d062d2041a5ce02d8ffc670f02355055425d321c3c664a91" + "sha256": "a963c0225f0a644f0d0fa3c848ebaa9326c868c0c194eee87aff608caeb8c0ef" }, { "id": "PTO-INST-TILE-TFMA", - "sha256": "8d457939022f77f6885ed1bd922a861ea4f6f3b879974741395253bab5a58c68" + "sha256": "4a1abf0d639d0c98658d924862dbd8243d126d2159b79438fceb5a080a97e575" }, { "id": "PTO-INST-TILE-TGATHER", @@ -11678,17 +11554,13 @@ "id": "PTO-INST-TILE-TGPR2T", "sha256": "20efacf6f27fbd92502c65ef79235c7d2313c27f274ea97f00a1a7fc05f68cb0" }, - { - "id": "PTO-INST-TILE-TLEA", - "sha256": "6e2e187ca03c5b1af5d31edfa02d76a4515c4d66e003af34c58dbd0ecc350eb0" - }, { "id": "PTO-INST-TILE-TLOAD", - "sha256": "6ce50ba346bdd53fd8ebb4ae6dc73cbaa082aaa0492dbc1dc4ffe45b30d80f49" + "sha256": "b19e89198771dead79fd478a729429573072b1b683e96f121ed11639e81d52e5" }, { "id": "PTO-INST-TILE-TLOG", - "sha256": "6998dfec15467dd676424264b531ca6523f82ab13b0bf4e04babe49884a6df02" + "sha256": "a206f902865d8d67180f7c2c48ada03a3ee52885397b004655ded25537cbba8e" }, { "id": "PTO-INST-TILE-TMATMUL", @@ -11716,135 +11588,135 @@ }, { "id": "PTO-INST-TILE-TMAX", - "sha256": "4d8241168b873889734fa4f2e6bea9f7c8534f66a3006683ef1d44aeca02c766" + "sha256": "1247621b8bf786cfa760ac3a686d1c0ab4e8c1b27afff8055656d987d616322b" }, { "id": "PTO-INST-TILE-TMAXS", - "sha256": "3ad9c5a19cc5ca0ce40173b61a29f32ea0b94bcea43077e25c906a8431fcff55" + "sha256": "7c1f0e616cec774fef87fe69112115eac51c072c8e169d35cf18fdb6dd172627" }, { "id": "PTO-INST-TILE-TMIN", - "sha256": "15a9b39432e317a869d56bf97d631cbf67408f478fc5ad09fb4828e80ba1037a" + "sha256": "4ce1cfd910b8b7914b29471910c1a0c117a31fc924e1f566abe670e1c65f5e78" }, { "id": "PTO-INST-TILE-TMINS", - "sha256": "fa041cef7937968330ffe6b46867932e0f2e3119872241cd308520b7639596bf" + "sha256": "9c45c5af89e1fd4330dc7543b922914e57df709fce59ec1d024bae7eb0e9aa07" }, { "id": "PTO-INST-TILE-TMOV", - "sha256": "b4d84aad3d0e1bd4a6937305ec643761922c89cea5feff82579ed223375b47e5" + "sha256": "bbbdd05d6a2ef9ce3a1571e0b4fb9105e923ee03a0787134dabe1ef3a94bc6a4" }, { "id": "PTO-INST-TILE-TMUL", - "sha256": "6331f23752eff4b72cb8d8cf6c66b9509591821eb75eafd4c4fe6dba28218971" + "sha256": "c85359dd27d2d67f1249f2c57cdf2a31e73a66c370e38b98d74dab254d93a395" }, { "id": "PTO-INST-TILE-TMULS", - "sha256": "653f9c62f4f441256ed3e5efaf4a0d7d9e831b22269642336280f37028f18537" + "sha256": "319b68fd7295b9b994420a99ffd724880c868b2a6d95901d29fcf6ad9f208fca" }, { "id": "PTO-INST-TILE-TNEG", - "sha256": "4163d1a303336e99b00e9a9d033c4daf8e1c030e196863b85de53479eee92fea" + "sha256": "afcfd3d67163a71ece5cc56e8336eecd2ba83ecb22b99fa1917d2eda6b44355b" }, { "id": "PTO-INST-TILE-TNOT", - "sha256": "c891d0ee264135e4661c944e252e8f8a2eba3a2dcefc06f3084dbf40ed272182" + "sha256": "59c10d61c1fafcb0c85ac1d701ae5f42be0963a77eaa5365332d30727e71e7ed" }, { "id": "PTO-INST-TILE-TOR", - "sha256": "efa049f0bbb7aa637b800b6d94af7d3850921a81fa7a20ef32f91bb7b9ba4049" + "sha256": "830b8e811b6bb4b729731ec930d9f64af31ce85ad4a4c14669fd09a7f4de2aac" }, { "id": "PTO-INST-TILE-TORS", - "sha256": "bd404314d9e2b1bd3bdc1f510351cfdce4cf2f01c3b9695e51640b4f693b3cf3" + "sha256": "3c601be5dd1f241bf3af8bc2e948f8790884f4347208e4dc20e161a2ad0df8f3" }, { "id": "PTO-INST-TILE-TPACK", - "sha256": "795f2682460802b39dbaf5412e809b9045a7cbaf069055fae38ad25ab87c7e6c" + "sha256": "bd722a71c312bd4c7206bb073d9e886d37b0bbc811f3e9f728a1b0ec78aebffd" }, { "id": "PTO-INST-TILE-TPERMUTE", - "sha256": "9745299c4b0d2ee92f7496f96c7cefa47846235d9a6a01de2225b65294a5e9c0" + "sha256": "70d4992e5880ff4d667655767678959726482a3928fba80a4eb4a6d1d20f7f68" }, { "id": "PTO-INST-TILE-TPREFETCH", - "sha256": "4165205ac4d7ae9ddcb541b9ff9b80876aea21ae86fda0b2e9a80ee82b31d747" + "sha256": "99b8e78b72f66c1532dba84df6897bb02be7369071cb6993e2888a3cfd94b9c3" }, { "id": "PTO-INST-TILE-TRECIP", - "sha256": "d2b5a86e2b5a428d52c69c5397df913028e1e44f3e62651d3411f39204e0e177" + "sha256": "0db1fe188065e6c1bd0fb11e495d9ec84d300f8d631ec064653ea8e061ce6934" }, { "id": "PTO-INST-TILE-TRELU", - "sha256": "3c3a8273f1ed4358dee176ffc2c8fe42972f40801d133eae9b59ec3c5266b939" + "sha256": "eb4b6a13d7b45a8dceb4790291fe9cb25cd9c21ed81600405c7b1decaf5c59e7" }, { "id": "PTO-INST-TILE-TREM", - "sha256": "fc5a931e430b34eab351360529191022e437f5922ec260a859445e52670e24db" + "sha256": "18b1db79fc72758e6627645b08f2195f23905d29c8e3f14418750edd134268b6" }, { "id": "PTO-INST-TILE-TREMS", - "sha256": "56e7868a259cb451f8605f60b149a9a78ee17351b39a885a2a373c289b90541c" + "sha256": "460b16b467bdb7025f113f6ab45d1d758e5288c9f6bd8020267559c1ff0d4215" }, { "id": "PTO-INST-TILE-TROWARGMAX", - "sha256": "4b7bbfa9c27c0c0b29125d29626b374faaab28cb38971c6bfe30f580d6b0bcdb" + "sha256": "98f925780aedfe1c5f7cd14678946c7d8d5e0fb91593a9e8363f1d8f7fdfdf03" }, { "id": "PTO-INST-TILE-TROWARGMIN", - "sha256": "2167325b34b5807ebcca21c51593f34f69718cbccf28f4d6a504963472d33267" + "sha256": "de1c6c3c3b2cdd9bac4f7e5043c252c1e3ea0f36d853b5a620ebc31b46ed89ff" }, { "id": "PTO-INST-TILE-TROWEXPAND", - "sha256": "b37dbfee1e817f7ddcab484afe9f9f5039bf9bca4c141f00bf79b07c1ad841b9" + "sha256": "bd8e3bf1447b5129b87943e434650b43ea4db40f193497053c54a5c0440e2835" }, { "id": "PTO-INST-TILE-TROWEXPANDADD", - "sha256": "f065e7ddad602078917bc309d59268d03a8190d19338da1ea6ff995313c01a95" + "sha256": "96e90e45688190aff7e469f946dcbfdebba28b0d097b482de479707c92bb0709" }, { "id": "PTO-INST-TILE-TROWEXPANDDIV", - "sha256": "a961b3dc8e103cdadaa84530fc6c9d08a63ddc3f382690d586e09d6401bccb11" + "sha256": "fd3d73a5bc827ae87888f804d32f2737d86d4f6d539cc8bf2a3615b544322f72" }, { "id": "PTO-INST-TILE-TROWEXPANDEXPDIF", - "sha256": "788cc0a330fa1c8a742efe6c8c349ae6c6446460ea6ca202e34ac1a05fd5a8be" + "sha256": "a42b8b1217e5781589ff6f03f00fdfa367655160e5768d4a9f30ed57a162af6c" }, { "id": "PTO-INST-TILE-TROWEXPANDMAX", - "sha256": "75b353f39249805b05d7787824b455c7b381903491d50edb7d4b9b26313250f4" + "sha256": "c5c0453486623120ddb6cd73cd8b726dae602c71ca8d810758302c2e95e52a10" }, { "id": "PTO-INST-TILE-TROWEXPANDMIN", - "sha256": "e71fe1e41dbf9b8a2da20864a3ae31cefcce5f1d08f239ed522124d598bbfa0c" + "sha256": "0dea2d68e53593a85f34ec411b3296d5b49113963a2c71a1f09aa3b9db2ba509" }, { "id": "PTO-INST-TILE-TROWEXPANDMUL", - "sha256": "41af4c38fea25109e5edeea7e74d523aad87d5252042d58f3bc06fb8a88ece84" + "sha256": "563b4b8ba13e2cfe139ddf1b8fc6ebdcb0cb2f3e0c3ff9bc681e7e1de677ab9c" }, { "id": "PTO-INST-TILE-TROWEXPANDSUB", - "sha256": "548da9f91e7871cedf58b258243b923225c1bb915b421481400467a356fb8278" + "sha256": "bb45f0487187ea42f3df6d140717d64ad5b6f607ca78cd5557d468cabff18c56" }, { "id": "PTO-INST-TILE-TROWMAX", - "sha256": "e90f9740005372ddfddd04483bd8ea4f890f24d8f864ddbc7877b950de926dca" + "sha256": "a4822a5ee52a144b3c2d17a58dc73763cb8b9d0243b0ffa4d1769953cd4a4d77" }, { "id": "PTO-INST-TILE-TROWMIN", - "sha256": "b88fb051933f49b15bd47b004895b5c606c1c8a3fcc64439147e712a7ec8828d" + "sha256": "46a0ffe8c58a9f768e43302e991969b096f6b973938084c946dfe62aee5c50bc" }, { "id": "PTO-INST-TILE-TROWPROD", - "sha256": "07e91df017f965739eed9d030cb39aebeea1719fc55a1dd5cd1377bb74ff6faa" + "sha256": "e832db466d1def48c058af32ffb0336ae7a0e191639e6e87cdb0af9682e3e190" }, { "id": "PTO-INST-TILE-TROWSUM", - "sha256": "782d88972740d180161fcebfa6ed697d7adbfc798c3901154dab821797c39be5" + "sha256": "e4a292a5b2251269bd1d613e02f09d5c7ae03c20bafe5d6f511e8746a4dae31f" }, { "id": "PTO-INST-TILE-TRSQRT", - "sha256": "0f7f56065cf6c1dedd98a303ff4d099ac97619362a19425f808c040fd0bea4d6" + "sha256": "5eca9695594230ad3738fc7f886265aad90b39e4c96d95db10752f7d167be3e5" }, { "id": "PTO-INST-TILE-TSCATTER", @@ -11852,63 +11724,63 @@ }, { "id": "PTO-INST-TILE-TSEL", - "sha256": "66d91742d332c390a75cdf73ad67132034b045579d4c055fe76190915c8caab7" + "sha256": "e1ba6d1ca9d9424193b57f72b226b3541f883eafcc402416e043e0b2e249049a" }, { "id": "PTO-INST-TILE-TSELS", - "sha256": "824de42133c216a8182fc10c5842eebaa937c327b2748eb7fc84df0084485ee1" + "sha256": "ff253d3abb1a281e3c020790e509472c0e01f8da8b67e103d7e988ff277bfbac" }, { "id": "PTO-INST-TILE-TSHL", - "sha256": "04804502705deebbb48acc04c6fecdab3e4b50b20812ac7e040b368a27689137" + "sha256": "8a0094a6561f96133fee6a0bf5aaaab2fae2bd2695ae59cd119a3dc01d0c3e51" }, { "id": "PTO-INST-TILE-TSHLS", - "sha256": "657e3069425d343682907ae7fe127cee9f4c90a2e0d8a57a7cc1f494bef36471" + "sha256": "c79781434b5e8bd567710e0aa9d046bc729fc3d23cc3685bd02203155e54355d" }, { "id": "PTO-INST-TILE-TSHR", - "sha256": "536f6bfce4ee5b5086ca812fdbb82e8db702d08c84d9ddc4f2c50ecc80e90925" + "sha256": "a5639220f85881f135c9f1a275977d14813a3a4e6bc508ef9fc1a306d94bd4bf" }, { "id": "PTO-INST-TILE-TSHRS", - "sha256": "865cbd5f15d35fd3c11e3efe5d8edc61b3147534741e4240b3f781f0e2e96f35" + "sha256": "993f74e765d9ad548665cf07e28db49b5ef7fec7db83c9b2de0d7bc43b92ab58" }, { "id": "PTO-INST-TILE-TSHUF", - "sha256": "3a89d7bf24ccf39ffedd3704733aae300fd62374a3a5afd201867b7d84857d1d" + "sha256": "3c4b900682899c78a60285a8b35f3865d30a49a4f600d62db0a57091f252847f" }, { "id": "PTO-INST-TILE-TSQRT", - "sha256": "7843ac761789c19569ecf13e56c58195b1c83d8c3d601d0bd14a52931777a302" + "sha256": "1c73289e19dda2a606097bf1e70d2d36652639ffcdae1d597ab29c8caf9293dc" }, { "id": "PTO-INST-TILE-TSTORE", - "sha256": "6668b48cfd0cae5eb7709d74b8bac54a4e403d2cec6c388d231298a028ee8c12" + "sha256": "603d18664fe8c680d421c2d582fe00a083c4e61275c6f499df856e336e4a782f" }, { "id": "PTO-INST-TILE-TSUB", - "sha256": "262d115f3cc7f4d4bf60075dc692366d12818955f0a2b742267fd4e16ed4588a" + "sha256": "526410776b7ddda008c1e7aaddf933b4e638ef54c32764fac2e3b2ec7831a023" }, { "id": "PTO-INST-TILE-TSUBS", - "sha256": "8945194ba7bb41a67663811de9606b6854d35803fc9a349db780f7ef9f9dd8a9" + "sha256": "f0095fd819907c1e9b74c9d63bef00577bf02ad50c281ca4a3cf71f23d379aaf" }, { "id": "PTO-INST-TILE-TTRI", - "sha256": "befbe31f6609563c1bc555bfa4c46e40f2c187e75d30733bc6815b1592de1f83" + "sha256": "5ad80539e631cd991950ac62fb2cc249fd4d5a7e01135a68e096fb8a7da27054" }, { "id": "PTO-INST-TILE-TUNPACK", - "sha256": "ac5b5e04008c64884d7bbb7482335403d52b1047e1729c20d18944c9be73d63a" + "sha256": "294aee50030d6caee4ca60444f0e12986d9f403a2d6b42849953cb36b4a99e91" }, { "id": "PTO-INST-TILE-TXOR", - "sha256": "b54761a6e9c1ce334c30c3ce749b6f2fcf56ced756b2e829b6af3df79707e788" + "sha256": "02cc373660f61dc15f5b5f90c012cde5a1e615c6cc4fcc2998f0a5cf0a8e81c5" }, { "id": "PTO-INST-TILE-TXORS", - "sha256": "9554a0412cfbf19931aa0e41156923d76f0c334516039dda0df6ca5b0522c1a1" + "sha256": "3a29480d08491434c94c433ec9361c2a0b95e158f812bc3ecdea1cf4b59496c4" }, { "id": "PTO-ISA-LEGACY-SHARED-MOVEMENT-001", @@ -11926,10 +11798,6 @@ "id": "PTO-L-BSTOP-DECISION-BINDING-001", "sha256": "03bef46db794911c44d70975cf4f58251b60e59e2dbb2266484fcbd14d8d88e3" }, - { - "id": "PTO-LOCAL-TILE-B64-APPLICABILITY-001", - "sha256": "f193d895982d321745e5540679eda3c35c30b2f1960fe368e37aafd42752e3ee" - }, { "id": "PTO-LSRGET-BARG-001", "sha256": "ecd8ae7b7848fa9aaedb96b731d9dcaa1fbb696b31380a806554876938a2a18d" @@ -12352,23 +12220,23 @@ }, { "id": "PTO-TCI-CONTRACT-001", - "sha256": "75783b354e2baab4f3d69255e25ad69dbd5dae6f5b3d389ffbd1195b9e741376" + "sha256": "61a8d7e19de53a4268e1609b88265e2243a08998d31f4641f888a370f2b52640" }, { "id": "PTO-TCMP-CONTRACT-001", - "sha256": "4ac6b28b9821f495bddd7c1675ec615cdf5b304f98308ea809adc90cb083b390" + "sha256": "9441fd921bf8d112aabae85675bc974ccfe901420d104d4aa6918b56cf380f8c" }, { "id": "PTO-TCMPS-CONTRACT-001", - "sha256": "232067df3f35d021829081a058d543951b7918fa4f26e6780b2063bf96741eef" + "sha256": "a8392586c4f1f8ba47de818565adb737922e696081e39c86f757ee231162ae4e" }, { "id": "PTO-TCOLARGMAX-CONTRACT-001", - "sha256": "f739dd28f9cfdb52d0e933847525f60b3137d2457550c26eaefa63b0ffaf4149" + "sha256": "5bd53e8d52f5d738f099dae6fff6b07cc6efcbfd8d0348ba2725d5379332058b" }, { "id": "PTO-TCOLARGMIN-CONTRACT-001", - "sha256": "3cc488fc321cbbf62a52ac340146a034feb48679eede4f6dde4850e3b4daa37d" + "sha256": "05b35a28d15bdc20246bc0d34f6f15a056c74c89ef59a9aee41bdcac9c15cdb7" }, { "id": "PTO-TCOLEXPAND-CONTRACT-001", @@ -12384,7 +12252,7 @@ }, { "id": "PTO-TCOLEXPANDEXPDIF-CONTRACT-001", - "sha256": "28138d24f77cd49335cfc792e0d1ab2b2d7418c843281254e64d268e707a6959" + "sha256": "e61e8c0a43519c5c5d76e869648c57df12d3e0a852e13b83555f07df41141723" }, { "id": "PTO-TCOLEXPANDMAX-CONTRACT-001", @@ -12404,19 +12272,19 @@ }, { "id": "PTO-TCOLMAX-CONTRACT-001", - "sha256": "9aa8a1377728d55400579b90acc932a555ae34c151909bc95102256191f7f6dd" + "sha256": "552d3669fc17d2e0f25fad2a91d4ebabb96fba1bd6701f3a27aa31280ce80846" }, { "id": "PTO-TCOLMIN-CONTRACT-001", - "sha256": "b25fd112c57e38317b19278f078a2f46b0985351f079512e9a7bbb064dfb37fa" + "sha256": "6df5d92b62421e0bb0e9e1288ea560991b4bdb343ea75d8bf1c67f00e93d26f6" }, { "id": "PTO-TCOLPROD-CONTRACT-001", - "sha256": "5a60cae73d865b28eb0ec2e1fc006af32d771e7780ce14ba78f8ae1b4a8354e3" + "sha256": "c6c3208815fe2f78c65db4427eb36eb05fdcb24be65ed7de2a6cd2f33598cb50" }, { "id": "PTO-TCOLSUM-CONTRACT-001", - "sha256": "ab4301b392776e729bb595a74ca41874813489c2e2f9dcbcbe657d0e17d4d3a8" + "sha256": "513dbd218e9df50e92210f328b15e0fd78180fffd0bcf6a5b2fead60d763b917" }, { "id": "PTO-TCVT-CONTRACT-001", @@ -12432,11 +12300,11 @@ }, { "id": "PTO-TDIVS-CONTRACT-001", - "sha256": "c5cd3415008a7cfda1801ee42974a26f1716f5c0bb797230c207156cd74142e6" + "sha256": "6aa0109213a546877117cf58d5c662a54b91c3d40b0a225ade66523fbb76e048" }, { "id": "PTO-TEXP-CONTRACT-001", - "sha256": "e6c43d008f62d1f9f09816ffaec783f62d3e2a0a0c23665b79bc8208bf621800" + "sha256": "4ad20c2fe6eabec79c6dc79915dd6516c204ece085b8057fd20fd056cc99fc05" }, { "id": "PTO-TEXPANDS-CONTRACT-001", @@ -12444,7 +12312,7 @@ }, { "id": "PTO-TEXPDIF-CONTRACT-001", - "sha256": "5ff79dc4a16787fc16a0e68f4ef87391183219b654bdb19cd3036ffa5f6e2a2e" + "sha256": "486d73bc0ade89727d0a9c9a908df7774971f3fa9fa67c2424da380d0d3d6a4d" }, { "id": "PTO-TFMA-CONTRACT-001", @@ -12488,28 +12356,12 @@ }, { "id": "PTO-TILE-CARRIER-REINTERPRETATION-001", - "sha256": "129b1e5c79937e8741babadb4ec5232bc519920fde2c2c855b5be549c8ee841d" + "sha256": "04842f3bb973a3d213a0894b9049b87a3b6123bdab8bba09ca58004c50dae5a8" }, { "id": "PTO-TILE-MODEL-DEFINEDNESS-PREDICATE-CELL-001", "sha256": "d8443303a1f917287b65b81479eb6d57d117ac11870f8711605688620083cca4" }, - { - "id": "PTO-TILE-MODEL-EXECUTION-MASK-APPLICABILITY-001", - "sha256": "7f2f3689b119eb30cae69302bd7bf27084fb4548e11d5d29559fec71786f875b" - }, - { - "id": "PTO-TILE-MODEL-EXECUTION-MASK-EXPANSION-001", - "sha256": "8bba0b47e65829e1fab8ff30cd78203dac663ff61affce9d001852315b114bc8" - }, - { - "id": "PTO-TILE-MODEL-EXECUTION-MASK-EXPDIF-001", - "sha256": "ec041cccd29a5c40a9858d7c2ced853d3b8e338d326901295f01b9b28f11776a" - }, - { - "id": "PTO-TILE-MODEL-EXECUTION-MASK-REARRANGEMENT-001", - "sha256": "aec5a1d2c54867da8852e170e877fc65a903630524a1dd00ef264e93afda78e6" - }, { "id": "PTO-TLB-IA-ADR-CONTRACT-001", "sha256": "c72df85ee669fad45adac245bb31982f55f05c462bbf8b9d8ce4aec3130faad7" @@ -12526,10 +12378,6 @@ "id": "PTO-TLB-IV-ADR-CONTRACT-001", "sha256": "0c60e1212447647dffdc0d9853284f423c3abf416a21848a1a9e0626639336bf" }, - { - "id": "PTO-TLEA-CONTRACT-001", - "sha256": "3dee7e3b3bdd89068ec9f7e3e6f0a52c9d1385be6c8e24f11c9dc157350085d2" - }, { "id": "PTO-TLOAD-CUBE-001", "sha256": "51fb76ace722301286a41e3615bab5b66aa29913123a9627bdd943e71234cdbe" @@ -12612,11 +12460,11 @@ }, { "id": "PTO-TPACK-CONTRACT-001", - "sha256": "aeca67a737a5874ee8a24942ab5615c921818b2fbdd8a44bbae8b8040797858d" + "sha256": "14b1a53a74d5e9f2d88612fc882835fb002928dab61b43a18ac7e761ac5b0992" }, { "id": "PTO-TPERMUTE-CONTRACT-001", - "sha256": "4b0b1dbafaacac24a7b7861e309a597394e17b88d29745c00843ed4702998119" + "sha256": "c635e3c1f3b071aecb9a5cec28f3d594572b93a0dc27cb8c4e95e66f1969889c" }, { "id": "PTO-TPREFETCH-FOOTPRINT-001", @@ -12636,63 +12484,63 @@ }, { "id": "PTO-TREMS-CONTRACT-001", - "sha256": "32bc9e21cd847bfaf7ff10ef4ab1ffa6e8c9fcf40284331ecf81a157331f6776" + "sha256": "83a8da98c38d25bc5742bb3cef21706d3d440abf45c52d9ad532db7be2335c4a" }, { "id": "PTO-TROWARGMAX-CONTRACT-001", - "sha256": "626896a42c2bcfa27865ca0035b39605318fe6c81859c69b2d947eb603ac181d" + "sha256": "d944eed46cf6d391d6e1492aab71f1421db5ce23e278d53cb1a838209e063dd7" }, { "id": "PTO-TROWARGMIN-CONTRACT-001", - "sha256": "869608a725a3a146be93b06590eb89da8217a66c71ba6109566f39e2b9869562" + "sha256": "fea060c6a9e216be45772fd775a107282a50003a1c481fe19a09f0cbab72ab02" }, { "id": "PTO-TROWEXPAND-CONTRACT-001", - "sha256": "7c66a214e3c5f6a9e42bc0954e3dff7cf55571b44d6a776341d7a98ee20e2ab4" + "sha256": "46cc19c0af48720e607d47b836b1cfa7ec3adaf46bb392fd6900a122ef3f7a27" }, { "id": "PTO-TROWEXPANDADD-CONTRACT-001", - "sha256": "8ae0e51c200802052051324428fd5e402402c06485f5b757b8730545305485cd" + "sha256": "441237865d1586fc71ba31c1f7c098f3113735a71489afc810f285a7b28a5aec" }, { "id": "PTO-TROWEXPANDDIV-CONTRACT-001", - "sha256": "a0d6d715aa2a8b66326bc62038fd21e32fd73275c8bfd2e144b0ec48974bf16b" + "sha256": "3306e578180ad33ccd7aa0baff98cebcb6b20fceaecdf942c887f087aa52f94b" }, { "id": "PTO-TROWEXPANDEXPDIF-CONTRACT-001", - "sha256": "909ac483e14e027d70c204e60424645ef690a43381133a82e0e462179563b341" + "sha256": "d77e28c2e193d170ad3ee09b531f08cc1ce93fcca9d5059569760b5d21dba8e7" }, { "id": "PTO-TROWEXPANDMAX-CONTRACT-001", - "sha256": "701a9cf618bd9abb5a52f2092535c442c57c54fdc527025453967e6473079f2e" + "sha256": "5a2e8bed83a11d29aaabd6089cc01ba0fc49ad0e4ee4ba93e392d9764c4b8a5a" }, { "id": "PTO-TROWEXPANDMIN-CONTRACT-001", - "sha256": "a7ebd7a60ac89bd3a973746e4f22b3aadc13b16d8d97df283060f21eecb67262" + "sha256": "1b52e28b1115e4d569df722d080509b3ab9282cdfaea7d9ea93b61e7ae22cc3e" }, { "id": "PTO-TROWEXPANDMUL-CONTRACT-001", - "sha256": "b719fe08e7cd27a68e02ad54fc1d2d04542b6643ccbbcdb740bafcbdeb16c1c8" + "sha256": "96466f63d7df7678109300d4aadc0e2c1cdab957c65ad18b012f964ab7e252aa" }, { "id": "PTO-TROWEXPANDSUB-CONTRACT-001", - "sha256": "c07a4f3762f2834efbe0958729afd145dd2d9e1a7473e312e7fa1548d69edca0" + "sha256": "864ad084ef7a023584e2ae37cdf7c51b03272bfd5ecf16740f17eba180aec5c2" }, { "id": "PTO-TROWMAX-CONTRACT-001", - "sha256": "6075ef31fd40d88d6fb341211f550273c1e6dc6598211e0b7c2b7fd9cd068b89" + "sha256": "3311f5db7a2a32f3a1cc642636474d6b3495d2428f8a11b4f964a62bde55c8d6" }, { "id": "PTO-TROWMIN-CONTRACT-001", - "sha256": "1405d61c1912bc3f5a88d1598e1a77143e23d614ebfbc1fdb97bed6e9092d35b" + "sha256": "ec28358ca0b2b29f2a7e9aa468f3bfde97bd100245549c3275bec86862a25c18" }, { "id": "PTO-TROWPROD-CONTRACT-001", - "sha256": "1e22dfd5eb44609a63af9fce463d2818cb37c5d8f28994cc4058e2414b8bafdf" + "sha256": "b58b0ab583b57854c1dd382ff5c92d1b5ca62fcca912c2775688437ff218dcee" }, { "id": "PTO-TROWSUM-CONTRACT-001", - "sha256": "f0f3bb7cb5928a1280a4737aa6966b905438072bb154766c5299502d7216646c" + "sha256": "984fd6a07d4c2f772a136b72faf51d0c784429fe538d8236468c933ca060b684" }, { "id": "PTO-TRSQRT-CONTRACT-001", @@ -12704,11 +12552,11 @@ }, { "id": "PTO-TSEL-CONTRACT-001", - "sha256": "0b2edd7a0a58d841155d94818794fe2cbc2b9f995be366c30f6c2ec3b1843bd0" + "sha256": "445c1f7aff34383a525134f6c1f7949e8a2a6590c5ac29a4fca51a5019b991f4" }, { "id": "PTO-TSELS-CONTRACT-001", - "sha256": "282c2a1ab0770c1cf8f84cff8885a54add946c665f4a347758baeed9d05a47a2" + "sha256": "662ce1a06555a2ad0ad8396c444fc567640d9b1140e6c6132a9de00b100ed5c6" }, { "id": "PTO-TSHL-CONTRACT-001", @@ -12728,7 +12576,7 @@ }, { "id": "PTO-TSHUF-CONTRACT-001", - "sha256": "d978b18015d90a7eef9a658c52e163a959b0511c85d2a4ecc75e34fc01ea5deb" + "sha256": "8db69614536d6c93731ca31a0e43621f7b86bd5f15ba7ed8090ef8cacb1d3a68" }, { "id": "PTO-TSQRT-CONTRACT-001", @@ -12752,11 +12600,11 @@ }, { "id": "PTO-TTRI-CONTRACT-001", - "sha256": "69c344fb485fb6a9bf62b3109bb1bdf7a302a34544d035fe03cbdb41a952f830" + "sha256": "37e92d7e4d786585ca375a2d94bdf2030572d76d28d7d2db0fe85c286c47a640" }, { "id": "PTO-TUNPACK-CONTRACT-001", - "sha256": "307345ffb98484129a0d2629b67f31ee3d15bceed63b657b29a048f257e65867" + "sha256": "d420984215ce2f7a466947f6cae89073e12a08be17fdc96b446541cf4c0eb9d8" }, { "id": "PTO-TXOR-CONTRACT-001", diff --git a/specification.toml b/specification.toml index 49fc60ffa..50f90c183 100644 --- a/specification.toml +++ b/specification.toml @@ -16,7 +16,7 @@ formal_model_issue = "https://github.com/PTO-ISA/pto-spec/issues/18" [architecture] xlen = 64 -scalar_forms = 466 +scalar_forms = 467 command_forms = 96 system_register_definitions = 72 trap_numbers = 13 diff --git a/tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl b/tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl index b9bca1446..26ab8569c 100644 --- a/tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl +++ b/tests/asl/arch/data-types/fault/arch-fault-complete-trap-envelope-001.asl @@ -32,12 +32,16 @@ end; func CheckServiceRequestTrapMapping() begin ResetProfileState(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x300); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); WriteSystemRegisterAddress(Zeros{24} + 0x1f01, Zeros{PTO_XLEN} + 0x900); SetCurrentACR(2); WriteTPC(Zeros{PTO_XLEN} + 0x400); let entered = RaiseServiceRequest('0001'); assert entered; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; assert _LastFault == Fault_ServiceRequest; assert _FaultAddress == Zeros{PTO_XLEN} + 0x400; assert CurrentACR() == 1; @@ -65,9 +69,46 @@ begin assert CurrentACR() == 2; // TRAP-WITNESS scall/assert-restart assert ReadTPC() == Zeros{PTO_XLEN} + 0x404; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; assert !_TrapContexts[[1]].valid; end; +func CheckNestedServiceHandlerOrigins() +begin + ResetProfileState(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x300); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + SetCurrentACR(2); + WriteTPC(Zeros{PTO_XLEN} + 0x400); + StartMemoryEventCapture(0); + let outer = RaiseServiceRequest('0001'); + assert outer && CurrentACR() == 1; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + StoreWithOrder(Zeros{PTO_XLEN} + 0x800, 8, + Zeros{PTO_XLEN} + 0x11, MemoryOrder_Relaxed); + let inner = RaiseServiceRequest('0000'); + assert inner && CurrentACR() == 0; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + StoreWithOrder(Zeros{PTO_XLEN} + 0x808, 8, + Zeros{PTO_XLEN} + 0x22, MemoryOrder_Relaxed); + let inner_return = RecoverTrapContext(0); + assert inner_return; + assert CurrentACR() == 1; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + let outer_return = RecoverTrapContext(1); + assert outer_return; + assert CurrentACR() == 2; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + StoreWithOrder(Zeros{PTO_XLEN} + 0x810, 8, + Zeros{PTO_XLEN} + 0x33, MemoryOrder_Relaxed); + assert _MemoryEventCount == 3; + assert _MemoryEvents[[0]].origin == MemoryEventOrigin_Handler; + assert _MemoryEvents[[1]].origin == MemoryEventOrigin_Handler; + assert _MemoryEvents[[2]].origin == MemoryEventOrigin_Kernel; + StopMemoryEventCapture(); +end; + func TestCompleteTrapEnvelope() begin // TRAP-WITNESS case/EXEC_STATE_CHECK @@ -82,6 +123,7 @@ begin CheckSynchronousTrapMapping(Fault_ServiceRequest, Zeros{6} + 6); // TRAP-WITNESS case/SCALL CheckServiceRequestTrapMapping(); + CheckNestedServiceHandlerOrigins(); // TRAP-WITNESS case/INST_PC_FAULT CheckSynchronousTrapMapping(Fault_InstructionPC, Zeros{6} + 32); // TRAP-WITNESS case/INST_PAGE_FAULT @@ -100,10 +142,15 @@ begin CheckSynchronousTrapMapping(Fault_Assert, Zeros{6} + 52); ResetProfileState(); + let interrupt_launch = LaunchKernelInvocation(0, + Zeros{PTO_XLEN} + 0x2f00); + assert interrupt_launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); SetCurrentACR(15); WriteTPC(Zeros{PTO_XLEN} + 0x3000); // TRAP-WITNESS case/INTERRUPT RaiseInterrupt(63, Zeros{24} + 0x55); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; assert CurrentACR() == 1; // TRAP-WITNESS interrupt/assert-number assert _ACRTrapNumber[[1]] == Zeros{6} + 44; @@ -119,6 +166,7 @@ begin assert CurrentACR() == 15; // TRAP-WITNESS interrupt/assert-restart assert ReadTPC() == Zeros{PTO_XLEN} + 0x3000; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; ResetProfileState(); end; func main() => integer diff --git a/tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl b/tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl index 67304ee41..e847e65e5 100644 --- a/tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl +++ b/tests/asl/arch/memory-model/fault-precision/arch-static-fault-precision-contract-001.asl @@ -1,5 +1,5 @@ // Generated by scripts/generate-mnemonic-avs.py. Do not edit. -// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001","source":"asl/arch/memory-model/fault-precision.asl","requirements":["PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-FLUSH-001"],"kind":"static-invariant","summary":"PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-MODEL-FAULT-PRECISION-STATIC-001","source":"asl/arch/memory-model/fault-precision.asl","requirements":["PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-FLUSH-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"static-invariant","summary":"PTO-ARCH-MEMORY-MODEL-FAULT-PRECISION compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} func main() => integer begin assert TRUE; diff --git a/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-acr-004.asl b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-acr-004.asl new file mode 100644 index 000000000..a42dbed26 --- /dev/null +++ b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-acr-004.asl @@ -0,0 +1,108 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-ACR-004","source":"asl/arch/memory-model/gm-obligations.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"same-PC dynamic TSTORE requests retain distinct ACR captures across real handler recovery","pass_condition":"a first deferred request admitted under ACR2 and a second same-PC request after real recovery under ACR0 keep separate domain, identity, address, source snapshot, and ACR provenance; actual scheduler progress completes both without reusing the first capture or late fault","related_sources":["asl/arch/state/trap-context.asl","asl/tile/model/memory/load-store.asl"]} +pure func DelayedTStoreStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00111181; + instruction[31:27] = Zeros{5} + 25; + return instruction; +end; + +pure func DelayedTStoreSource(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '111'; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func DelayedTStoreAddress(base: bits(5), stride: bits(5)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = base; + instruction[24:20] = stride; + return instruction; +end; + +func SubmitDynamicStore(address_value: Word, value: Word) +begin + WriteTPC(Zeros{PTO_XLEN} + 0x200); + WriteGPR(2, address_value); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + WriteTileElement(4, 0, 0, value); + let start = ExecuteCommandInstruction(DelayedTStoreStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let source = ExecuteCommandInstruction( + DelayedTStoreSource(Zeros{6} + 4), 32); + let address = ExecuteCommandInstruction(DelayedTStoreAddress( + Zeros{5} + 2, Zeros{5} + 3), 32); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert start == CommandExecution_Executed && + source == CommandExecution_Executed && + address == CommandExecution_Executed && + stop == CommandExecution_Executed && !_BundleActive && + _LastFault == Fault_None; +end; + +func main() => integer +begin + ResetProfileState(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x200); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + WriteSystemRegisterAddress(Zeros{24} + 0x1f07, + Zeros{PTO_XLEN} + 3); + SetCurrentACR(2); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + SetVerificationGMProgressDeferred(TRUE); + SubmitDynamicStore(Zeros{PTO_XLEN} + 0x700, + Zeros{PTO_XLEN} + 0xaa); + let first = _GMObligations[[0]][[0]][[0]]; + assert first.active && first.captured_tstore_progress && + first.executable_capture_valid && first.submission_acr == 2 && + first.base_address == Zeros{PTO_XLEN} + 0x700; + let first_domain = first.execution_domain_token; + + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert CurrentACR() == 1 && _TrapContexts[[1]].valid && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + var ecstate = ReadContextRegister(1, 0x0f00); + var control = ReadContextRegister(1, 0x0f40); + ecstate[3:0] = '0000'; + control[3:0] = '0000'; + WriteContextRegister(1, 0x0f00, ecstate); + WriteContextRegister(1, 0x0f40, control); + let recovered = RecoverTrapContext(1); + assert recovered && CurrentACR() == 0 && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + SubmitDynamicStore(Zeros{PTO_XLEN} + 0xc80, + Zeros{PTO_XLEN} + 0xbb); + let second = _GMObligations[[0]][[0]][[1]]; + assert second.active && second.captured_tstore_progress && + second.executable_capture_valid && second.submission_acr == 0 && + second.base_address == Zeros{PTO_XLEN} + 0xc80 && + second.identity != first.identity && + second.execution_domain_token != first_domain && + first.identity != second.identity && + first.submission_acr == 2 && + first.base_address == Zeros{PTO_XLEN} + 0x700 && + TileReadLogicalElement(first.source_snapshot, 0) == + Zeros{PTO_XLEN} + 0xaa && + TileReadLogicalElement(second.source_snapshot, 0) == + Zeros{PTO_XLEN} + 0xbb; + SetVerificationGMProgressDeferred(FALSE); + ProgressKernelGMObligationsForCore(0, _CurrentKernelInvocation); + assert _GMObligations[[0]][[0]][[0]].state == GMObligation_Completed && + _GMObligations[[0]][[0]][[1]].state == GMObligation_Completed && + _GMObligations[[0]][[0]][[0]].submission_acr == 2 && + _GMObligations[[0]][[0]][[1]].submission_acr == 0; + let first_value = LoadUnsigned(Zeros{PTO_XLEN} + 0x700, 8); + let second_value = LoadUnsigned(Zeros{PTO_XLEN} + 0xc80, 8); + assert first_value == Zeros{PTO_XLEN} + 0xaa && + second_value == Zeros{PTO_XLEN} + 0xbb && + _LastFault == Fault_None; + return 0; +end; diff --git a/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-tstore-002.asl b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-tstore-002.asl new file mode 100644 index 000000000..a2ee84560 --- /dev/null +++ b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-dynamic-tstore-002.asl @@ -0,0 +1,107 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-DYNAMIC-TSTORE-002","source":"asl/arch/memory-model/gm-obligations.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"different encoded TSTORE occurrences at one static PC retain separate captures and produce both stores","pass_condition":"two independently encoded stops at the same PC create distinct domain and obligation identities with immutable distinct source/address/order captures; actual scheduler progress emits both stores and completes both obligations","related_sources":["asl/block/model/dispatch/gm-obligation-dispatch.asl","asl/tile/model/memory/load-store.asl"]} +pure func DelayedTStoreStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00111181; + instruction[31:27] = Zeros{5} + 25; + return instruction; +end; + +pure func DelayedTStoreSource(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '111'; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func DelayedTStoreAddress(base: bits(5), stride: bits(5)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = base; + instruction[24:20] = stride; + return instruction; +end; + +func SubmitDynamicStore(address_value: Word, value: Word) +begin + WriteTPC(Zeros{PTO_XLEN} + 0x200); + WriteGPR(2, address_value); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + WriteTileElement(4, 0, 0, value); + let start = ExecuteCommandInstruction(DelayedTStoreStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let source = ExecuteCommandInstruction( + DelayedTStoreSource(Zeros{6} + 4), 32); + let address = ExecuteCommandInstruction(DelayedTStoreAddress( + Zeros{5} + 2, Zeros{5} + 3), 32); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert start == CommandExecution_Executed && + source == CommandExecution_Executed && + address == CommandExecution_Executed && + stop == CommandExecution_Executed && !_BundleActive && + _LastFault == Fault_None; +end; + +func main() => integer +begin + ResetProfileState(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x200); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + StartMemoryEventCapture(0); + SetVerificationGMProgressDeferred(TRUE); + SubmitDynamicStore(Zeros{PTO_XLEN} + 0x600, + Zeros{PTO_XLEN} + 0xaa); + let first = _GMObligations[[0]][[0]][[0]]; + SubmitDynamicStore(Zeros{PTO_XLEN} + 0x608, + Zeros{PTO_XLEN} + 0xbb); + let second = _GMObligations[[0]][[0]][[1]]; + assert _BundleExecutionDomainToken != first.execution_domain_token && + first.execution_domain_token != second.execution_domain_token && + first.identity != second.identity && first.active && second.active && + first.captured_tstore_progress && + second.captured_tstore_progress && + first.executable_capture_valid && second.executable_capture_valid; + assert first.base_address == Zeros{PTO_XLEN} + 0x600 && + second.base_address == Zeros{PTO_XLEN} + 0x608 && + TileReadLogicalElement(first.source_snapshot, 0) == + Zeros{PTO_XLEN} + 0xaa && + TileReadLogicalElement(second.source_snapshot, 0) == + Zeros{PTO_XLEN} + 0xbb; + let first_initial_memory = LoadUnsigned(Zeros{PTO_XLEN} + 0x600, 8); + let second_initial_memory = LoadUnsigned(Zeros{PTO_XLEN} + 0x608, 8); + assert first_initial_memory == Zeros{PTO_XLEN} && + second_initial_memory == Zeros{PTO_XLEN}; + SetVerificationGMProgressDeferred(FALSE); + ProgressKernelGMObligationsForCore(0, _CurrentKernelInvocation); + assert _GMObligations[[0]][[0]][[0]].state == GMObligation_Completed && + _GMObligations[[0]][[0]][[1]].state == GMObligation_Completed; + let first_stored = LoadUnsigned(Zeros{PTO_XLEN} + 0x600, 8); + let second_stored = LoadUnsigned(Zeros{PTO_XLEN} + 0x608, 8); + assert first_stored == Zeros{PTO_XLEN} + 0xaa && + second_stored == Zeros{PTO_XLEN} + 0xbb; + var first_event = FALSE; + var second_event = FALSE; + for event_number = 0 to _MemoryEventCount - 1 do + let event = _MemoryEvents[[event_number as MemoryEventIndex]]; + if event.active && event.committed && + event.kind == MemoryEvent_Store && + event.invocation == first.invocation && event.agent == 0 then + if event.address == first.base_address && + event.write_value == Zeros{PTO_XLEN} + 0xaa then + first_event = TRUE; + elsif event.address == second.base_address && + event.write_value == Zeros{PTO_XLEN} + 0xbb then + second_event = TRUE; + end; + end; + end; + assert first_event && second_event; + return 0; +end; diff --git a/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-first-capture-acr-003.asl b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-first-capture-acr-003.asl new file mode 100644 index 000000000..f27bacfe1 --- /dev/null +++ b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-first-capture-acr-003.asl @@ -0,0 +1,107 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-FIRST-VALIDATION-ACR-003","source":"asl/arch/memory-model/gm-obligations.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"a same-request TSTORE retry binds the ACR and footprint of its first successful admission","pass_condition":"the real ACR2 access fault preserves the same request across handler recovery to ACR0; the original stop retries, captures under ACR0, and production progress commits one beat per call under that immutable capture without a stale ACR2 fault","related_sources":["asl/arch/state/trap-context.asl","asl/tile/model/memory/load-store.asl"]} +pure func DelayedTStoreStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00111181; + instruction[31:27] = Zeros{5} + 25; + return instruction; +end; + +pure func DelayedTStoreSource(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '111'; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func DelayedTStoreAddress(base: bits(5), stride: bits(5)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = base; + instruction[24:20] = stride; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x200); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + WriteSystemRegisterAddress(Zeros{24} + 0x1f07, + Zeros{PTO_XLEN} + 3); + SetCurrentACR(2); + ConfigureTile(4, 256, 1, 2, 1, 2, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0xaa); + WriteTileElement(4, 0, 1, Zeros{PTO_XLEN} + 0xbb); + WriteGPR(2, Zeros{PTO_XLEN} + 0xc80); + WriteGPR(3, Zeros{PTO_XLEN} + 16); + SetVerificationGMProgressDeferred(TRUE); + let start = ExecuteCommandInstruction(DelayedTStoreStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 2); + SetBundleDimension(2, Zeros{PTO_XLEN} + 2); + let source = ExecuteCommandInstruction( + DelayedTStoreSource(Zeros{6} + 4), 32); + let address = ExecuteCommandInstruction(DelayedTStoreAddress( + Zeros{5} + 2, Zeros{5} + 3), 32); + let domain = _BundleExecutionDomainToken; + let first_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert start == CommandExecution_Executed && + source == CommandExecution_Executed && + address == CommandExecution_Executed && + first_stop == CommandExecution_Rejected && + _LastFault == Fault_DataPage && CurrentACR() == 1; + let faulted = _GMObligations[[0]][[0]][[0]]; + assert faulted.state == GMObligation_Faulted && + !faulted.executable_capture_valid && faulted.submission_acr == 2 && + faulted.execution_domain_token == domain; + var ecstate = ReadContextRegister(1, 0x0f00); + var control = ReadContextRegister(1, 0x0f40); + ecstate[3:0] = '0000'; + control[3:0] = '0000'; + WriteContextRegister(1, 0x0f00, ecstate); + WriteContextRegister(1, 0x0f40, control); + let recovered = RecoverTrapContext(1); + assert recovered && CurrentACR() == 0 && + _BundleExecutionDomainToken == domain && _BundleActive; + let retry = ExecuteCommandInstruction(Zeros{64}, 16); + assert retry == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive; + let captured = _GMObligations[[0]][[0]][[0]]; + assert captured.identity == faulted.identity && + captured.execution_domain_token == domain && + captured.captured_tstore_progress && + captured.executable_capture_valid && + captured.state == GMObligation_Validated && + captured.submission_acr == 0 && captured.progress_element == 0; + let first_initial_memory = LoadUnsigned(Zeros{PTO_XLEN} + 0xc80, 8); + let second_initial_memory = LoadUnsigned(Zeros{PTO_XLEN} + 0xc88, 8); + assert first_initial_memory == Zeros{PTO_XLEN} && + second_initial_memory == Zeros{PTO_XLEN}; + SetVerificationGMProgressDeferred(FALSE); + SetVerificationGMProgressBeatBudget(1); + ProgressKernelGMObligationsForCore(0, _CurrentKernelInvocation); + let partial = _GMObligations[[0]][[0]][[0]]; + assert partial.identity == faulted.identity && + partial.execution_domain_token == domain && + partial.state == GMObligation_Issued && + partial.progress_element == 1 && partial.irrevocable; + let first_beat_value = LoadUnsigned(Zeros{PTO_XLEN} + 0xc80, 8); + let second_waiting_value = LoadUnsigned(Zeros{PTO_XLEN} + 0xc88, 8); + assert first_beat_value == Zeros{PTO_XLEN} + 0xaa && + second_waiting_value == Zeros{PTO_XLEN}; + ProgressKernelGMObligationsForCore(0, _CurrentKernelInvocation); + let completed = _GMObligations[[0]][[0]][[0]]; + assert completed.identity == faulted.identity && + completed.execution_domain_token == domain && + completed.state == GMObligation_Completed && + completed.progress_element == 2; + let second_beat_value = LoadUnsigned(Zeros{PTO_XLEN} + 0xc88, 8); + assert second_beat_value == Zeros{PTO_XLEN} + 0xbb; + SetVerificationGMProgressBeatBudget(0); + return 0; +end; diff --git a/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-scalar-fault-retry-001.asl b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-scalar-fault-retry-001.asl new file mode 100644 index 000000000..d786a7fdf --- /dev/null +++ b/tests/asl/arch/memory-model/gm-obligations/arch-state-gm-obligation-scalar-fault-retry-001.asl @@ -0,0 +1,99 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-SCALAR-FAULT-RETRY-001","source":"asl/arch/memory-model/gm-obligations.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001","PTO-ARCH-CORE-SYNCHRONIZATION-001"],"kind":"state-transition","summary":"a fetched older scalar request remains fault-capable through precise recovery and retains identity on retry","pass_condition":"the real fetched LD faults before effects, its obligation blocks arrival, recovery retries the same request identity, and only successful completion clears the arrival boundary","related_sources":["asl/arch/dispatch/top-level.asl","asl/scalar/model/dispatch/top-level.asl","asl/scalar/agu/LD.asl","asl/arch/state/trap-context.asl"]} +func WriteScalarFaultRetryProgram(entry: Word) +begin + // ld r5, [r2 + r0] (L32), followed by the accepted SYS envelope. + WriteMemoryByte(entry, Zeros{8} + 0x89); + WriteMemoryByte(entry + 1, Zeros{8} + 0x32); + WriteMemoryByte(entry + 2, Zeros{8} + 0x01); + WriteMemoryByte(entry + 3, Zeros{8}); + WriteMemoryByte(entry + 4, Zeros{8} + 0x81); + WriteMemoryByte(entry + 5, Zeros{8} + 0x10); + WriteMemoryByte(entry + 6, Zeros{8}); + WriteMemoryByte(entry + 7, Zeros{8}); + WriteMemoryByte(entry + 8, Zeros{8} + 0x2b); + WriteMemoryByte(entry + 9, Zeros{8} + 0xa0); + WriteMemoryByte(entry + 10, Zeros{8} + 0x30); + WriteMemoryByte(entry + 11, Zeros{8} + 0x03); + WriteMemoryByte(entry + 12, Zeros{8} + 1); + WriteMemoryByte(entry + 13, Zeros{8}); + WriteMemoryByte(entry + 14, Zeros{8}); + WriteMemoryByte(entry + 15, Zeros{8}); +end; + +func TestFetchedScalarFaultBlocksArrivalAndRetryKeepsIdentity() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x200; + WriteScalarFaultRetryProgram(entry); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + SetCurrentACR(2); + WriteContextRegister(1, 0x0f01, Zeros{PTO_XLEN} + 0x900); + WriteGPR(2, Zeros{PTO_XLEN} + PTO_MODEL_MEMORY_BYTES); + WriteGPR(5, Zeros{PTO_XLEN} + 0x55); + let invocation = _CurrentKernelInvocation; + StartMemoryEventCapture(0); + + let fault_status = ExecuteNextPTOInstruction(); + assert fault_status == PTOInstruction_Rejected; + assert _LastFault == Fault_DataPage; + assert _FaultAddress == Zeros{PTO_XLEN} + PTO_MODEL_MEMORY_BYTES; + assert ReadTPC() == Zeros{PTO_XLEN} + 0x900; + assert _MemoryEventCount == 0; + assert ReadGPR(5) == Zeros{PTO_XLEN} + 0x55; + let faulted = _GMObligations[[0]][[0]][[0]]; + assert faulted.active; + assert faulted.invocation == invocation; + assert faulted.instruction_pc == entry; + assert faulted.request_class == GMRequest_Scalar; + assert faulted.encoded_request[31:0] == + '00000000000000010011001010001001'; + assert faulted.state == GMObligation_Faulted; + assert faulted.may_fault; + assert !CoreGMObligationsPermitArrival(0, 0, invocation, 16); + + let recovered = RecoverTrapContext(1); + assert recovered; + assert ReadTPC() == entry; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + WriteGPR(2, Zeros{PTO_XLEN} + 0x300); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x300, Zeros{8} + 0x78); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x301, Zeros{8} + 0x56); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x302, Zeros{8} + 0x34); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x303, Zeros{8} + 0x12); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x304, Zeros{8} + 0xef); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x305, Zeros{8} + 0xcd); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x306, Zeros{8} + 0xab); + WriteMemoryByte(Zeros{PTO_XLEN} + 0x307, Zeros{8} + 0x90); + + let retry_status = ExecuteNextPTOInstruction(); + assert retry_status == PTOInstruction_Executed; + assert ReadTPC() == entry + 4; + assert ReadGPR(5) == Zeros{PTO_XLEN} + 0x90abcdef12345678; + let retried = _GMObligations[[0]][[0]][[0]]; + assert retried.identity == faulted.identity; + assert retried.invocation == faulted.invocation; + assert retried.instruction_pc == faulted.instruction_pc; + assert retried.submission_order == faulted.submission_order; + assert retried.state == GMObligation_Completed; + assert retried.base_address == Zeros{PTO_XLEN} + 0x300; + assert !retried.may_fault; + assert CoreGMObligationsPermitArrival(0, 0, invocation, 16); + assert CoreGMObligationsComplete(0, 0, invocation, 16); + + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Blocked; + assert ReadTPC() == entry + 8; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert !_CoreSyncRecords[[0]][[0]].released; + StopMemoryEventCapture(); +end; + +func main() => integer +begin + TestFetchedScalarFaultBlocksArrivalAndRetryKeepsIdentity(); + return 0; +end; diff --git a/tests/asl/arch/memory-model/gm-obligations/arch-static-gm-obligations-contract-001.asl b/tests/asl/arch/memory-model/gm-obligations/arch-static-gm-obligations-contract-001.asl new file mode 100644 index 000000000..ce546a4ff --- /dev/null +++ b/tests/asl/arch/memory-model/gm-obligations/arch-static-gm-obligations-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-MODEL-GM-OBLIGATIONS-STATIC-001","source":"asl/arch/memory-model/gm-obligations.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001"],"kind":"static-invariant","summary":"PTO-ARCH-MEMORY-MODEL-GM-OBLIGATIONS compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl b/tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl index 1d920d8cb..2757fc6e2 100644 --- a/tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl +++ b/tests/asl/arch/memory-model/ordering/arch-order-rc-atomic-fence-002.asl @@ -1,4 +1,4 @@ -// PTO-TEST: {"id":"PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-ATOMIC-CROSS-AGENT-001","PTO-ARCH-MEMORY-MODEL-FENCE-TRANSPORT-001","PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-FLUSH-001"],"kind":"ordering","summary":"Cross-agent atomics synchronize only through reads-from release/acquire pairs, fences order only matching class masks, and replay flush keeps committed effects.","pass_condition":"Fence masks, cross-agent atomic reads-from, relaxed atomic negatives, and replay flush retention all hold.","related_sources":["asl/arch/memory-model/fault-precision.asl","asl/arch/memory-model/memory-events.asl"]} +// PTO-TEST: {"id":"PTO-AVS-ARCH-RC-ATOMIC-FENCE-ORDER-002","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-ATOMIC-CROSS-AGENT-001","PTO-ARCH-MEMORY-MODEL-FENCE-TRANSPORT-001","PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-FLUSH-001","PTO-ARCH-CORE-SYNCHRONIZATION-001"],"kind":"ordering","summary":"Cross-agent atomics synchronize only through reads-from release/acquire pairs, fences order only matching class masks, replay flush keeps committed effects, and Core synchronization rejects a stale post-barrier read.","pass_condition":"Fence masks, cross-agent atomic reads-from, relaxed atomic negatives, replay flush retention, and the encoded Core barrier memory relation all hold.","related_sources":["asl/arch/memory-model/fault-precision.asl","asl/arch/memory-model/memory-events.asl","asl/arch/state/core-synchronization.asl"]} func TestRCFenceOrdersMatchingClassPair() begin ResetMemoryExecution(); @@ -128,12 +128,77 @@ begin MemoryOrder_Relaxed, 2); assert _MemoryEventCount == 3; FlushMemoryReplay(); - assert _MemoryEventCount == 2; + assert _MemoryEventCount == 3; + assert _MemoryEvents[[0]].active; + assert _MemoryEvents[[1]].active; + assert !_MemoryEvents[[2]].active; assert !_MemoryReplayState.active; assert MemoryReplayCanRetryWholeRequest(request); assert MemoryCandidateExecutionValid(); end; +func TestRCInactiveReplayFencesAndWritesAreIgnored() +begin + ResetProfileState(); + ResetMemoryExecution(); + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x180); + assert launch == KernelLifecycle_Started; + let initial_x = AddInitialWriteEvent(Zeros{PTO_XLEN}, 8, + Zeros{PTO_XLEN}); + let initial_y = AddInitialWriteEvent(Zeros{PTO_XLEN} + 8, 8, + Zeros{PTO_XLEN}); + SelectExecutionContext(0, 0); + _CurrentProgramOrder = 1; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + let store_x = AddStoreEvent(0, Zeros{PTO_XLEN}, 8, + Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + _CurrentProgramOrder = 2; + BeginMemoryReplay(Zeros{PTO_XLEN} + 0x188); + let fence_x = AddDataFenceEvent(0, '0010', '0001'); + assert !_MemoryEvents[[fence_x]].committed; + FlushMemoryReplay(); + assert !_MemoryEvents[[fence_x]].active; + + SelectExecutionContext(0, 1); + _CurrentProgramOrder = 1; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + let store_y = AddStoreEvent(1, Zeros{PTO_XLEN} + 8, 8, + Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + _CurrentProgramOrder = 2; + BeginMemoryReplay(Zeros{PTO_XLEN} + 0x198); + let fence_y = AddDataFenceEvent(1, '0010', '0001'); + assert !_MemoryEvents[[fence_y]].committed; + FlushMemoryReplay(); + assert !_MemoryEvents[[fence_y]].active; + + SelectExecutionContext(0, 0); + _CurrentProgramOrder = 3; + let read_y = AddLoadEvent(0, Zeros{PTO_XLEN} + 8, 8, + Zeros{PTO_XLEN}, MemoryOrder_Relaxed); + SetMemoryReadFrom(read_y, initial_y); + SelectExecutionContext(0, 1); + _CurrentProgramOrder = 3; + let read_x = AddLoadEvent(1, Zeros{PTO_XLEN}, 8, + Zeros{PTO_XLEN}, MemoryOrder_Relaxed); + SetMemoryReadFrom(read_x, initial_x); + assert !MemoryFenceOrders(store_x, read_y); + assert !MemoryFenceOrders(store_y, read_x); + assert MemoryCandidateExecutionValid(); + // Store buffering remains an allowed RC outcome once replay discarded + // both fences; a tombstone must not add either cycle edge. + assert MemoryExecutionAllowedRC(); + + // Inactive initial writes and accesses are tombstones, not candidates in + // location accounting or mixed-overlap checks. + let stale_initial = AddInitialWriteEvent(Zeros{PTO_XLEN}, 8, + Zeros{PTO_XLEN}); + _MemoryEvents[[stale_initial]].active = FALSE; + let stale_overlap = AddStoreEvent(1, Zeros{PTO_XLEN} + 1, 4, + Zeros{PTO_XLEN} + 7, MemoryOrder_Relaxed, 2); + _MemoryEvents[[stale_overlap]].active = FALSE; + assert MemoryCandidateExecutionValid(); +end; + func TestRCMemoryReplayCompleteKeepsWholeRequest() begin ResetProfileState(); @@ -151,6 +216,55 @@ begin assert MemoryExecutionAllowedRC(); end; +func TestRCCoreSynchronizationRejectsStaleRead() +begin + ResetProfileState(); + ResetMemoryExecution(); + let entry = Zeros{PTO_XLEN} + 0x400; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + let address = Zeros{PTO_XLEN} + 0x980; + let initial = AddInitialWriteEvent(address, 8, Zeros{PTO_XLEN}); + + SelectExecutionContext(0, 0); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 1; + let publication = AddStoreEvent(0, address, 8, + Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + _CurrentProgramOrder = 2; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + assert _CoreSyncRecords[[0]][[0]].released; + + SelectExecutionContext(0, 1); + assert _CurrentCollectiveEpoch == 1; + let stale_read = AddLoadEvent(1, address, 8, Zeros{PTO_XLEN}, + MemoryOrder_Relaxed); + SetMemoryReadFrom(stale_read, initial); + assert MemoryCollectiveSyncBefore(publication, stale_read); + let candidate_valid = MemoryCandidateExecutionValid(); + assert candidate_valid; + let candidate_allowed = MemoryExecutionAllowedRC(); + assert !candidate_allowed; + +end; + func main() => integer begin ResetProfileState(); @@ -161,6 +275,8 @@ begin TestRCAtomicOrderingRequiresReadsFrom(); TestRCRelaxedAtomicPairDoesNotSynchronize(); TestRCMemoryReplayFlushRetainsCommitted(); + TestRCInactiveReplayFencesAndWritesAreIgnored(); TestRCMemoryReplayCompleteKeepsWholeRequest(); + TestRCCoreSynchronizationRejectsStaleRead(); return 0; end; diff --git a/tests/asl/arch/memory-model/ordering/arch-state-gm-reservation-invalidation-001.asl b/tests/asl/arch/memory-model/ordering/arch-state-gm-reservation-invalidation-001.asl new file mode 100644 index 000000000..5efcb1e57 --- /dev/null +++ b/tests/asl/arch/memory-model/ordering/arch-state-gm-reservation-invalidation-001.asl @@ -0,0 +1,89 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-RESERVATION-INVALIDATION-001","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-ATOMIC-CROSS-AGENT-001","PTO-ARCH-PE-EXECUTION-CONTEXT-001"],"kind":"state-transition","summary":"committed ordinary writes invalidate conflicting LR reservations in live, saved, and trap-returning PE contexts","pass_condition":"Scalar, Tile, and AMO writes from another PE/Core invalidate the shared GM line reservation before SC or trap return can reuse it; nonconflicting lines remain independent","related_sources":["asl/scalar/model/agu/memory.asl","asl/scalar/model/amo/semantics.asl","asl/tile/model/memory/load-store.asl","asl/arch/state/trap-context.asl"]} +func TestRemoteScalarWriteInvalidatesOtherCoreReservation() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x100; + let core0 = LaunchKernelInvocation(0, entry); + let core1 = LaunchKernelInvocation(1, entry); + assert core0 == KernelLifecycle_Started; + assert core1 == KernelLifecycle_Started; + let address = Zeros{PTO_XLEN} + 0x800; + Store(address, 8, Zeros{PTO_XLEN} + 0x11); + SelectExecutionContext(0, 0); + let reserved = LoadReserved(address, 8, MemoryOrder_Relaxed); + assert reserved == Zeros{PTO_XLEN} + 0x11; + assert _ReservationValid; + + SelectExecutionContext(1, 2); + Store(address + 4, 4, Zeros{PTO_XLEN} + 0x22); + SelectExecutionContext(0, 0); + assert !_ReservationValid; + let failed = StoreConditional(address, 8, Zeros{PTO_XLEN} + 0x33, + MemoryOrder_Relaxed); + assert failed == Zeros{PTO_XLEN} + 1; + let combined = LoadUnsigned(address, 8); + assert combined == Zeros{PTO_XLEN} + 0x0000002200000011; +end; + +func TestTileAMOWritesInvalidateSavedAndTrapReservations() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x200; + let core0 = LaunchKernelInvocation(0, entry); + let core1 = LaunchKernelInvocation(1, entry); + assert core0 == KernelLifecycle_Started; + assert core1 == KernelLifecycle_Started; + let address = Zeros{PTO_XLEN} + 0x900; + Store(address, 8, Zeros{PTO_XLEN} + 0x44); + + SelectExecutionContext(0, 0); + - = LoadReserved(address, 8, MemoryOrder_Acquire); + assert _ReservationValid; + SetFault(Fault_IllegalInstruction, ReadTPC()); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert _ReservationValid; + Store(address + 4, 4, Zeros{PTO_XLEN} + 0x33); + assert !_ReservationValid; + + SelectExecutionContext(1, 1); + ConfigureTile(0, 128, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(0, 0, 0, Zeros{PTO_XLEN} + 0x55); + TSTORE(address, Zeros{PTO_XLEN} + 8, 0); + SelectExecutionContext(0, 0); + assert !_ReservationValid; + let recovered = RecoverTrapContext(CurrentACR()); + assert recovered; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + assert !_ReservationValid; + let failed_tile = StoreConditional(address, 8, + Zeros{PTO_XLEN} + 0x66, MemoryOrder_Relaxed); + assert failed_tile == Zeros{PTO_XLEN} + 1; + + - = LoadReserved(address, 8, MemoryOrder_Relaxed); + SelectExecutionContext(1, 1); + TSTORE(address, Zeros{PTO_XLEN} + 8, 0); + SelectExecutionContext(0, 0); + assert !_ReservationValid; + let failed_tstore = StoreConditional(address, 8, + Zeros{PTO_XLEN} + 0x67, MemoryOrder_Relaxed); + assert failed_tstore == Zeros{PTO_XLEN} + 1; + + - = LoadReserved(address, 8, MemoryOrder_Relaxed); + SelectExecutionContext(1, 1); + let old = AtomicReadModifyWrite(address, 8, Atomic_ADD, + Zeros{PTO_XLEN} + 1, MemoryOrder_AcquireRelease); + assert old == Zeros{PTO_XLEN} + 0x55; + SelectExecutionContext(0, 0); + assert !_ReservationValid; + let failed_amo = StoreConditional(address, 8, + Zeros{PTO_XLEN} + 0x77, MemoryOrder_Relaxed); + assert failed_amo == Zeros{PTO_XLEN} + 1; +end; + +func main() => integer +begin + TestRemoteScalarWriteInvalidatesOtherCoreReservation(); + TestTileAMOWritesInvalidateSavedAndTrapReservations(); + return 0; +end; diff --git a/tests/asl/arch/memory-model/ordering/arch-state-rc-replay-peer-read-from-001.asl b/tests/asl/arch/memory-model/ordering/arch-state-rc-replay-peer-read-from-001.asl new file mode 100644 index 000000000..5e7b1c8d2 --- /dev/null +++ b/tests/asl/arch/memory-model/ordering/arch-state-rc-replay-peer-read-from-001.asl @@ -0,0 +1,41 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-REPLAY-PEER-READ-FROM-001","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-REPLAY-001","PTO-ARCH-MEMORY-MODEL-FLUSH-001"],"kind":"state-transition","summary":"Selective replay discard preserves another PE's read-from reference to a surviving committed write.","pass_condition":"PE1's live read keeps the stable event reference to PE0's committed write after PE0 discards its later speculative store, and the memory candidate remains valid.","related_sources":["asl/arch/memory-model/fault-precision.asl","asl/arch/memory-model/memory-events.asl","asl/arch/memory-model/ordering.asl"]} +func main() => integer +begin + ResetProfileState(); + ResetMemoryExecution(); + SelectExecutionContext(0, 0); + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentKernelInvocation = 9; + _CurrentProgramOrder = 1; + let address = Zeros{PTO_XLEN} + 0x980; + - = AddInitialWriteEvent(address, 8, Zeros{PTO_XLEN}); + BeginMemoryReplay(address); + let earlier_write = AddStoreEvent(0, address, 8, + Zeros{PTO_XLEN} + 7, MemoryOrder_Relaxed, 1); + CommitMemoryReplayEffect(); + + // PE1 reads the admitted write while PE0's next request is pending. + // Recovery must preserve the stable read_from index and both live events. + SelectExecutionContext(0, 1); + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentKernelInvocation = 9; + _CurrentProgramOrder = 1; + let peer_read = AddLoadEvent(1, address, 8, Zeros{PTO_XLEN} + 7, + MemoryOrder_Relaxed); + SetMemoryReadFrom(peer_read, earlier_write); + + SelectExecutionContext(0, 0); + _CurrentProgramOrder = 2; + BeginMemoryReplay(address + Zeros{PTO_XLEN} + 8); + let speculative = AddStoreEvent(0, address, 8, + Zeros{PTO_XLEN} + 8, MemoryOrder_Relaxed, 2); + assert _MemoryEventCount == speculative + 1; + FlushMemoryReplay(); + + assert _MemoryEvents[[earlier_write]].active; + assert _MemoryEvents[[peer_read]].active; + assert _MemoryEvents[[peer_read]].read_from == earlier_write; + assert !_MemoryEvents[[speculative]].active; + assert MemoryCandidateExecutionValid(); + return 0; +end; diff --git a/tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl b/tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl index 509a212a8..0a539dffc 100644 --- a/tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl +++ b/tests/asl/arch/memory-model/ordering/arch-static-ordering-contract-001.asl @@ -1,5 +1,5 @@ // Generated by scripts/generate-mnemonic-avs.py. Do not edit. -// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-SCOPE-001","PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001","PTO-ARCH-MEMORY-MODEL-SHAREABILITY-001","PTO-ARCH-MEMORY-MODEL-RANGE-001","PTO-ARCH-MEMORY-MODEL-CONFLICT-001","PTO-ARCH-MEMORY-MODEL-DEPENDENCY-001","PTO-ARCH-MEMORY-MODEL-QUALIFIER-001","PTO-ARCH-MEMORY-MODEL-RC-001","PTO-ARCH-MEMORY-MODEL-PREFETCH-001","PTO-ARCH-MEMORY-MODEL-ATOMIC-001","PTO-ARCH-MEMORY-MODEL-OPEN-001"],"kind":"static-invariant","summary":"PTO-ARCH-MEMORY-MODEL-ORDERING compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +// PTO-TEST: {"id":"PTO-AVS-ARCH-MEMORY-MODEL-ORDERING-STATIC-001","source":"asl/arch/memory-model/ordering.asl","requirements":["PTO-ARCH-MEMORY-MODEL-SCOPE-001","PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001","PTO-ARCH-MEMORY-MODEL-REQUEST-CLASS-001","PTO-ARCH-MEMORY-MODEL-SHAREABILITY-001","PTO-ARCH-MEMORY-MODEL-RANGE-001","PTO-ARCH-MEMORY-MODEL-CONFLICT-001","PTO-ARCH-MEMORY-MODEL-DEPENDENCY-001","PTO-ARCH-MEMORY-MODEL-QUALIFIER-001","PTO-ARCH-MEMORY-MODEL-RC-001","PTO-ARCH-MEMORY-MODEL-PREFETCH-001","PTO-ARCH-MEMORY-MODEL-ATOMIC-001","PTO-ARCH-MEMORY-MODEL-OPEN-001"],"kind":"static-invariant","summary":"PTO-ARCH-MEMORY-MODEL-ORDERING compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} func main() => integer begin assert TRUE; diff --git a/tests/asl/arch/state/core-synchronization/arch-order-core-sync-history-persistence-001.asl b/tests/asl/arch/state/core-synchronization/arch-order-core-sync-history-persistence-001.asl new file mode 100644 index 000000000..e1d21f817 --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-order-core-sync-history-persistence-001.asl @@ -0,0 +1,101 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-CORE-SYNC-HISTORY-PERSISTENCE-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-MEMORY-MODEL-REPLAY-001"],"kind":"ordering","summary":"completed Core collective ordering remains in memory-event provenance after generation-ring reuse, Core selection, and a later invocation","pass_condition":"the evicted generation's original publication-to-read relation remains observable while different Core, invocation, and handler events do not acquire that relation","related_sources":["asl/arch/memory-model/memory-events.asl","asl/arch/memory-model/ordering.asl","asl/arch/state/kernel-lifecycle.asl"]} +func TestCompletedCollectiveHistorySurvivesActiveRecordReuse() +begin + ResetProfileState(); + ResetMemoryExecution(); + let entry = Zeros{PTO_XLEN} + 0x440; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + let original_invocation = _KernelInvocationByCore[[0]]; + let address = Zeros{PTO_XLEN} + 0x9a0; + let initial = AddInitialWriteEvent(address, 8, Zeros{PTO_XLEN}); + + SelectExecutionContext(0, 0); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 1; + let publication = AddStoreEvent(0, address, 8, + Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + _CurrentProgramOrder = 2; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + SelectExecutionContext(0, 1); + _CurrentProgramOrder = 3; + let stale_read = AddLoadEvent(1, address, 8, Zeros{PTO_XLEN}, + MemoryOrder_Relaxed); + SetMemoryReadFrom(stale_read, initial); + assert MemoryCollectiveSyncBefore(publication, stale_read); + assert MemoryCandidateExecutionValid(); + assert !MemoryExecutionAllowedRC(); + + // Exercise real SyncCore arrivals until the active ring has evicted gen0. + let history_rounds = PTO_MODEL_SYNC_GENERATIONS * 4; + for round = 0 to history_rounds do + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + end; + assert _PEBarrierNextGeneration[[0]][[0]] > PTO_MODEL_SYNC_GENERATIONS; + assert _CoreCollectiveHistorySequence[[0]] > PTO_MODEL_SYNC_GENERATIONS; + assert FindCoreSyncGenerationRecord(0, original_invocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + + // Matching PE and invocation numbers on another Core have no edge. + let other_launch = LaunchKernelInvocation(1, entry); + assert other_launch == KernelLifecycle_Started; + SelectExecutionContext(1, 0); + assert _CurrentKernelInvocation == original_invocation; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + let other_core_read = AddLoadEvent(0, address, 8, Zeros{PTO_XLEN}, + MemoryOrder_Relaxed); + assert !MemoryCollectiveSyncBefore(publication, other_core_read); + let other_core_end = EndKernelInvocation(1); + assert other_core_end == KernelLifecycle_Started; + + SelectExecutionContext(0, 0); + let old_end = EndKernelInvocation(0); + assert old_end == KernelLifecycle_Started; + let next_launch = LaunchKernelInvocation(0, entry); + assert next_launch == KernelLifecycle_Started; + let new_invocation_read = AddLoadEvent(0, address, 8, + Zeros{PTO_XLEN}, MemoryOrder_Relaxed); + assert _MemoryEvents[[new_invocation_read]].invocation != + _MemoryEvents[[publication]].invocation; + assert !MemoryCollectiveSyncBefore(publication, new_invocation_read); + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; + let handler_read = AddLoadEvent(0, address, 8, Zeros{PTO_XLEN}, + MemoryOrder_Relaxed); + assert !MemoryCollectiveSyncBefore(publication, handler_read); + + // Event-stamped history survives both context selection and lifecycle reset. + SelectExecutionContext(1, 0); + SelectExecutionContext(0, 1); + assert MemoryCollectiveSyncBefore(publication, stale_read); + assert MemoryCandidateExecutionValid(); + assert !MemoryExecutionAllowedRC(); +end; + +func main() => integer +begin + TestCompletedCollectiveHistorySurvivesActiveRecordReuse(); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-abort-reclaims-generation-ring-002.asl b/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-abort-reclaims-generation-ring-002.asl new file mode 100644 index 000000000..35925d92a --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-abort-reclaims-generation-ring-002.asl @@ -0,0 +1,77 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-SYNC-ABORT-RECLAIMS-RING-002","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"abort and end reclaim completed active release records with unconsumed peer tokens","pass_condition":"repeated completed collectives closed before every release token is consumed do not exhaust the bounded active ring; close removes old records/tokens, a later launch completes a fresh collective, and retained memory-history provenance remains owned by events","related_sources":["asl/arch/state/core-synchronization.asl","asl/arch/state/kernel-lifecycle.asl","asl/arch/memory-model/memory-events.asl"]} +func ReachCompleteSync(site: Word) +begin + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = site; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; +end; + +func AssertClosedInvocationHasNoActiveGeneration(invocation: integer) +begin + assert FindCoreSyncGenerationRecord(0, invocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + assert _PEReleaseValid[[0]] == Zeros{4}; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + assert !_CoreSyncRecords[[0]][[slot]].valid || + _CoreSyncRecords[[0]][[slot]].invocation != invocation; + end; +end; + +func main() => integer +begin + ResetProfileState(); + ResetMemoryExecution(); + let entry = Zeros{PTO_XLEN} + 0x900; + let site = entry + 4; + let close_count = PTO_MODEL_SYNC_GENERATIONS * 2 + 1; + for round = 0 to close_count - 1 do + let launched = LaunchKernelInvocation(0, entry); + assert launched == KernelLifecycle_Started; + let invocation = _KernelInvocationByCore[[0]]; + ReachCompleteSync(site); + let slot = FindCoreSyncGenerationRecord(0, invocation, 0); + assert slot < PTO_MODEL_SYNC_GENERATIONS; + assert _CoreSyncRecords[[0]][[slot]].released && + _CoreSyncRecords[[0]][[slot]].arrived == '1111'; + // PE3 reached LAST; the other three completed-generation tokens are + // intentionally unconsumed when this invocation is closed. + assert _CoreSyncRecords[[0]][[slot]].consumed != '1111'; + assert _PEReleaseValid[[0]] != Zeros{4}; + SelectExecutionContext(0, 0); + if round MOD 2 == 0 then + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Started; + else + let ended = EndKernelInvocation(0); + assert ended == KernelLifecycle_Started; + end; + AssertClosedInvocationHasNoActiveGeneration(invocation); + end; + + let history_before = _CoreCollectiveHistorySequence[[0]]; + assert history_before == close_count; + let relaunched = LaunchKernelInvocation(0, entry + 0x100); + assert relaunched == KernelLifecycle_Started; + let new_invocation = _KernelInvocationByCore[[0]]; + ReachCompleteSync(site + 0x100); + let new_slot = FindCoreSyncGenerationRecord(0, new_invocation, 0); + assert new_slot < PTO_MODEL_SYNC_GENERATIONS; + assert _CoreSyncRecords[[0]][[new_slot]].released && + _CoreSyncRecords[[0]][[new_slot]].arrived == '1111'; + assert _CoreCollectiveHistorySequence[[0]] == history_before + 1; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + assert _PEBarrierNextGeneration[[0]][[pe]] == + if pe_number == PTO_MODEL_MEMORY_AGENTS - 1 then 1 else 0; + end; + let final_abort = AbortKernelInvocation(0); + assert final_abort == KernelLifecycle_Started; + AssertClosedInvocationHasNoActiveGeneration(new_invocation); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-history-ring-001.asl b/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-history-ring-001.asl new file mode 100644 index 000000000..a1e6b52e8 --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-state-kernel-lifecycle-history-ring-001.asl @@ -0,0 +1,69 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-SYNC-HISTORY-RING-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-MEMORY-MODEL-REPLAY-001"],"kind":"state-transition","summary":"Completed Core synchronization history remains represented by event provenance across generation-ring reuse and kernel lifetimes.","pass_condition":"Repeated real collective completion and End reclaim active release records while event stamps preserve the first relation across ring reuse and a later invocation; a stale post-barrier read remains rejected.","related_sources":["asl/arch/state/core-synchronization.asl","asl/arch/state/kernel-lifecycle.asl","asl/arch/memory-model/memory-events.asl","asl/arch/memory-model/ordering.asl"]} +func main() => integer +begin + ResetProfileState(); + ResetMemoryExecution(); + let entry = Zeros{PTO_XLEN} + 0x900; + var first_store: MemoryEventIndex = 0 as MemoryEventIndex; + var first_post_barrier_read: MemoryEventIndex = 0 as MemoryEventIndex; + for round = 0 to PTO_MODEL_SYNC_GENERATIONS do + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + let invocation = _KernelInvocationByCore[[0]]; + SelectExecutionContext(0, 0); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _CurrentProgramOrder = 1; + if round == 0 then + first_store = AddStoreEvent(0, Zeros{PTO_XLEN} + 0xb00, + 8, Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + assert _CoreSyncRecords[[0]][[0]].released; + if round == 0 then + SelectExecutionContext(0, 1); + _CurrentProgramOrder = 2; + first_post_barrier_read = AddLoadEvent(1, + Zeros{PTO_XLEN} + 0xb00, 8, Zeros{PTO_XLEN}, + MemoryOrder_Relaxed); + let initial = AddInitialWriteEvent(Zeros{PTO_XLEN} + 0xb00, + 8, Zeros{PTO_XLEN}); + SetMemoryReadFrom(first_post_barrier_read, initial); + assert MemoryCollectiveSyncBefore(first_store, + first_post_barrier_read); + end; + SelectExecutionContext(0, 0); + let ended = EndKernelInvocation(0); + assert ended == KernelLifecycle_Started; + assert _PEReleaseValid[[0]] == Zeros{4}; + assert FindCoreSyncGenerationRecord(0, invocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + end; + assert _CoreCollectiveHistorySequence[[0]] > + PTO_MODEL_SYNC_GENERATIONS; + assert MemoryCollectiveSyncBefore(first_store, first_post_barrier_read); + + let relaunched = LaunchKernelInvocation(0, entry + 0x100); + assert relaunched == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + _PC = entry + 0x104; + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _CoreSyncRecords[[0]][[0]].valid; + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Started; + assert FindCoreSyncGenerationRecord(0, + _RetiredKernelInvocationByCore[[0]], 0) == + PTO_MODEL_SYNC_GENERATIONS; + assert MemoryCollectiveSyncBefore(first_store, first_post_barrier_read); + StopMemoryEventCapture(); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-state-sync-core-encoded-branch-bypass-001.asl b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-encoded-branch-bypass-001.asl new file mode 100644 index 000000000..b73faacee --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-encoded-branch-bypass-001.asl @@ -0,0 +1,75 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-CORE-SYNC-ENCODED-BRANCH-BYPASS-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-REQ-INSTRUCTION-DISPATCH-001"],"kind":"state-transition","summary":"an encoded per-PE control transfer that skips a valid SYNC.CORE envelope cannot arrive at its barrier","pass_condition":"three peers remain parked at the encoded barrier while a fourth follows its encoded JR target around the entire bundle, leaving the generation incomplete","related_sources":["asl/arch/dispatch/top-level.asl","asl/scalar/model/dispatch/top-level.asl","asl/scalar/sys/SYNC.CORE.asl"]} + +func WriteBranchBypassProgram(entry: Word) +begin + // JR r1; BSTART.SYS FALL; SYNC.CORE; BSTOP; continuation. + WritePhysicalMemoryByte(entry, Zeros{8} + 0x27); + WritePhysicalMemoryByte(entry + 1, Zeros{8} + 0xe0); + WritePhysicalMemoryByte(entry + 2, Zeros{8}); + WritePhysicalMemoryByte(entry + 3, Zeros{8}); + WritePhysicalMemoryByte(entry + 4, Zeros{8} + 0x81); + WritePhysicalMemoryByte(entry + 5, Zeros{8} + 0x10); + WritePhysicalMemoryByte(entry + 6, Zeros{8}); + WritePhysicalMemoryByte(entry + 7, Zeros{8}); + WritePhysicalMemoryByte(entry + 8, Zeros{8} + 0x2b); + WritePhysicalMemoryByte(entry + 9, Zeros{8} + 0xa0); + WritePhysicalMemoryByte(entry + 10, Zeros{8} + 0x30); + WritePhysicalMemoryByte(entry + 11, Zeros{8} + 0x03); + WritePhysicalMemoryByte(entry + 12, Zeros{8} + 1); + WritePhysicalMemoryByte(entry + 13, Zeros{8}); + WritePhysicalMemoryByte(entry + 14, Zeros{8}); + WritePhysicalMemoryByte(entry + 15, Zeros{8}); +end; + +func TestEncodedBranchBypassDoesNotArrive() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x100; + WriteBranchBypassProgram(entry); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + + // PE3 takes an encoded JR target past the complete SYNC envelope. PE0..2 + // take the same JR instruction to the envelope and must wait for PE3. + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + WriteGPR(1, if pe_number == 3 then entry + 16 else entry + 4); + let branch_status = ExecuteNextPTOInstruction(); + assert branch_status == PTOInstruction_Executed; + assert ReadTPC() == if pe_number == 3 then entry + 16 else entry + 4; + end; + + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + assert ReadTPC() == entry + 8; + let sync_status = ExecuteNextPTOInstruction(); + assert sync_status == PTOInstruction_Blocked; + assert ReadTPC() == entry + 8; + end; + + let slot = FindCoreSyncGenerationRecord(0, _CurrentKernelInvocation, 0); + assert slot < PTO_MODEL_SYNC_GENERATIONS; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let bit_index = PTOPEMaskBitOfPEIdentity(pe_number); + assert _CoreSyncRecords[[0]][[slot]].arrived[bit_index] == '1'; + end; + let skipped_bit = PTOPEMaskBitOfPEIdentity(3); + assert _CoreSyncRecords[[0]][[slot]].arrived[skipped_bit] == '0'; + assert !_CoreSyncRecords[[0]][[slot]].released; + SelectExecutionContext(0, 3); + assert ReadTPC() == entry + 16; + assert _PEBarrierNextGeneration[[0]][[3]] == 0; + + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Started; +end; + +func main() => integer +begin + TestEncodedBranchBypassDoesNotArrive(); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-state-sync-core-fast-reuse-001.asl b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-fast-reuse-001.asl new file mode 100644 index 000000000..192e68d14 --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-fast-reuse-001.asl @@ -0,0 +1,87 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-FAST-REUSE-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"fast PEs consume and reuse a released generation while an interrupted PE still holds its prior once-only release","pass_condition":"the slow handler preserves its generation-zero token while peers arrive at generation one; returning consumes generation zero once, joins the matching next site, releases generation one, and all participants consume the retained token once","related_sources":["asl/arch/state/core-synchronization.asl","asl/arch/state/trap-context.asl","asl/scalar/sys/SYNC.CORE.asl"]} +func TestFastPeersReuseWhileSlowPEHoldsRelease() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x600; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + _PC = entry + 4; + _CurrentProgramOrder = 1; + _PEProgramOrder[[0]][[0]] = 1; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + let old_parked_pc = ReadTPC(); + + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _TrapContexts[[0]].valid; + assert _ACRTrapAsynchronous[[0]]; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentProgramOrder = 1; + _PEProgramOrder[[0]][[pe]] = 1; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + end; + assert _CoreSyncRecords[[0]][[0]].released; + assert _CoreSyncRecords[[0]][[0]].consumed == '0001'; + assert _PEReleaseValid[[0]][3] == '1'; + assert _PEReleaseGeneration[[0]][[0]] == 0; + + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _PEBarrierNextGeneration[[0]][[pe]] == 1; + _PC = entry + 8; + _CurrentProgramOrder = 2; + _PEProgramOrder[[0]][[pe]] = 2; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + end; + assert _CoreSyncRecords[[0]][[0]].consumed == '0111'; + assert _CoreSyncRecords[[0]][[1]].valid; + assert _CoreSyncRecords[[0]][[1]].arrived == '0111'; + assert !_CoreSyncRecords[[0]][[1]].released; + assert _PEReleaseValid[[0]][3] == '1'; + assert _PEReleaseGeneration[[0]][[0]] == 0; + + SelectExecutionContext(0, 0); + let recovered = RecoverTrapContext(0); + assert recovered; + assert ReadTPC() == old_parked_pc; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _PEBarrierNextGeneration[[0]][[0]] == 1; + assert _CoreSyncRecords[[0]][[0]].consumed[3] == '1'; + _PC = entry + 8; + _CurrentProgramOrder = 2; + _PEProgramOrder[[0]][[0]] = 2; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert !_ScalarExecutionBlocked; + assert _CoreSyncRecords[[0]][[1]].arrived == '1111'; + assert _CoreSyncRecords[[0]][[1]].released; + assert _PEBarrierNextGeneration[[0]][[0]] == 2; + + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert !_ScalarExecutionBlocked; + assert _PEBarrierNextGeneration[[0]][[pe]] == 2; + end; + assert _CoreSyncRecords[[0]][[1]].consumed == '1111'; +end; + +func main() => integer +begin + TestFastPeersReuseWhileSlowPEHoldsRelease(); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-state-sync-core-site-mismatch-001.asl b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-site-mismatch-001.asl new file mode 100644 index 000000000..9bcf1b4cb --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-state-sync-core-site-mismatch-001.asl @@ -0,0 +1,59 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-SYNC-CORE-SITE-MISMATCH-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"a participant at a different static site cannot join or release an incomplete collective generation","pass_condition":"one mismatched site leaves only the matching participants arrived, no new site record pairs with the old generation, and the missing participant never completes automatically","related_sources":["asl/scalar/sys/SYNC.CORE.asl"]} +func TestMismatchedSiteDoesNotPairOrRelease() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x800; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + + SelectExecutionContext(0, 0); + _PC = entry + 4; + _CurrentProgramOrder = 1; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert !_CoreSyncRecords[[0]][[0]].released; + + SelectExecutionContext(0, 1); + _PC = entry + 8; + _CurrentProgramOrder = 1; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert !_CoreSyncRecords[[0]][[0]].released; + + for pe_number = 2 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 4; + _CurrentProgramOrder = 1; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + end; + assert _CoreSyncRecords[[0]][[0]].arrived == '1011'; + assert !_CoreSyncRecords[[0]][[0]].released; + assert FindCoreSyncGenerationRecord(0, _KernelInvocationByCore[[0]], 0) + == 0; + assert _CoreSyncRecords[[0]][[0]].site == entry + 4; + var valid_record_count : integer {0..PTO_MODEL_SYNC_GENERATIONS} = 0; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + if _CoreSyncRecords[[0]][[slot]].valid then + valid_record_count = (valid_record_count + 1) as + integer {0..PTO_MODEL_SYNC_GENERATIONS}; + end; + end; + assert valid_record_count == 1; + + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Started; + assert !_CoreSyncRecords[[0]][[0]].valid; +end; + +func main() => integer +begin + TestMismatchedSiteDoesNotPairOrRelease(); + return 0; +end; diff --git a/tests/asl/arch/state/core-synchronization/arch-static-core-synchronization-contract-001.asl b/tests/asl/arch/state/core-synchronization/arch-static-core-synchronization-contract-001.asl new file mode 100644 index 000000000..4cf46c975 --- /dev/null +++ b/tests/asl/arch/state/core-synchronization/arch-static-core-synchronization-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-ARCH-STATE-CORE-SYNCHRONIZATION-STATIC-001","source":"asl/arch/state/core-synchronization.asl","requirements":["PTO-ARCH-CORE-SYNCHRONIZATION-001"],"kind":"static-invariant","summary":"PTO-ARCH-STATE-CORE-SYNCHRONIZATION compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-delayed-tstore-001.asl b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-delayed-tstore-001.asl new file mode 100644 index 000000000..b27cfb69a --- /dev/null +++ b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-delayed-tstore-001.asl @@ -0,0 +1,172 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-DELAYED-TSTORE-001","source":"asl/arch/state/kernel-lifecycle.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"captured TSTORE work progresses through production beats, blocks release until completion, and drains after abort before a new launch","pass_condition":"the delayed obligation retains actual request provenance, writes through production probe/event/replay paths, prevents early release and launch while irrevocable, completes under its old identity, and rejects a stale completion after new invocation registration","related_sources":["asl/tile/memory-and-data-movement/regular/TSTORE.asl","asl/tile/model/memory/load-store.asl","asl/arch/memory-model/gm-obligations.asl","asl/arch/state/core-synchronization.asl"]} +pure func DelayedTStoreStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00111181; + instruction[31:27] = Zeros{5} + 25; + return instruction; +end; + +pure func DelayedTStoreSource(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '111'; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func DelayedTStoreAddress(base: bits(5), stride: bits(5)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = base; + instruction[24:20] = stride; + return instruction; +end; + +func TestDelayedTStoreObligationUsesProductionPath() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x200; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x5a); + _PC = entry; + WriteGPR(2, Zeros{PTO_XLEN} + 0x300); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + _CurrentProgramOrder = 3; + _PEProgramOrder[[0]][[0]] = 3; + StartMemoryEventCapture(0); + assert _MemoryEventCaptureEnabled; + SetVerificationGMProgressDeferred(TRUE); + + let start_word = DelayedTStoreStart(); + let start = ExecuteCommandInstruction(start_word, 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let source = ExecuteCommandInstruction( + DelayedTStoreSource(Zeros{6} + 4), 32); + let address = ExecuteCommandInstruction(DelayedTStoreAddress( + Zeros{5} + 2, Zeros{5} + 3), 32); + assert start == CommandExecution_Executed; + assert source == CommandExecution_Executed; + assert address == CommandExecution_Executed; + let expected_submission_order = _CurrentProgramOrder + 1; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed; + let obligation = _GMObligations[[0]][[0]][[0]]; + assert obligation.active; + assert obligation.core_identity == 0; + assert obligation.agent == 0; + assert obligation.invocation == _KernelInvocationByCore[[0]]; + assert obligation.request_class == GMRequest_Tile; + assert obligation.encoded_request == start_word; + assert obligation.instruction_pc == entry; + assert obligation.submission_order == expected_submission_order; + assert obligation.state == GMObligation_Validated; + assert !obligation.may_fault; + assert obligation.source_tile == 4; + assert obligation.source_snapshot.contents_defined; + assert obligation.source_snapshot.data_type == TileDataType_U64; + assert obligation.base_address == Zeros{PTO_XLEN} + 0x300; + assert obligation.row_stride_bytes == Zeros{PTO_XLEN} + 8; + assert _MemoryEventCount == 0; + let initial_memory_value = LoadUnsigned(Zeros{PTO_XLEN} + 0x300, 8); + assert initial_memory_value == Zeros{PTO_XLEN}; + let arrival_permitted = CoreGMObligationsPermitArrival(0, 0, + obligation.invocation, expected_submission_order); + let obligations_complete = CoreGMObligationsComplete(0, 0, + obligation.invocation, expected_submission_order); + assert arrival_permitted; + assert !obligations_complete; + + // The actual encoded SYS envelope invokes the ordinary Core progress + // owner before arrival; no test-only completion helper is used. + let barrier_site = entry + 0x40; + WriteSyncProgramForDelayedStore(barrier_site); + _PC = barrier_site; + SetVerificationGMProgressDeferred(FALSE); + let sys_start = ExecuteNextPTOInstruction(); + assert sys_start == PTOInstruction_Executed; + let sync = ExecuteNextPTOInstruction(); + assert sync == PTOInstruction_Blocked; + assert _ScalarExecutionBlocked; + assert ReadTPC() == barrier_site + 4; + assert _GMObligations[[0]][[0]][[0]].state == GMObligation_Completed; + let completed = CoreGMObligationsComplete(0, 0, + obligation.invocation, expected_submission_order); + assert completed; + let stored_memory_value = LoadUnsigned(Zeros{PTO_XLEN} + 0x300, 8); + assert stored_memory_value == Zeros{PTO_XLEN} + 0x5a; + assert _MemoryEventCaptureEnabled; + assert _MemoryEventCount > 0; + var matching_store_event_found = FALSE; + for event_number = 0 to _MemoryEventCount - 1 do + let event = _MemoryEvents[[event_number as MemoryEventIndex]]; + if event.active && event.kind == MemoryEvent_Store && + event.core_identity == 0 && event.agent == 0 && + event.address == Zeros{PTO_XLEN} + 0x300 && + event.write_value == Zeros{PTO_XLEN} + 0x5a && + event.committed then + matching_store_event_found = TRUE; + end; + end; + assert matching_store_event_found; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert !_CoreSyncRecords[[0]][[0]].released; + + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = barrier_site; + _CurrentProgramOrder = 3; + _ScalarExecutionBlocked = FALSE; + let peer_start = ExecuteNextPTOInstruction(); + assert peer_start == PTOInstruction_Executed; + let peer_sync = ExecuteNextPTOInstruction(); + if pe_number < PTO_MODEL_MEMORY_AGENTS - 1 then + assert peer_sync == PTOInstruction_Blocked; + else + assert peer_sync == PTOInstruction_Executed; + end; + end; + assert _CoreSyncRecords[[0]][[0]].released; + SelectExecutionContext(0, 0); + _ScalarExecutionBlocked = FALSE; + let released_sync = ExecuteNextPTOInstruction(); + assert released_sync == PTOInstruction_Executed; + assert !_ScalarExecutionBlocked; + assert _PEBarrierNextGeneration[[0]][[0]] == 1; + assert _PEReleaseValid[[0]][3] == '0'; + assert _GMObligations[[0]][[0]][[0]].irrevocable; + assert !_GMObligations[[0]][[0]][[0]].reversible; + StopMemoryEventCapture(); +end; + +func WriteSyncProgramForDelayedStore(entry: Word) +begin + WriteMemoryByte(entry, Zeros{8} + 0x81); + WriteMemoryByte(entry + 1, Zeros{8} + 0x10); + WriteMemoryByte(entry + 2, Zeros{8}); + WriteMemoryByte(entry + 3, Zeros{8}); + WriteMemoryByte(entry + 4, Zeros{8} + 0x2b); + WriteMemoryByte(entry + 5, Zeros{8} + 0xa0); + WriteMemoryByte(entry + 6, Zeros{8} + 0x30); + WriteMemoryByte(entry + 7, Zeros{8} + 0x03); + WriteMemoryByte(entry + 8, Zeros{8} + 1); + WriteMemoryByte(entry + 9, Zeros{8}); + WriteMemoryByte(entry + 10, Zeros{8}); + WriteMemoryByte(entry + 11, Zeros{8}); + WriteMemoryByte(entry + 12, Zeros{8}); + WriteMemoryByte(entry + 13, Zeros{8}); +end; + +func main() => integer +begin + TestDelayedTStoreObligationUsesProductionPath(); + return 0; +end; diff --git a/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-fresh-launch-retires-trap-frames-003.asl b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-fresh-launch-retires-trap-frames-003.asl new file mode 100644 index 000000000..d29a45122 --- /dev/null +++ b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-fresh-launch-retires-trap-frames-003.asl @@ -0,0 +1,101 @@ + +// PTO-TEST: {"id":"PTO-AVS-ARCH-KERNEL-LIFECYCLE-FRESH-LAUNCH-TRAP-003","source":"asl/arch/state/kernel-lifecycle.asl","requirements":["PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"fresh launch retires all target-Core recovery frames while preserving a different Core and allowing current recovery","pass_condition":"End and Abort both invalidate nested model and EBARG recovery validity for every target PE before a fresh launch, keep the new entry inactive without stale arrival, preserve the selected other Core's handler and valid recovery frame, and permit a new current-invocation trap recovery","related_sources":["asl/arch/state/trap-context.asl","asl/arch/state/pe-execution-context.asl"]} +func WriteSyncProgram(entry: Word) +begin + WriteMemoryByte(entry, Zeros{8} + 0x81); + WriteMemoryByte(entry + 1, Zeros{8} + 0x10); + WriteMemoryByte(entry + 2, Zeros{8}); + WriteMemoryByte(entry + 3, Zeros{8}); + WriteMemoryByte(entry + 4, Zeros{8} + 0x2b); + WriteMemoryByte(entry + 5, Zeros{8} + 0xa0); + WriteMemoryByte(entry + 6, Zeros{8} + 0x30); + WriteMemoryByte(entry + 7, Zeros{8} + 0x03); + WriteMemoryByte(entry + 8, Zeros{8} + 1); + WriteMemoryByte(entry + 9, Zeros{8}); + WriteMemoryByte(entry + 10, Zeros{8}); + WriteMemoryByte(entry + 11, Zeros{8}); + WriteMemoryByte(entry + 12, Zeros{8}); + WriteMemoryByte(entry + 13, Zeros{8}); +end; + +func TestFreshLaunchRetiresTargetFrames(use_abort: boolean) +begin + ResetProfileState(); + let old_entry = Zeros{PTO_XLEN} + 0x100; + let new_entry = Zeros{PTO_XLEN} + 0x400; + let other_entry = Zeros{PTO_XLEN} + 0x800; + WriteSyncProgram(old_entry); + WriteSyncProgram(new_entry); + WriteSyncProgram(other_entry); + let launched = LaunchKernelInvocation(0, old_entry); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let start = ExecuteNextPTOInstruction(); + let parked = ExecuteNextPTOInstruction(); + assert start == PTOInstruction_Executed && parked == PTOInstruction_Blocked; + let old_invocation = _CurrentKernelInvocation; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _TrapContexts[[0]].valid; + SavePortableTrapContext(2, 0); + SelectExecutionContext(0, 1); + SavePortableTrapContext(2, 0); + + let other_launched = LaunchKernelInvocation(1, other_entry); + assert other_launched == KernelLifecycle_Started; + SelectExecutionContext(1, 0); + let other_start = ExecuteNextPTOInstruction(); + let other_parked = ExecuteNextPTOInstruction(); + assert other_start == PTOInstruction_Executed && + other_parked == PTOInstruction_Blocked; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 7); + assert _TrapContexts[[0]].valid; + + SelectExecutionContext(1, 0); + let caller_pc = ReadTPC(); + let caller_bpc = ReadBPC(); + let caller_acr = CurrentACR(); + let caller_origin = _CurrentMemoryOrigin; + let aborted = if use_abort then AbortKernelInvocation(0) else EndKernelInvocation(0); + let restarted = LaunchKernelInvocation(0, new_entry); + assert aborted == KernelLifecycle_Started && restarted == KernelLifecycle_Started; + assert _CurrentModelCore == 1 && _CurrentMemoryAgent == 0; + assert ReadTPC() == caller_pc && ReadBPC() == caller_bpc && + CurrentACR() == caller_acr && _CurrentMemoryOrigin == caller_origin; + + SelectExecutionContext(0, 0); + assert ReadTPC() == new_entry && !_BundleActive; + assert _CurrentKernelInvocation != old_invocation; + let recovered = RecoverTrapContext(0); + assert !recovered && !_BundleActive && ReadTPC() == new_entry; + assert !_TrapContexts[[0]].valid && !_TrapContexts[[2]].valid; + let ebarg = ReadContextRegister(0, 0x0f40); + assert ebarg[4] == '0'; + SelectExecutionContext(0, 1); + let stale_portable_recovered = RecoverPortableTrapContext(2); + assert !stale_portable_recovered && !_TrapContexts[[2]].valid; + + // A different Core's saved recovery is neither cleared nor made invalid. + SelectExecutionContext(1, 0); + assert _TrapContexts[[0]].valid; + let other_recovered = RecoverTrapContext(0); + assert other_recovered && ReadTPC() == other_entry + 4 && _BundleActive; + + // The new invocation can still save and recover its own current frame. + SelectExecutionContext(0, 0); + let new_start = ExecuteNextPTOInstruction(); + let new_parked = ExecuteNextPTOInstruction(); + assert new_start == PTOInstruction_Executed && + new_parked == PTOInstruction_Blocked; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _TrapContexts[[0]].valid; + let current_recovered = RecoverTrapContext(0); + assert current_recovered && ReadTPC() == new_entry + 4 && + _CurrentKernelInvocation != old_invocation; +end; + +func main() => integer +begin + TestFreshLaunchRetiresTargetFrames(TRUE); + TestFreshLaunchRetiresTargetFrames(FALSE); + return 0; +end; diff --git a/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-tstore-quiescence-002.asl b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-tstore-quiescence-002.asl new file mode 100644 index 000000000..61b3a6402 --- /dev/null +++ b/tests/asl/arch/state/kernel-lifecycle/arch-state-kernel-lifecycle-tstore-quiescence-002.asl @@ -0,0 +1,143 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-OBLIGATION-TSTORE-QUIESCENCE-002","source":"asl/arch/state/kernel-lifecycle.asl","requirements":["PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"a real committed TSTORE beat remains irrevocable across abort and drains before a new invocation","pass_condition":"a captured request progresses one real committed beat, abort waits for the exact old request's real completion, and only then admits a fresh invocation; a stale completion cannot update the new request","related_sources":["asl/tile/model/memory/load-store.asl","asl/arch/memory-model/gm-obligations.asl","asl/arch/state/core-synchronization.asl"]} +func TestAbortDrainsActualIrrevocableTStoreBeforeNewLaunch() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x500; + let launched = LaunchKernelInvocation(0, entry); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + ConfigureTile(4, 256, 1, 2, 1, 2, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x11); + WriteTileElement(4, 0, 1, Zeros{PTO_XLEN} + 0x22); + _BPC = entry; + _BundleStartEncodedInstruction = + '0000000000000000000000000000000011000000000100010001000110000001'; + _CurrentProgramOrder = 3; + _PEProgramOrder[[0]][[0]] = 3; + StartMemoryEventCapture(0); + SetVerificationGMProgressDeferred(TRUE); + TSTORE(Zeros{PTO_XLEN} + 0x500, Zeros{PTO_XLEN} + 16, 4); + let old_invocation = _KernelInvocationByCore[[0]]; + let old_obligation = _GMObligations[[0]][[0]][[0]]; + assert old_obligation.state == GMObligation_Validated; + assert old_obligation.progress_element == 0; + assert old_obligation.reversible; + assert !old_obligation.irrevocable; + let initial_first = LoadUnsigned(Zeros{PTO_XLEN} + 0x500, 8); + let initial_second = LoadUnsigned(Zeros{PTO_XLEN} + 0x508, 8); + assert initial_first == Zeros{PTO_XLEN}; + assert initial_second == Zeros{PTO_XLEN}; + + SetVerificationGMProgressDeferred(FALSE); + SetVerificationGMProgressBeatBudget(1); + ProgressKernelGMObligationsForCore(0, old_invocation); + let partly_completed = _GMObligations[[0]][[0]][[0]]; + assert partly_completed.state == GMObligation_Issued; + assert partly_completed.progress_element == 1; + assert partly_completed.irrevocable; + assert !partly_completed.reversible; + let first_after_beat = LoadUnsigned(Zeros{PTO_XLEN} + 0x500, 8); + let second_after_beat = LoadUnsigned(Zeros{PTO_XLEN} + 0x508, 8); + assert first_after_beat == Zeros{PTO_XLEN} + 0x11; + assert second_after_beat == Zeros{PTO_XLEN}; + var first_beat_event_found = FALSE; + for event_number = 0 to _MemoryEventCount - 1 do + let event = _MemoryEvents[[event_number as MemoryEventIndex]]; + if event.active && event.kind == MemoryEvent_Store && + event.address == Zeros{PTO_XLEN} + 0x500 && + event.write_value == Zeros{PTO_XLEN} + 0x11 && + event.committed && event.invocation == old_invocation then + first_beat_event_found = TRUE; + end; + end; + assert first_beat_event_found; + + _PC = entry + 8; + _CurrentProgramOrder = 4; + _PEProgramOrder[[0]][[0]] = 4; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert !_CoreSyncRecords[[0]][[0]].released; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = entry + 8; + _CurrentProgramOrder = 4; + _PEProgramOrder[[0]][[pe]] = 4; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + end; + assert _CoreSyncRecords[[0]][[0]].arrived == '1111'; + assert !_CoreSyncRecords[[0]][[0]].released; + SelectExecutionContext(0, 0); + _ScalarExecutionBlocked = FALSE; + + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Waiting; + assert _KernelInvocationByCore[[0]] == 0; + assert !_CoreSyncRecords[[0]][[0]].valid; + let blocked_launch = LaunchKernelInvocation(0, entry + 0x100); + assert blocked_launch == KernelLifecycle_Waiting; + assert _KernelInvocationByCore[[0]] == 0; + + ProgressKernelGMObligationsForCore(0, old_invocation); + let completed_old = _GMObligations[[0]][[0]][[0]]; + assert completed_old.state == GMObligation_Completed; + assert completed_old.invocation == old_invocation; + assert completed_old.progress_element == 2; + assert completed_old.irrevocable; + let second_after_drain = LoadUnsigned(Zeros{PTO_XLEN} + 0x508, 8); + assert second_after_drain == Zeros{PTO_XLEN} + 0x22; + var drained_beat_event_found = FALSE; + for event_number = 0 to _MemoryEventCount - 1 do + let event = _MemoryEvents[[event_number as MemoryEventIndex]]; + if event.active && event.kind == MemoryEvent_Store && + event.address == Zeros{PTO_XLEN} + 0x508 && + event.write_value == Zeros{PTO_XLEN} + 0x22 && + event.committed && event.invocation == old_invocation then + drained_beat_event_found = TRUE; + end; + end; + assert drained_beat_event_found; + + let relaunched = LaunchKernelInvocation(0, entry + 0x100); + assert relaunched == KernelLifecycle_Started; + let new_invocation = _KernelInvocationByCore[[0]]; + assert new_invocation != old_invocation; + SelectExecutionContext(0, 0); + ConfigureTile(4, 256, 1, 2, 1, 2, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x33); + WriteTileElement(4, 0, 1, Zeros{PTO_XLEN} + 0x44); + _BPC = entry; + _BundleStartEncodedInstruction = + '0000000000000000000000000000000011000000000100010001000110000001'; + _CurrentProgramOrder = 3; + _PEProgramOrder[[0]][[0]] = 3; + SetVerificationGMProgressDeferred(TRUE); + TSTORE(Zeros{PTO_XLEN} + 0x600, Zeros{PTO_XLEN} + 16, 4); + let new_obligation = _GMObligations[[0]][[0]][[0]]; + assert new_obligation.invocation == new_invocation; + assert new_obligation.identity != old_obligation.identity; + assert new_obligation.state == GMObligation_Validated; + CompleteGMObligationForIdentity(0, 0, 0 as GMObligationIndex, + old_invocation, old_obligation.identity); + assert _GMObligations[[0]][[0]][[0]].state == GMObligation_Validated; + assert _GMObligations[[0]][[0]][[0]].invocation == new_invocation; + let cancelled = AbortKernelInvocation(0); + assert cancelled == KernelLifecycle_Started; + assert _GMObligations[[0]][[0]][[0]].state == GMObligation_Cancelled; + SetVerificationGMProgressDeferred(FALSE); + SetVerificationGMProgressBeatBudget(0); + StopMemoryEventCapture(); +end; + +func main() => integer +begin + TestAbortDrainsActualIrrevocableTStoreBeforeNewLaunch(); + return 0; +end; diff --git a/tests/asl/arch/state/kernel-lifecycle/arch-static-kernel-lifecycle-contract-001.asl b/tests/asl/arch/state/kernel-lifecycle/arch-static-kernel-lifecycle-contract-001.asl new file mode 100644 index 000000000..8563a9b03 --- /dev/null +++ b/tests/asl/arch/state/kernel-lifecycle/arch-static-kernel-lifecycle-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-ARCH-STATE-KERNEL-LIFECYCLE-STATIC-001","source":"asl/arch/state/kernel-lifecycle.asl","requirements":["PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"static-invariant","summary":"PTO-ARCH-STATE-KERNEL-LIFECYCLE compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/arch/state/pe-execution-context/arch-state-pe-execution-context-core-isolation-001.asl b/tests/asl/arch/state/pe-execution-context/arch-state-pe-execution-context-core-isolation-001.asl new file mode 100644 index 000000000..454c5de09 --- /dev/null +++ b/tests/asl/arch/state/pe-execution-context/arch-state-pe-execution-context-core-isolation-001.asl @@ -0,0 +1,76 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-CORE-ISOLATION-001","source":"asl/arch/state/pe-execution-context.asl","requirements":["PTO-REQ-STATE-001","PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-MEMORY-MODEL-COLLECTIVE-SYNC-001"],"kind":"state-transition","summary":"two modeled Cores retain separate PE state and synchronization records while sharing GM","pass_condition":"the fixed four-PE membership is unchanged, Core-local registers and Tiles do not alias, event agent equality includes Core identity, and GM remains system-shared","related_sources":["asl/arch/state/core-synchronization.asl","asl/arch/memory-model/memory-events.asl"]} +func TestCoreExecutionStateIsIsolatedAndGMIsShared() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x500; + let launch0 = LaunchKernelInvocation(0, entry); + let launch1 = LaunchKernelInvocation(1, entry); + assert launch0 == KernelLifecycle_Started; + assert launch1 == KernelLifecycle_Started; + assert PTO_MODEL_MEMORY_AGENTS == 4; + + SelectExecutionContext(0, 0); + _PC = entry + 0x10; + WriteGPR(5, Zeros{PTO_XLEN} + 0x11); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x101); + + SelectExecutionContext(1, 0); + assert ReadTPC() == entry; + assert !_Tiles[[4]].allocated; + WriteGPR(5, Zeros{PTO_XLEN} + 0x22); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x202); + + SelectExecutionContext(0, 0); + assert ReadTPC() == entry + 0x10; + assert ReadGPR(5) == Zeros{PTO_XLEN} + 0x11; + assert ReadTileElement(4, 0, 0) == Zeros{PTO_XLEN} + 0x101; + _PC = entry + 4; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _CoreSyncRecords[[0]][[0]].valid; + assert _CoreSyncRecords[[0]][[0]].core_identity == 0; + + SelectExecutionContext(1, 0); + assert ReadGPR(5) == Zeros{PTO_XLEN} + 0x22; + assert ReadTileElement(4, 0, 0) == Zeros{PTO_XLEN} + 0x202; + _PC = entry + 4; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _CoreSyncRecords[[1]][[0]].valid; + assert _CoreSyncRecords[[1]][[0]].core_identity == 1; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert _CoreSyncRecords[[1]][[0]].arrived == '1000'; + + ResetMemoryExecution(); + SelectExecutionContext(0, 0); + let event0 = AddStoreEvent(0, Zeros{PTO_XLEN} + 0x900, 8, + Zeros{PTO_XLEN} + 1, MemoryOrder_Relaxed, 1); + SelectExecutionContext(1, 0); + let event1 = AddStoreEvent(0, Zeros{PTO_XLEN} + 0x900, 8, + Zeros{PTO_XLEN} + 2, MemoryOrder_Relaxed, 1); + assert _MemoryEvents[[event0]].core_identity == 0; + assert _MemoryEvents[[event1]].core_identity == 1; + assert !MemoryEventsSameAgent(_MemoryEvents[[event0]], + _MemoryEvents[[event1]]); + + let gm_address = Zeros{PTO_XLEN} + 0x600; + WriteMemoryByte(gm_address, Zeros{8} + 0x6d); + SelectExecutionContext(1, 2); + let shared_gm = LoadUnsigned(gm_address, 1); + assert shared_gm == Zeros{PTO_XLEN} + 0x6d; + + let aborted0 = AbortKernelInvocation(0); + let aborted1 = AbortKernelInvocation(1); + assert aborted0 == KernelLifecycle_Started; + assert aborted1 == KernelLifecycle_Started; +end; + +func main() => integer +begin + TestCoreExecutionStateIsIsolatedAndGMIsShared(); + return 0; +end; diff --git a/tests/asl/arch/state/pe-execution-context/arch-static-pe-execution-context-contract-001.asl b/tests/asl/arch/state/pe-execution-context/arch-static-pe-execution-context-contract-001.asl new file mode 100644 index 000000000..e9ad94e98 --- /dev/null +++ b/tests/asl/arch/state/pe-execution-context/arch-static-pe-execution-context-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-ARCH-STATE-PE-EXECUTION-CONTEXT-STATIC-001","source":"asl/arch/state/pe-execution-context.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001"],"kind":"static-invariant","summary":"PTO-ARCH-STATE-PE-EXECUTION-CONTEXT compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl b/tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl index 25c5ab7f8..75d0a8cb8 100644 --- a/tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl +++ b/tests/asl/arch/state/trap-context/arch-fault-queue-readiness-recovery-001.asl @@ -1,4 +1,4 @@ -// PTO-UNIT: {"id":"PTO-TEST-ARCH-QUEUE-READINESS-RECOVERY-001","surface":"arch","classification":["state","trap-context","arch-fault-queue-readiness-recovery-001"],"depends_on":["PTO-ARCH-STATE-TRAP-CONTEXT"]} +// PTO-UNIT: {"id":"PTO-TEST-ARCH-QUEUE-READINESS-RECOVERY-001","surface":"arch","classification":["state","trap-context","arch-fault-queue-readiness-recovery-001"],"depends_on":["PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"]} // PTO-TEST: {"id":"PTO-AVS-ARCH-QUEUE-READINESS-RECOVERY-001","source":"asl/arch/state/trap-context.asl","requirements":["PTO-REQ-STATE-001"],"kind":"fault","summary":"Trap save and recovery preserve temporary queue values and their relative-source readiness","pass_condition":"after recovery the saved newest T/U entries remain available, older unsupplied entries remain unavailable, and post-save pushes are discarded","related_sources":["asl/arch/data-types/trap-context.asl","asl/scalar/model/fsu/scalar-fp.asl"]} func main() => integer diff --git a/tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl b/tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl index ab13b4847..89812ba0c 100644 --- a/tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl +++ b/tests/asl/block/execution/BSTART.TSTORE/block-bound-bstart-tstore-mask-001.asl @@ -1,4 +1,4 @@ -// PTO-TEST: {"id":"PTO-AVS-BLOCK-TSTORE-MASK-001","source":"asl/block/execution/BSTART.TSTORE.asl","requirements":["PTO-B-SHARED-WHOLE-PARENT-READY-001","PTO-INST-BLOCK-BSTART-TSTORE"],"kind":"boundary","summary":"Decoded Function 1 accepts every nonzero Shared consumer mask and zero remains a strict no-op","pass_condition":"full and sparse nonzero masks store one published Shared payload without mask faults while zero completes without source readiness or GM effects","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/state/shared-registers.asl"]} +// PTO-TEST: {"id":"PTO-AVS-BLOCK-TSTORE-MASK-001","source":"asl/block/execution/BSTART.TSTORE.asl","requirements":["PTO-B-SHARED-WHOLE-PARENT-READY-001","PTO-INST-BLOCK-BSTART-TSTORE","PTO-ARCH-GM-OBLIGATIONS-001"],"kind":"boundary","summary":"Decoded Function 1 accepts every nonzero Shared consumer mask and zero remains a strict no-op without a phantom kernel GM obligation","pass_condition":"full and sparse nonzero masks store one published Shared payload while zero completes without source readiness, GM effects, memory events, or kernel obligation registration","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/state/shared-registers.asl","asl/arch/memory-model/gm-obligations.asl"]} pure func TStoreMaskStart(function: bits(5), data_type: bits(5)) => bits(64) begin var instruction: bits(64) = Zeros{64} + 0x00011181; @@ -60,6 +60,10 @@ begin ResetProfileState(); _Memory[[0]] = Zeros{8} + 0x55; + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x200); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + StartMemoryEventCapture(0); let zero_start = ExecuteCommandInstruction( TStoreMaskStart('00001', Zeros{5} + 24), 32); let zero_source = ExecuteCommandInstruction( @@ -71,5 +75,15 @@ begin assert _LastFault == Fault_None; assert _Memory[[0]] == Zeros{8} + 0x55; assert !SharedTileRecord((Zeros{6} + 7) as SharedTileID).descriptor_valid; + assert _MemoryEventCount == 0; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + for slot = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + assert !_GMObligations[[0]][[pe]][[slot]].active; + end; + end; + let ended = EndKernelInvocation(0); + assert ended == KernelLifecycle_Started; + StopMemoryEventCapture(); return 0; end; diff --git a/tests/asl/block/execution/BSTART.TSTORE/block-state-bstart-tstore-undef-001.asl b/tests/asl/block/execution/BSTART.TSTORE/block-state-bstart-tstore-undef-001.asl deleted file mode 100644 index a26a981e0..000000000 --- a/tests/asl/block/execution/BSTART.TSTORE/block-state-bstart-tstore-undef-001.asl +++ /dev/null @@ -1,50 +0,0 @@ -// PTO-TEST: {"id":"PTO-AVS-BLOCK-TSTORE-UNDEF-001","source":"asl/block/execution/BSTART.TSTORE.asl","requirements":["PTO-B-SHARED-WHOLE-PARENT-READY-001","PTO-INST-BLOCK-BSTART-TSTORE"],"kind":"state-transition","summary":"An unpublished Shared TSTORE source keeps the completed block waiting.","pass_condition":"The first attempt has no fault, GM effect, or binding consumption; publishing the same parent lets the unchanged block retry and store successfully.","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/state/shared-registers.asl"]} -pure func WaitingTSTORESharedSource(shared_tile_id: bits(6)) => bits(64) -begin - var instruction = Zeros{64} + 0x00001013; - instruction[25:20] = shared_tile_id; - instruction[11:9] = '001'; - return instruction; -end; - -func main() => integer -begin - ResetProfileState(); - let shared_tile_id = (Zeros{6} + 42) as SharedTileID; - ConfigureTile(0, 128, 128, 1, 1, 1, TileDataType_U8, - TileLayout_RowMajor); - WriteTileElement(0, 0, 0, Zeros{PTO_XLEN} + 0x5a); - let pending = AtomicUpdateSharedTileWithPublication( - shared_tile_id, _Tiles[[0]], '1000', FALSE); - assert pending; - assert SharedTileRecord(shared_tile_id).descriptor_valid; - assert !SharedTilePublished(shared_tile_id); - assert !SharedTileRecord(shared_tile_id).whole_parent_ready; - - var start = Zeros{64} + 0x00111181; - start[31:27] = Zeros{5} + 27; - let started = ExecuteCommandInstruction(start, 32); - let bound = ExecuteCommandInstruction( - WaitingTSTORESharedSource(Zeros{6} + 42), 32); - assert started == CommandExecution_Executed; - assert bound == CommandExecution_Executed; - let waiting = ExecuteBundleTileOperation(); - assert !waiting && _LastFault == Fault_None; - assert _BundleActive; - assert !_BundleSharedBindings[[0]].consumed; - assert _MemoryEventCount == 0; - assert _Memory[[0]] == Zeros{8}; - - let index = SharedTileArrayIndex(shared_tile_id); - _SharedTiles[[index]].whole_parent_ready = TRUE; - _SharedTiles[[index]].published = TRUE; - assert SharedTileDescriptorLegal(shared_tile_id); - assert SharedTileReadSchemaLegal(shared_tile_id, 1, 1, 1, - TileDataType_U8, TileLayout_RowMajor); - let completed = ExecuteBundleTileOperation(); - assert _LastFault == Fault_None; - assert completed; - assert _BundleSharedBindings[[0]].consumed; - assert _Memory[[0]] == Zeros{8} + 0x5a; - return 0; -end; diff --git a/tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-local-private-fourstream-038.asl b/tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-local-private-fourstream-038.asl new file mode 100644 index 000000000..39baffa77 --- /dev/null +++ b/tests/asl/block/model/dispatch/cube-tmatmul/block-exec-tmatmul-shared-local-private-fourstream-038.asl @@ -0,0 +1,142 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-TMATMUL-SHARED-LOCAL-PRIVATE-FOURSTREAM-038","source":"asl/block/model/dispatch/cube-tmatmul.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-CUBE-GROUP-M-DISTRIBUTION-001","PTO-B-SHARED-WHOLE-PARENT-READY-001"],"kind":"execution","summary":"encoded cooperative TMATMUL reads each PE's private Local A with a Core Shared B","pass_condition":"four encoded streams use a common published Shared B and their own distinct Local A fragments; each emits the correct 16-row private result, preserves Shared, and leaves other PE Local results isolated","related_sources":["asl/block/model/dispatch/cube-tmatmul.asl","asl/block/model/dispatch/shared-cube-matrix.asl","asl/arch/state/pe-execution-context.asl"]} +pure func PrivateFourStreamTMATMULStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00031181; + instruction[31:27] = Zeros{5} + 26; + return instruction; +end; + +pure func PrivateFourStreamTMATMULFPATR() => bits(64) +begin + return Zeros{64} + 0x00002023; +end; + +pure func PrivateFourStreamTMATMULDimension( + lb: integer {0..2}, value: integer {0..65535}) => bits(64) +begin + var instruction = Zeros{64} + 0x00000043; + if lb == 1 then + instruction = Zeros{64} + 0x00001043; + elsif lb == 2 then + instruction = Zeros{64} + 0x00002043; + end; + instruction[19:15] = Zeros{5}; + instruction[31:20] = Zeros{12} + value; + instruction[11:7] = Zeros{5} + (value DIVRM 4096); + return instruction; +end; + +pure func PrivateFourStreamTMATMULShared(shared_id: bits(6)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = Zeros{4}; + instruction[11:9] = '111'; + return instruction; +end; + +pure func PrivateFourStreamTMATMULBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[18:15] = '0101'; + instruction[11:9] = '111'; + instruction[8:7] = '10'; + instruction[19] = '1'; + return instruction; +end; + +func PreparePrivateFourStreamTMATMULPE(pe: MemoryAgentId) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + let configured = ConfigureCubeTile(0, 512, 16, 16, + TileDataType_U16, TileLayout_CUBE_M16); + assert configured; + let value = Zeros{PTO_XLEN} + + (1 + (pe as integer {0..3})); + for row = 0 to 15 looplimit 16 do + for column = 0 to 15 looplimit 16 do + WriteTileElement(0 as TileIndex, row, column, value); + end; + end; +end; + +func ExecutePrivateFourStreamTMATMULPE(pe: MemoryAgentId) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + let start = ExecuteCommandInstruction( + PrivateFourStreamTMATMULStart(), 32); + let fpatr = ExecuteCommandInstruction( + PrivateFourStreamTMATMULFPATR(), 32); + let dim_m = ExecuteCommandInstruction( + PrivateFourStreamTMATMULDimension(0, 64), 32); + let dim_n = ExecuteCommandInstruction( + PrivateFourStreamTMATMULDimension(1, 1), 32); + let dim_k = ExecuteCommandInstruction( + PrivateFourStreamTMATMULDimension(2, 16), 32); + let shared = ExecuteCommandInstruction( + PrivateFourStreamTMATMULShared(Zeros{6} + 43), 32); + let binding = ExecuteCommandInstruction( + PrivateFourStreamTMATMULBinding(), 32); + assert start == CommandExecution_Executed && + fpatr == CommandExecution_Executed && + dim_m == CommandExecution_Executed && + dim_n == CommandExecution_Executed && + dim_k == CommandExecution_Executed && + shared == CommandExecution_Executed && + binding == CommandExecution_Executed; + assert _BundleSharedBindings[[0]].pe_mask == '1111'; + assert _BundleTileBindings[[0]].pe_mask == '1111'; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + assert !_BundleActive; + // Hand 2 is empty in every private bank, so B.IOT publishes register 32. + let destination = 32 as TileIndex; + let expected = Zeros{PTO_XLEN} + + (32 * (1 + (pe as integer {0..3}))); + assert _Tiles[[destination]].contents_defined; + assert _Tiles[[destination]].valid_rows == 16; + assert _Tiles[[destination]].valid_columns == 1; + for row = 0 to 15 looplimit 16 do + assert ReadTileElement(destination, row, 0) == expected; + end; + assert _Tiles[[0]].contents_defined; + assert ReadTileElement(0 as TileIndex, 0, 0) == + Zeros{PTO_XLEN} + (1 + (pe as integer {0..3})); +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(10, 128, 1, 16, 1, 16, TileDataType_U16, + TileLayout_RowMajor); + for column = 0 to 15 looplimit 16 do + WriteTileElement(10 as TileIndex, 0, column, + Zeros{PTO_XLEN} + 2); + end; + InstallSharedTile((Zeros{6} + 43) as SharedTileID, + _Tiles[[10]], '1111'); + assert SharedTilePublished((Zeros{6} + 43) as SharedTileID); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + PreparePrivateFourStreamTMATMULPE( + pe_number as MemoryAgentId); + end; + let shared_before = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + ExecutePrivateFourStreamTMATMULPE( + pe_number as MemoryAgentId); + end; + let shared_after = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + assert shared_after.descriptor_valid == shared_before.descriptor_valid; + assert shared_after.allocation_mask == shared_before.allocation_mask; + assert shared_after.initialized_mask == shared_before.initialized_mask; + assert shared_after.whole_parent_ready == shared_before.whole_parent_ready; + assert shared_after.published == shared_before.published; + assert shared_after.tile.payload[[0]] == shared_before.tile.payload[[0]]; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-state-gm-obligation-dispatch-unready-tstore-001.asl b/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-state-gm-obligation-dispatch-unready-tstore-001.asl new file mode 100644 index 000000000..22388d562 --- /dev/null +++ b/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-state-gm-obligation-dispatch-unready-tstore-001.asl @@ -0,0 +1,163 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-TSTORE-UNDEF-001","source":"asl/block/model/dispatch/gm-obligation-dispatch.asl","requirements":["PTO-B-SHARED-WHOLE-PARENT-READY-001","PTO-INST-BLOCK-BSTART-TSTORE","PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"An unpublished Shared TSTORE source keeps its captured kernel request fault-capable and blocks collective arrival until producer publication and real store completion.","pass_condition":"The encoded block's first attempt retains request, invocation, and Shared source identity without fault, GM effect, or binding consumption; SYNC.CORE cannot arrive while the source is unpublished; completing the real producer publication lets the unchanged request retry through actual probe/store/event completion, after which the collective can release.","related_sources":["asl/block/execution/BSTART.TSTORE.asl","asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/memory/shared-movement.asl","asl/tile/model/state/shared-registers.asl","asl/arch/memory-model/gm-obligations.asl","asl/arch/state/core-synchronization.asl"]} +pure func WaitingTSTORESharedSource(shared_tile_id: bits(6)) => bits(64) +begin + var instruction = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[11:9] = '001'; + return instruction; +end; + +func WriteUnreadyTStoreBarrier(entry: Word) +begin + WriteMemoryByte(entry, Zeros{8} + 0x81); + WriteMemoryByte(entry + 1, Zeros{8} + 0x10); + WriteMemoryByte(entry + 2, Zeros{8}); + WriteMemoryByte(entry + 3, Zeros{8}); + WriteMemoryByte(entry + 4, Zeros{8} + 0x2b); + WriteMemoryByte(entry + 5, Zeros{8} + 0xa0); + WriteMemoryByte(entry + 6, Zeros{8} + 0x30); + WriteMemoryByte(entry + 7, Zeros{8} + 0x03); + WriteMemoryByte(entry + 8, Zeros{8} + 1); + WriteMemoryByte(entry + 9, Zeros{8}); + WriteMemoryByte(entry + 10, Zeros{8}); + WriteMemoryByte(entry + 11, Zeros{8}); + WriteMemoryByte(entry + 12, Zeros{8}); + WriteMemoryByte(entry + 13, Zeros{8}); +end; + +func main() => integer +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x200; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + StartMemoryEventCapture(0); + let shared_tile_id = (Zeros{6} + 42) as SharedTileID; + ConfigureTile(0, 128, 128, 1, 1, 1, TileDataType_U8, + TileLayout_RowMajor); + WriteTileElement(0, 0, 0, Zeros{PTO_XLEN} + 0x5a); + let pending = AtomicUpdateSharedTileWithPublication( + shared_tile_id, _Tiles[[0]], '1000', FALSE); + assert pending; + assert SharedTileRecord(shared_tile_id).descriptor_valid; + assert !SharedTilePublished(shared_tile_id); + assert !SharedTileRecord(shared_tile_id).whole_parent_ready; + + let invocation = _KernelInvocationByCore[[0]]; + _PC = entry; + var start = Zeros{64} + 0x00111181; + start[31:27] = Zeros{5} + 27; + let started = ExecuteCommandInstruction(start, 32); + let bound = ExecuteCommandInstruction( + WaitingTSTORESharedSource(Zeros{6} + 42), 32); + assert started == CommandExecution_Executed; + assert bound == CommandExecution_Executed; + _CurrentProgramOrder = 3; + _PEProgramOrder[[0]][[0]] = 3; + let expected_submission_order = _CurrentProgramOrder + 1; + let parked_tpc = ReadTPC(); + let waiting = ExecuteCommandInstruction(Zeros{64}, 16); + assert waiting == CommandExecution_Executed && + _LastFault == Fault_None; + assert _BundleActive; + assert ReadTPC() == parked_tpc; + assert !_BundleSharedBindings[[0]].consumed; + let pending_obligation = _GMObligations[[0]][[0]][[0]]; + assert pending_obligation.active; + assert pending_obligation.invocation == _KernelInvocationByCore[[0]]; + assert pending_obligation.instruction_pc == entry; + assert pending_obligation.submission_order == expected_submission_order; + assert pending_obligation.request_class == GMRequest_Tile; + assert pending_obligation.may_fault; + assert pending_obligation.state == GMObligation_Issued; + assert pending_obligation.bundle_shared_bindings[[0]].valid; + assert pending_obligation.bundle_shared_bindings[[0]].shared_tile_id == + shared_tile_id; + assert _MemoryEventCount == 0; + assert _Memory[[0]] == Zeros{8}; + + let barrier_site = entry + 0x40; + WriteUnreadyTStoreBarrier(barrier_site); + // Other real PE streams reach the encoded barrier. Its automatic progress + // walk must skip the unpublished-source generic request rather than run a + // placeholder Local snapshot as a completed store. + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = barrier_site; + let system_start = ExecuteNextPTOInstruction(); + assert system_start == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Blocked; + assert ReadTPC() == barrier_site + 4; + end; + SelectExecutionContext(0, 0); + assert ReadTPC() == parked_tpc && _BundleActive; + assert FindCoreSyncGenerationRecord(0, _KernelInvocationByCore[[0]], 0) == + 0; + assert _CoreSyncRecords[[0]][[0]].arrived == '0111'; + assert !_CoreSyncRecords[[0]][[0]].released; + assert !CoreGMObligationsPermitArrival(0, 0, + pending_obligation.invocation, pending_obligation.submission_order); + assert !CoreGMObligationsComplete(0, 0, pending_obligation.invocation, + pending_obligation.submission_order); + assert pending_obligation.state == GMObligation_Issued; + assert pending_obligation.may_fault; + assert !pending_obligation.captured_tstore_progress; + assert _MemoryEventCount == 0; + + let producer_completed = AtomicUpdateSharedTileWithPublication( + shared_tile_id, _Tiles[[0]], '1000', TRUE); + assert producer_completed; + assert SharedTileDescriptorLegal(shared_tile_id); + assert SharedTileReadSchemaLegal(shared_tile_id, 1, 1, 1, + TileDataType_U8, TileLayout_RowMajor); + let completed = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + assert completed == CommandExecution_Executed; + let completed_obligation = _GMObligations[[0]][[0]][[0]]; + assert completed_obligation.identity == pending_obligation.identity; + assert completed_obligation.invocation == pending_obligation.invocation; + assert completed_obligation.state == GMObligation_Completed; + assert !completed_obligation.may_fault; + assert _MemoryEventCount > 0; + var attributed_store_event_found = FALSE; + for event_number = 0 to _MemoryEventCount - 1 do + let event = _MemoryEvents[[event_number as MemoryEventIndex]]; + if event.active && event.kind == MemoryEvent_Store && + event.core_identity == 0 && + event.origin == MemoryEventOrigin_Kernel && + event.invocation == invocation && + event.collective_history_sequence == + pending_obligation.collective_history_sequence && + event.address == Zeros{PTO_XLEN} && + event.write_value == Zeros{PTO_XLEN} + 0x5a && + event.committed then + attributed_store_event_found = TRUE; + end; + end; + assert attributed_store_event_found; + assert !_BundleActive; + assert _Memory[[0]] == Zeros{8} + 0x5a; + + _PC = barrier_site; + let own_system_start = ExecuteNextPTOInstruction(); + assert own_system_start == PTOInstruction_Executed; + let own_barrier = ExecuteNextPTOInstruction(); + assert own_barrier == PTOInstruction_Executed; + assert _CoreSyncRecords[[0]][[0]].arrived == '1111'; + assert _CoreSyncRecords[[0]][[0]].released; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + let release_status = ExecuteNextPTOInstruction(); + assert release_status == PTOInstruction_Executed; + end; + assert _PEBarrierNextGeneration[[0]][[0]] == 1; + assert _GMObligations[[0]][[0]][[0]].invocation == invocation; + let ended = EndKernelInvocation(0); + assert ended == KernelLifecycle_Started; + StopMemoryEventCapture(); + return 0; +end; diff --git a/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-static-gm-obligation-dispatch-contract-001.asl b/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-static-gm-obligation-dispatch-contract-001.asl new file mode 100644 index 000000000..18b2fa921 --- /dev/null +++ b/tests/asl/block/model/dispatch/gm-obligation-dispatch/block-static-gm-obligation-dispatch-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-BLOCK-MODEL-DISPATCH-GM-OBLIGATION-STATIC-001","source":"asl/block/model/dispatch/gm-obligation-dispatch.asl","requirements":[],"kind":"static-invariant","summary":"PTO-BLOCK-MODEL-DISPATCH-GM-OBLIGATION compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-fourstream-010.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-fourstream-010.asl new file mode 100644 index 000000000..215b20d9f --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-fourstream-010.asl @@ -0,0 +1,102 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-LOCAL-FOURSTREAM-010","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-SHARED-WHOLE-PARENT-READY-001"],"kind":"execution","summary":"encoded Shared-to-Local TLSU writes only each selected PE's private Local destination","pass_condition":"four independent encoded streams retain the original two-PE mask; PE0 and PE1 receive complete copies in their own Local banks, while PE2 and PE3 allocate or fault nothing and the Core Shared parent stays unchanged","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/memory/shared-movement.asl","asl/arch/state/pe-execution-context.asl"]} +pure func SharedLocalFourStreamStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedLocalFourStreamSource(shared_id: bits(6), + pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = Zeros{4}; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedLocalFourStreamDestination(pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00006013; + instruction[18:15] = '0001'; + instruction[8:7] = '10'; + instruction[11:9] = pe_mode; + instruction[19] = '1'; + return instruction; +end; + +func ExecuteSharedLocalFourStreamPE(pe: MemoryAgentId) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + assert !_Tiles[[2]].allocated; + let start = ExecuteCommandInstruction(SharedLocalFourStreamStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let shared = ExecuteCommandInstruction(SharedLocalFourStreamSource( + Zeros{6} + 43, '101'), 32); + let destination = ExecuteCommandInstruction( + SharedLocalFourStreamDestination('101'), 32); + assert start == CommandExecution_Executed; + assert shared == CommandExecution_Executed; + assert destination == CommandExecution_Executed; + assert _BundleSharedBindings[[0]].pe_mask == '1100'; + assert _BundleTileBindings[[0]].pe_mask == '1100'; + // B.IOT selects hand 2; destination allocation chooses the first free + // Local register in that hand, which is register 32 in this fixture. + let destination_index = 32 as TileIndex; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe == 0 || pe == 1 then + assert _Tiles[[destination_index]].allocated; + assert _Tiles[[destination_index]].contents_defined; + assert ReadTileElement(destination_index, 0, 0) == + Zeros{PTO_XLEN} + 0x5a; + else + assert !_Tiles[[destination_index]].allocated; + end; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(0, 128, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(0, 0, 0, Zeros{PTO_XLEN} + 0x5a); + InstallSharedTile((Zeros{6} + 43) as SharedTileID, + _Tiles[[0]], '1000'); + let prior = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + ExecuteSharedLocalFourStreamPE(pe_number as MemoryAgentId); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if pe_number == 0 || pe_number == 1 then + assert _Tiles[[32]].allocated && _Tiles[[32]].contents_defined; + assert ReadTileElement(32 as TileIndex, 0, 0) == + Zeros{PTO_XLEN} + 0x5a; + else + assert !_Tiles[[32]].allocated; + end; + end; + let after = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + assert after.descriptor_valid == prior.descriptor_valid; + assert after.allocation_mask == prior.allocation_mask; + assert after.initialized_mask == prior.initialized_mask; + assert after.whole_parent_ready == prior.whole_parent_ready; + assert after.published == prior.published; + assert after.tile.allocated == prior.tile.allocated; + assert after.tile.capacity_bytes == prior.tile.capacity_bytes; + assert after.tile.rows == prior.tile.rows && + after.tile.columns == prior.tile.columns; + assert after.tile.payload[[0]] == prior.tile.payload[[0]]; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-subview-fourstream-011.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-subview-fourstream-011.asl new file mode 100644 index 000000000..50b28b2d5 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-local-subview-fourstream-011.asl @@ -0,0 +1,112 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-LOCAL-SUBVIEW-FOURSTREAM-011","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-SUBVIEW-SHARED-PER-PE-001","PTO-B-SHARED-WHOLE-PARENT-READY-001"],"kind":"execution","summary":"encoded Shared CELL subviews materialize only into the eligible PE's private Local bank","pass_condition":"four independent encoded streams retain the full logical mask and each selected PE receives only its own distinct Shared CELL view in its Local destination; nonselected PE effects and the Core Shared parent remain unchanged","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/block/model/operands/shared-generation.asl","asl/tile/model/memory/shared-movement.asl","asl/arch/state/pe-execution-context.asl"]} +pure func SharedLocalSubviewFourStreamStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = TileDataTypeToEncoding(TileDataType_U8); + return instruction; +end; + +pure func SharedLocalSubviewFourStreamSource(shared_id: bits(6)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = Zeros{4}; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SharedLocalSubviewFourStreamSubview() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000053; + instruction[19:15] = Zeros{5} + 2; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedLocalSubviewFourStreamDestination() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00006013; + instruction[18:15] = '0001'; + instruction[8:7] = '10'; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func ExecuteSharedLocalSubviewFourStreamPE(pe: MemoryAgentId) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + WriteGPR(2, Zeros{PTO_XLEN} + (pe as integer {0..3})); + let start = ExecuteCommandInstruction( + SharedLocalSubviewFourStreamStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 128); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 128); + let source = ExecuteCommandInstruction( + SharedLocalSubviewFourStreamSource(Zeros{6} + 43), 32); + let subview = ExecuteCommandInstruction( + SharedLocalSubviewFourStreamSubview(), 32); + let destination = ExecuteCommandInstruction( + SharedLocalSubviewFourStreamDestination(), 32); + assert start == CommandExecution_Executed; + assert source == CommandExecution_Executed; + assert subview == CommandExecution_Executed; + assert destination == CommandExecution_Executed; + assert _BundleSharedBindings[[0]].pe_mask == '1111'; + assert _BundleTileBindings[[0]].pe_mask == '1111'; + assert _BundleSharedBindings[[0]].source0_subview.valid; + assert _BundleSharedBindings[[0]].source0_subview.offset == + (Zeros{PTO_XLEN} + (pe as integer {0..3})); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + assert _Tiles[[32]].allocated && _Tiles[[32]].contents_defined; + assert _Tiles[[32]].rows == 1 && _Tiles[[32]].columns == 128; + for column = 0 to 127 looplimit 128 do + assert ReadTileElement(32 as TileIndex, 0, column) == + Zeros{PTO_XLEN} + 0x10 + (pe as integer {0..3}); + end; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(10, 512, 1, 512, 1, 512, TileDataType_U8, + TileLayout_RowMajor); + for column = 0 to 511 looplimit 512 do + WriteTileElement(10, 0, column, + Zeros{PTO_XLEN} + 0x10 + (column DIVRM 128)); + end; + InstallSharedTile((Zeros{6} + 43) as SharedTileID, + _Tiles[[10]], '1111'); + let before = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + ExecuteSharedLocalSubviewFourStreamPE( + pe_number as MemoryAgentId); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + assert _Tiles[[32]].allocated && _Tiles[[32]].contents_defined; + for column = 0 to 127 looplimit 128 do + assert ReadTileElement(32 as TileIndex, 0, column) == + Zeros{PTO_XLEN} + 0x10 + pe_number; + end; + end; + let after = SharedTileRecord((Zeros{6} + 43) as SharedTileID); + assert after.tile.capacity_bytes == before.tile.capacity_bytes; + assert after.tile.rows == before.tile.rows && + after.tile.columns == before.tile.columns; + for column = 0 to 511 looplimit 512 do + assert ReadSharedTileWord((Zeros{6} + 43) as SharedTileID, + column as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x10 + (column DIVRM 128); + end; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-pe-owner-008.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-pe-owner-008.asl new file mode 100644 index 000000000..781de55bf --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tlsu-pe-owner-008.asl @@ -0,0 +1,131 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-PE-OWNER-008","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-SHARED-WHOLE-PARENT-READY-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001"],"kind":"execution","summary":"A singleton direct TMOV publishes its eligible PE's private source; nonparticipants cannot contribute and a later operation updates the whole parent.","pass_condition":"PE0's encoded singleton publishes all 16 of its source words immediately, nonselected PE1..PE3 instances do not fault or alter Shared, and a repeated site publishes PE0's distinct later payload.","related_sources":["asl/tile/model/state/shared-registers.asl","asl/block/model/operands/shared-generation.asl"]} +pure func BundleTestTLSUOwnerStart(function: bits(5), data_type: bits(5)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = function; + instruction[31:27] = data_type; + return instruction; +end; + +pure func BundleTestTLSUOwnerTileBinding(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '001'; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func BundleTestTLSUOwnerSharedBinding( + shared_tile_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[18:15] = '0001'; + instruction[11:9] = '001'; + return instruction; +end; + +func PrepareTLSUOwnerPE(pe: MemoryAgentId, generation: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if ReadTPC() == Zeros{PTO_XLEN} then + WriteTPC(Zeros{PTO_XLEN} + 0x100); + end; + ConfigureTile(0, 128, 16, 1, 16, 1, TileDataType_U64, + TileLayout_RowMajor); + for element = 0 to 15 do + WriteTileElement(0, element as integer {0..65535}, 0, + Zeros{PTO_XLEN} + (generation * 100 + + (pe as integer {0..3}) * 10 + element + 1)); + end; + let start_result = ExecuteCommandInstruction(BundleTestTLSUOwnerStart( + '00010', Zeros{5} + 24), 32); + let shared_result = ExecuteCommandInstruction( + BundleTestTLSUOwnerSharedBinding(Zeros{6} + 19), 32); + let tile_result = ExecuteCommandInstruction( + BundleTestTLSUOwnerTileBinding(Zeros{6}), 32); + assert start_result == CommandExecution_Executed; + assert shared_result == CommandExecution_Executed; + assert tile_result == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + !_BundleSharedBindings[[0]].consumed && + _BundleTileBindings[[0]].valid; +end; + +func TestTLSUActualPEOwnerPublication() +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + PrepareTLSUOwnerPE(pe as MemoryAgentId, 1); + end; + + // The first eligible singleton direct TMOV publishes the complete parent + // from the real PE0 source, without asking nonselected PEs to execute this + // operation or contribute their private payload. + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _BundleActive && _BundleSharedBindings[[0]].valid && + !_BundleSharedBindings[[0]].consumed; + assert BundleSharedBindingId(0) == ((Zeros{6} + 19) as SharedTileID); + let pe0_first_result = ExecuteCommandInstruction( + Zeros{64}, 16); + assert pe0_first_result == CommandExecution_Executed; + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + for element = 0 to 15 do + assert ReadSharedTileWord(shared_id, + element as PackedTileElementIndex) == + Zeros{PTO_XLEN} + (100 + element + 1); + end; + // PE0 starts a second operation at the same static site before PE1..PE3 + // have reached their first instance. The new ordinal and payload remain + // distinct from the older completed candidate. + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + PrepareTLSUOwnerPE(0 as MemoryAgentId, 2); + assert _BundleActive && _BundleSharedBindings[[0]].valid && + !_BundleSharedBindings[[0]].consumed; + let pe0_second_result = ExecuteCommandInstruction( + Zeros{64}, 16); + assert pe0_second_result == CommandExecution_Executed; + for element = 0 to 15 do + assert ReadSharedTileWord(shared_id, + element as PackedTileElementIndex) == + Zeros{PTO_XLEN} + (200 + element + 1); + end; + for pe = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + assert _BundleActive && _BundleSharedBindings[[0]].valid && + !_BundleSharedBindings[[0]].consumed; + let stale_first_result = ExecuteCommandInstruction( + Zeros{64}, 16); + assert stale_first_result == CommandExecution_Executed; + for element = 0 to 15 do + assert ReadSharedTileWord(shared_id, + element as PackedTileElementIndex) == + Zeros{PTO_XLEN} + (200 + element + 1); + end; + PrepareTLSUOwnerPE(pe as MemoryAgentId, 2); + assert _BundleActive && _BundleSharedBindings[[0]].valid && + !_BundleSharedBindings[[0]].consumed; + let second_peer_result = ExecuteCommandInstruction( + Zeros{64}, 16); + assert second_peer_result == CommandExecution_Executed; + end; + for element = 0 to 15 do + assert ReadSharedTileWord(shared_id, + element as PackedTileElementIndex) == + Zeros{PTO_XLEN} + (200 + element + 1); + end; +end; + +func main() => integer +begin + TestTLSUActualPEOwnerPublication(); + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tstore-fourstream-009.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tstore-fourstream-009.asl new file mode 100644 index 000000000..718d88ad3 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-exec-shared-tstore-fourstream-009.asl @@ -0,0 +1,138 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TSTORE-FOURSTREAM-009","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-INST-TILE-TSTORE","PTO-ARCH-MEMORY-MODEL-REPLAY-001"],"kind":"execution","summary":"four encoded Shared-source TSTORE streams emit only their eligible PE's GM effects","pass_condition":"a sparse PE0-only TSTORE emits one PE0 event, a full-mask four-stream TSTORE emits one event per actual PE, and zero-mask streams emit no event or effect; each write uses the executing PE's private base GPR and the shared source is unchanged","related_sources":["asl/block/model/dispatch/shared-tlsu.asl","asl/tile/model/memory/shared-movement.asl","asl/arch/state/pe-execution-context.asl"]} +pure func FourStreamSharedTSTOREStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00001'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func FourStreamSharedBinding(shared_id: bits(6), + pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = Zeros{4}; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func FourStreamSharedAddress() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func ExecuteFourStreamTSTORE(pe: MemoryAgentId, base: Word, + pe_mode: bits(3)) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + assert _CurrentPEContextValid && _CurrentMemoryAgent == pe; + WriteGPR(2, base); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + let start = ExecuteCommandInstruction(FourStreamSharedTSTOREStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let shared = ExecuteCommandInstruction(FourStreamSharedBinding( + Zeros{6} + 42, pe_mode), 32); + let address = ExecuteCommandInstruction(FourStreamSharedAddress(), 32); + assert start == CommandExecution_Executed; + assert shared == CommandExecution_Executed; + assert address == CommandExecution_Executed; + if pe_mode == '111' then + assert _BundleSharedBindings[[0]].pe_mask == '1111'; + elsif pe_mode == '001' then + assert _BundleSharedBindings[[0]].pe_mask == '1000'; + else + assert _BundleSharedBindings[[0]].pe_mask == Zeros{4}; + end; + let event_count_before_stop = _MemoryEventCount; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed; + assert _LastFault == Fault_None; + assert !_BundleActive; + if pe_mode == '111' || (pe_mode == '001' && pe == 0) then + assert _MemoryEventCount == event_count_before_stop + 1; + else + assert _MemoryEventCount == event_count_before_stop; + end; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(0, 128, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(0, 0, 0, Zeros{PTO_XLEN} + 0x5a); + InstallSharedTile((Zeros{6} + 42) as SharedTileID, + _Tiles[[0]], '1111'); + StartMemoryEventCapture(0); + + // A complete logical mask still gives each independently executed stream + // only its own address and one real store event. + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + ExecuteFourStreamTSTORE(pe, + Zeros{PTO_XLEN} + 0x800 + pe_number * 8, '111'); + end; + assert _MemoryEventCount == PTO_MODEL_MEMORY_AGENTS; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + let address = Zeros{PTO_XLEN} + 0x800 + pe_number * 8; + let byte_index = UInt(address) as integer + {0..PTO_MODEL_MEMORY_BYTES-1}; + assert _Memory[[byte_index]] == + Zeros{8} + 0x5a; + let event = _MemoryEvents[[pe_number as MemoryEventIndex]]; + assert event.active && event.kind == MemoryEvent_Store && + event.core_identity == 0 && event.agent == pe && + event.address == address && + event.write_value == Zeros{PTO_XLEN} + 0x5a && + event.committed; + end; + + // A sparse mask assigns the one effect to PE0 even though all four + // independent streams decode and retire the same block. + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + ExecuteFourStreamTSTORE(pe_number as MemoryAgentId, + Zeros{PTO_XLEN} + 0xa00 + pe_number * 8, '001'); + assert _MemoryEventCount == PTO_MODEL_MEMORY_AGENTS; + end; + ExecuteFourStreamTSTORE(0 as MemoryAgentId, + Zeros{PTO_XLEN} + 0xa00, '001'); + assert _MemoryEventCount == PTO_MODEL_MEMORY_AGENTS + 1; + assert _Memory[[0xa00]] == Zeros{8} + 0x5a; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let byte_index = 0xa00 + pe_number * 8; + assert _Memory[[byte_index]] == + Zeros{8}; + end; + let sparse_event = _MemoryEvents[[PTO_MODEL_MEMORY_AGENTS as + MemoryEventIndex]]; + assert sparse_event.agent == 0 && sparse_event.address == + Zeros{PTO_XLEN} + 0xa00; + + // The zero mask completes each stream as an effect-free operation. + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + ExecuteFourStreamTSTORE(pe_number as MemoryAgentId, + Zeros{PTO_XLEN} + 0xb00 + pe_number * 8, Zeros{3}); + end; + assert _MemoryEventCount == PTO_MODEL_MEMORY_AGENTS + 1; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let byte_index = 0xb00 + pe_number * 8; + assert _Memory[[byte_index]] == + Zeros{8}; + end; + assert SharedTilePublished((Zeros{6} + 42) as SharedTileID); + assert ReadSharedTileWord((Zeros{6} + 42) as SharedTileID, 0) == + Zeros{PTO_XLEN} + 0x5a; + StopMemoryEventCapture(); + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-source-mutation-021.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-source-mutation-021.asl new file mode 100644 index 000000000..0f8fa6809 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-source-mutation-021.asl @@ -0,0 +1,139 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-COMPLETION-SOURCE-MUTATION-021","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"an exact published TMOV completion survives legal handler changes to its live source allocation","pass_condition":"three encoded operations publish once; while PE0 is parked, a real handler shrinks, releases, or changes the type/shape of its source tile; each original stop then consumes its completion once without fault, event, ordinal change, or loss of peer releases","related_sources":["asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/gm-obligation-dispatch.asl","asl/tile/model/state/allocation.asl"]} + +pure func CompletionMutationStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func CompletionMutationBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func CompletionMutationAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func CompletionMutationTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareCompletionMutationPE(pe: MemoryAgentId, + shared_id: SharedTileID, + epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x2000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(CompletionMutationStart(), 32); + let shared = ExecuteCommandInstruction( + CompletionMutationBinding(shared_id), 32); + let assemble = ExecuteCommandInstruction( + CompletionMutationAssemble(pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(CompletionMutationTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func RunCompletionMutation(shared_id: SharedTileID, + mutation: integer {0..2}) +begin + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareCompletionMutationPE(agent, shared_id, mutation); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && + _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert BundleSharedGenerationRequestWaiting(0); + end; + end; + + let index = SharedTileArrayIndex(shared_id); + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + let operation_ordinal = _SharedGenerations[[index]].operation_ordinal; + let parent_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let event_count = _MemoryEventCount; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + let parked_pc = ReadTPC(); + let request_token = _BundleExecutionDomainToken; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + if mutation == 0 then + ConfigureTile(0, 256, 4, 8, 1, 8, TileDataType_U64, + TileLayout_RowMajor); + elsif mutation == 1 then + ReleaseTile(0); + assert !_Tiles[[0]].allocated; + else + ConfigureTile(0, 512, 8, 16, 1, 8, TileDataType_U32, + TileLayout_RowMajor); + end; + let recovered = RecoverTrapContext(0); + assert recovered && ReadTPC() == parked_pc && + _BundleExecutionDomainToken == request_token; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive && + ReadTPC() != parked_pc && _MemoryEventCount == event_count; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + operation_ordinal && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + request_token && + _SharedGenerations[[index]].released_participants == '1001' && + SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == parent_word; + + for pe = 1 to PTO_MODEL_MEMORY_AGENTS - 2 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + let peer_release = ExecuteCommandInstruction(Zeros{64}, 16); + assert peer_release == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + end; + assert _SharedGenerations[[index]].released_participants == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + RunCompletionMutation((Zeros{6} + 19) as SharedTileID, 0); + RunCompletionMutation((Zeros{6} + 20) as SharedTileID, 1); + RunCompletionMutation((Zeros{6} + 21) as SharedTileID, 2); + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tload-017.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tload-017.asl new file mode 100644 index 000000000..d85c19069 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tload-017.asl @@ -0,0 +1,231 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-COMPLETION-TLOAD-017","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TLOAD-MEMORY-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"actual-PE Shared TLOADs read only their own range and exact published completion does not re-probe the private source","pass_condition":"four encoded full-mask B.ASSEMBLE TLOAD requests each read and contribute only their executing PE range; after PE0 handler changes its private base to an inaccessible address, its exact stop retires without source revalidation; a sparse nonparticipant with an inaccessible base retires without effects, while an invalid new request preserves the published parent and pending peer releases","related_sources":["asl/tile/memory-and-data-movement/regular/TLOAD.asl","asl/tile/model/memory/shared-movement.asl","asl/block/model/operands/shared-generation-pe-requests.asl"]} + +pure func SharedTLoadStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00000'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedTLoadBinding(shared_id: bits(6), pe_mode: bits(3)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedTLoadAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedTLoadIOR() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func WriteMemoryWordBytes(address: Word, value: Word) +begin + WriteMemoryByte(address + 0, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); + WriteMemoryByte(address + 4, value[39:32]); + WriteMemoryByte(address + 5, value[47:40]); + WriteMemoryByte(address + 6, value[55:48]); + WriteMemoryByte(address + 7, value[63:56]); +end; + +func PrepareSharedTLoadPE(pe: MemoryAgentId, base: Word, + pe_mode: bits(3), writer_offset: integer) +begin + SelectExecutionContext(0, pe); + WriteGPR(2, base); + WriteGPR(3, Zeros{PTO_XLEN}); + let start = ExecuteCommandInstruction(SharedTLoadStart(), 32); + assert _LastFault == Fault_None; + SetBundleDimension(0, Zeros{PTO_XLEN} + 16); + SetBundleDimension(1, Zeros{PTO_XLEN} + 4); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let shared = ExecuteCommandInstruction( + SharedTLoadBinding(Zeros{6} + 19, pe_mode), 32); + assert _LastFault == Fault_None; + let assemble = ExecuteCommandInstruction( + SharedTLoadAssemble(writer_offset), 32); + assert _LastFault == Fault_None; + let ior = ExecuteCommandInstruction(SharedTLoadIOR(), 32); + assert _LastFault == Fault_None; + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + ior == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == + if pe_mode == '111' then '1111' else '1000'; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let base = Zeros{PTO_XLEN} + 0x100 + pe * 0x100; + for column = 0 to 15 do + let value = Zeros{PTO_XLEN} + 0x1000 + pe * 0x100 + column; + WriteMemoryWordBytes(base + column * 8, value); + end; + WritePEGPR(pe as MemoryAgentId, 2, + Zeros{PTO_XLEN} + 0x1000); + end; + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + let index = SharedTileArrayIndex(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + let base = Zeros{PTO_XLEN} + 0x100 + pe * 0x100; + let writer_offset = (pe + 1) MOD 4; + if pe == 1 then + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].actual_pe_owned; + end; + PrepareSharedTLoadPE(agent, base, '111', writer_offset); + if pe == 1 then + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].actual_pe_owned; + end; + assert _CurrentPEContextValid && + _CurrentMemoryAgent == agent && _CurrentModelCore == 0; + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert _CurrentPEContextValid && + _CurrentMemoryAgent == agent && _CurrentModelCore == 0; + assert stopped == CommandExecution_Executed && + _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert BundleSharedGenerationRequestWaiting(0) && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .published; + end; + end; + let generation = _SharedGenerations[[index]]; + let parent = SharedTileRecord(shared_id); + let parent_word_before = TileReadLogicalElement(parent.tile, 0); + assert generation.published && generation.operation_ordinal == 1 && + generation.arrived_participants == '1111' && + generation.released_participants == + SharedGenerationPEBit(3 as MemoryAgentId) && + parent.tile.capacity_bytes == 512 && parent.tile.rows == 4 && + parent.tile.columns == 16; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 15 do + let element = TileLogicalLinearIndex(parent.tile, + pe as integer {0..3}, column as integer {0..15}); + let source_pe = (pe + 3) MOD 4; + assert TileReadLogicalElement(parent.tile, element) == + Zeros{PTO_XLEN} + 0x1000 + source_pe * 0x100 + column; + end; + end; + + SelectExecutionContext(0, 0); + assert BundleSharedGenerationRequestWaiting(0); + let parked_pc = ReadTPC(); + let parked_token = _BundleExecutionDomainToken; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + WriteGPR(2, Zeros{PTO_XLEN} + 0x1000); + let recovered = RecoverTrapContext(0); + assert recovered && _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _BundleExecutionDomainToken == parked_token; + let denied_source = ProbeTileMemoryAccess( + Zeros{PTO_XLEN} + 0x1000, TileDataType_U64, FALSE); + assert denied_source.fault == Fault_DataPage; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive && + ReadTPC() != parked_pc; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == 1 && + _SharedGenerations[[index]].arrived_participants == '1111' && + _SharedGenerations[[index]].released_participants == + (SharedGenerationPEBit(3 as MemoryAgentId) OR + SharedGenerationPEBit(0 as MemoryAgentId)) && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + parked_token && SharedTilePublished(shared_id); + let parent_after_retry = SharedTileRecord(shared_id); + assert parent_after_retry.tile.capacity_bytes == parent.tile.capacity_bytes && + parent_word_before == TileReadLogicalElement(parent.tile, 0); + assert ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == parent_word_before; + + // PE2 consumes its own original completion, then executes a structurally + // valid sparse-mask assembly request as a nonparticipant. Its private + // source address is outside modeled memory and must remain unobserved. + SelectExecutionContext(0, 2); + assert _CurrentPEContextValid && _CurrentMemoryAgent == 2 && + _BundleActive && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_identity_valid; + let peer_release = ExecuteCommandInstruction(Zeros{64}, 16); + assert peer_release == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + let release_before_nonparticipant = + _SharedGenerations[[index]].released_participants; + let arrival_before_nonparticipant = + _SharedGenerations[[index]].arrived_participants; + let ordinal_before_nonparticipant = + _SharedGenerations[[index]].operation_ordinal; + PrepareSharedTLoadPE(2 as MemoryAgentId, + Zeros{PTO_XLEN} + 0x1000, '001', 0); + assert _CurrentPEContextValid && _CurrentMemoryAgent == 2 && + _BundleSharedBindings[[0]].pe_mask == '1000'; + let nonparticipant_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert nonparticipant_stop == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + ordinal_before_nonparticipant && + _SharedGenerations[[index]].arrived_participants == + arrival_before_nonparticipant && + _SharedGenerations[[index]].released_participants == + release_before_nonparticipant && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == parent_word_before; + + // A structurally invalid new nonparticipant request still faults, but + // cannot erase the previous publication's pending peer releases. + SelectExecutionContext(0, 2); + let bad_start = ExecuteCommandInstruction(SharedTLoadStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 17); + SetBundleDimension(1, Zeros{PTO_XLEN} + 4); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let bad_shared = ExecuteCommandInstruction( + SharedTLoadBinding(Zeros{6} + 19, '001'), 32); + let bad_assemble = ExecuteCommandInstruction( + SharedTLoadAssemble(0), 32); + let bad_ior = ExecuteCommandInstruction(SharedTLoadIOR(), 32); + let bad_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert bad_start == CommandExecution_Executed && + bad_shared == CommandExecution_Executed && + bad_assemble == CommandExecution_Executed && + bad_ior == CommandExecution_Executed && + bad_stop == CommandExecution_Rejected && + _LastFault == Fault_TileLegality; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == 1 && + _SharedGenerations[[index]].released_participants == + release_before_nonparticipant && + SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == parent_word_before; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tmov-016.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tmov-016.asl new file mode 100644 index 000000000..969d9c910 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-completion-tmov-016.asl @@ -0,0 +1,140 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-COMPLETION-TMOV-016","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"an exact published TMOV request consumes completion before probing a handler-reconfigured Local source","pass_condition":"four encoded contributions publish once; PE0 is parked through a real interrupt while its Local source is reconfigured undefined; its original stop then retires once without a source fault, contribution replay, event, ordinal change, or loss of peer releases; an invalid next request also preserves those published releases","related_sources":["asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/subview-descriptor.asl","asl/block/model/dispatch/gm-obligation-dispatch.asl"]} + +pure func SharedEndStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedEndBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SharedEndAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedEndTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareSharedEndPE(core: PTOModelCoreIdentity, + pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(core, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x2000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(SharedEndStart(), 32); + let shared = ExecuteCommandInstruction( + SharedEndBinding(Zeros{6} + 19), 32); + let assemble = ExecuteCommandInstruction( + SharedEndAssemble(pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(SharedEndTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + PrepareSharedEndPE(0, pe as MemoryAgentId, 0); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + end; + assert SharedTilePublished(shared_id); + let index = SharedTileArrayIndex(shared_id); + let ordinal = _SharedGenerations[[index]].operation_ordinal; + let arrivals = _SharedGenerations[[index]].arrived_participants; + let release_before = _SharedGenerations[[index]].released_participants; + let parent_before = SharedTileRecord(shared_id); + let parent_word_before = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let event_count_before = _MemoryEventCount; + SelectExecutionContext(0, 0); + assert BundleSharedGenerationRequestWaiting(0); + let parked_pc = ReadTPC(); + let parked_token = _BundleExecutionDomainToken; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + assert !TileSourceContentsDefined(0); + let recovered = RecoverTrapContext(0); + assert recovered && ReadTPC() == parked_pc && + _BundleExecutionDomainToken == parked_token; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && ReadTPC() != parked_pc; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == ordinal && + _SharedGenerations[[index]].arrived_participants == arrivals && + _SharedGenerations[[index]].released_participants == + (release_before OR + SharedGenerationPEBit(0 as MemoryAgentId)) && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + parked_token && SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == parent_word_before && + _MemoryEventCount == event_count_before && + SharedTileRecord(shared_id).tile.capacity_bytes == + parent_before.tile.capacity_bytes; + + // The consumed request is gone. A distinct malformed INIT with an + // out-of-range offset faults, while the older published operation's + // pending peer releases remain irrevocable. + let invalid_start = ExecuteCommandInstruction(SharedEndStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let invalid_shared = ExecuteCommandInstruction( + SharedEndBinding(Zeros{6} + 19), 32); + let invalid_assemble = ExecuteCommandInstruction( + SharedEndAssemble(0), 32); + ConfigureTile(0, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + let invalid_tile = ExecuteCommandInstruction(SharedEndTileBinding(), 32); + let invalid_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert invalid_start == CommandExecution_Executed && + invalid_shared == CommandExecution_Executed && + invalid_assemble == CommandExecution_Executed && + invalid_tile == CommandExecution_Executed && + invalid_stop == CommandExecution_Rejected && + _LastFault == Fault_TileLegality; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == ordinal && + _SharedGenerations[[index]].released_participants == + (release_before OR + SharedGenerationPEBit(0 as MemoryAgentId)) && + SharedTilePublished(shared_id); + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-assemble-tails-021.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-assemble-tails-021.asl new file mode 100644 index 000000000..44d732291 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-assemble-tails-021.asl @@ -0,0 +1,161 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLOAD-ASSEMBLE-TAILS-021","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TLOAD-MEMORY-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-ARCH-PE-EXECUTION-CONTEXT-001"],"kind":"state-transition","summary":"four actual PE TLOAD ranges preserve valid rows across physical column tails","pass_condition":"four encoded PE-owned B.ASSEMBLE TLOAD requests read their actual GM row stripes and atomically publish all 16 valid coordinates of a 4x4 rectangle in a 4x16 physical shape; undefined physical tails remain undefined and each arrival contributes once","related_sources":["asl/tile/model/memory/shared-movement.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/shared-generation.asl"]} + +pure func TailTLoadStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00000'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func TailTLoadBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func TailTLoadAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func TailTLoadIOR() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func WriteTailTLoadWord(address: Word, value: Word) +begin + WriteMemoryByte(address + 0, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); + WriteMemoryByte(address + 4, value[39:32]); + WriteMemoryByte(address + 5, value[47:40]); + WriteMemoryByte(address + 6, value[55:48]); + WriteMemoryByte(address + 7, value[63:56]); +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 23) as SharedTileID; + ConfigureTile(0, 512, 4, 16, 4, 8, TileDataType_U64, + TileLayout_RowMajor); + for row = 0 to 3 do + for column = 0 to 7 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x7700 + row * 0x100 + column); + end; + end; + let installed = AtomicUpdateSharedTileWithPublication( + shared_id, _Tiles[[0]], '1111', TRUE); + assert installed; + let old_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let base = Zeros{PTO_XLEN} + 0x800; + for row = 0 to 3 do + for column = 0 to 7 do + WriteTailTLoadWord(base + row * 128 + column * 8, + Zeros{PTO_XLEN} + 0xa000 + row * 0x100 + column); + end; + end; + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + StartMemoryEventCapture(0 as MemoryAgentId); + let event_start = _MemoryEventCount; + var parked_pc: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + // Each PE owns one physical row-sized 128-byte source stripe. + WriteGPR(2, base + pe * 128); + WriteGPR(3, Zeros{PTO_XLEN}); + let start = ExecuteCommandInstruction(TailTLoadStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 4); + SetBundleDimension(1, Zeros{PTO_XLEN} + 4); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let binding = ExecuteCommandInstruction( + TailTLoadBinding(Zeros{6} + 23), 32); + let assemble = ExecuteCommandInstruction( + TailTLoadAssemble(pe), 32); + let ior = ExecuteCommandInstruction(TailTLoadIOR(), 32); + let expected_agent = pe as MemoryAgentId; + assert start == CommandExecution_Executed && + binding == CommandExecution_Executed && + assemble == CommandExecution_Executed && + ior == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111' && + _CurrentMemoryAgent == expected_agent; + parked_pc[[pe]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && + _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _BundleActive && ReadTPC() == parked_pc[[pe]] && + BundleSharedGenerationRequestWaiting(0) && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .published && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == old_word; + end; + end; + + let index = SharedTileArrayIndex(shared_id); + let generation = _SharedGenerations[[index]]; + assert generation.published && !generation.open; + assert generation.participant_mask == '1111'; + assert generation.arrived_participants == '1111'; + assert generation.released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + assert generation.operation_ordinal == 1; + assert _MemoryEventCount == event_start + 16; + StopMemoryEventCapture(); + for cell = 0 to generation.parent_cell_count - 1 do + assert generation.covered_cells[cell] == '1' && + generation.ready_cells[cell] == '1'; + end; + for row = 0 to 3 do + for column = 0 to 3 do + let element = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, + element) && + TileReadLogicalElement(generation.working_tile, element) == + Zeros{PTO_XLEN} + 0xa000 + row * 0x100 + column; + end; + for column = 4 to 15 do + let element = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + element); + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != old_word; + + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + assert _BundleActive && ReadTPC() == parked_pc[[pe]] && + BundleSharedGenerationRequestWaiting(0); + let release = ExecuteCommandInstruction(Zeros{64}, 16); + assert release == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + end; + assert _SharedGenerations[[index]].released_participants == '1111'; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-partial-valid-row-022.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-partial-valid-row-022.asl new file mode 100644 index 000000000..d8aaf9f91 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-partial-valid-row-022.asl @@ -0,0 +1,152 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLOAD-PARTIAL-VALID-ROW-022","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TLOAD-MEMORY-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"full-mask TLOAD participants without valid source stripes do not expand the parent rectangle","pass_condition":"four encoded full-mask PE arrivals assemble a one-row, four-element valid parent from PE0's actual GM reads; PEs with no valid source elements still arrive without fabricated data, and physical row and column tails remain undefined","related_sources":["asl/tile/model/memory/shared-movement.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/shared-generation.asl"]} + +pure func PartialRowTLoadStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00000'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func PartialRowTLoadBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func PartialRowTLoadAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func PartialRowTLoadIOR() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func WritePartialRowMemoryWord(address: Word, value: Word) +begin + WriteMemoryByte(address + 0, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); + WriteMemoryByte(address + 4, value[39:32]); + WriteMemoryByte(address + 5, value[47:40]); + WriteMemoryByte(address + 6, value[55:48]); + WriteMemoryByte(address + 7, value[63:56]); +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 25) as SharedTileID; + ConfigureTile(0, 512, 4, 16, 4, 16, TileDataType_U64, + TileLayout_RowMajor); + for row = 0 to 3 do + for column = 0 to 15 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x7700 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[0]], '1111'); + let old_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let base = Zeros{PTO_XLEN} + 0xa00; + for column = 0 to 3 do + WritePartialRowMemoryWord(base + column * 8, + Zeros{PTO_XLEN} + 0xb000 + column); + end; + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + StartMemoryEventCapture(0 as MemoryAgentId); + let event_start = _MemoryEventCount; + var parked_pc: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + WriteGPR(2, base); + WriteGPR(3, Zeros{PTO_XLEN}); + let start = ExecuteCommandInstruction(PartialRowTLoadStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 4); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let binding = ExecuteCommandInstruction( + PartialRowTLoadBinding(Zeros{6} + 25), 32); + let assemble = ExecuteCommandInstruction( + PartialRowTLoadAssemble(pe), 32); + let ior = ExecuteCommandInstruction(PartialRowTLoadIOR(), 32); + assert start == CommandExecution_Executed && + binding == CommandExecution_Executed && + assemble == CommandExecution_Executed && + ior == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111' && + _CurrentMemoryAgent == (pe as MemoryAgentId); + parked_pc[[pe]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _BundleActive && ReadTPC() == parked_pc[[pe]] && + BundleSharedGenerationRequestWaiting(0) && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .published && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == old_word; + end; + end; + StopMemoryEventCapture(); + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open; + assert generation.arrived_participants == '1111'; + assert generation.released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + assert generation.working_tile.rows == 4; + assert generation.working_tile.columns == 16; + assert generation.working_tile.valid_rows == 1; + assert generation.working_tile.valid_columns == 4; + assert _MemoryEventCount == event_start + 4; + for column = 0 to 3 do + let index = TileLogicalLinearIndex(generation.working_tile, + 0 as integer {0..65535}, column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0xb000 + column; + end; + for row = 0 to 3 do + for column = 0 to 15 do + if row != 0 || column >= 4 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != old_word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe as MemoryAgentId); + assert _BundleActive && ReadTPC() == parked_pc[[pe]] && + BundleSharedGenerationRequestWaiting(0); + let release = ExecuteCommandInstruction(Zeros{64}, 16); + assert release == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-readiness-020.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-readiness-020.asl new file mode 100644 index 000000000..ec30aacd2 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-readiness-020.asl @@ -0,0 +1,149 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLOAD-READINESS-020","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TLOAD-MEMORY-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"multi-PE TLOAD B.ASSEMBLE keeps LAST parked when actual source fragments do not fill their covered writer ranges","pass_condition":"two encoded PEs each cover a distinct 256B destination range of a 512B parent but read only their real 128B source stripe; full participant arrival and coverage do not publish the incomplete valid payload or replace the prior parent","related_sources":["asl/tile/model/memory/shared-movement.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/shared-generation.asl"]} + +pure func ReadinessTLoadStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00000'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func ReadinessTLoadBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '101'; + return instruction; +end; + +pure func ReadinessTLoadAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0010'; + return instruction; +end; + +pure func ReadinessTLoadIOR() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func WriteReadinessMemoryWord(address: Word, value: Word) +begin + WriteMemoryByte(address + 0, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); + WriteMemoryByte(address + 4, value[39:32]); + WriteMemoryByte(address + 5, value[47:40]); + WriteMemoryByte(address + 6, value[55:48]); + WriteMemoryByte(address + 7, value[63:56]); +end; + +func PrepareReadinessTLoadPE(pe: MemoryAgentId, base: Word, + destination_offset: integer) +begin + SelectExecutionContext(0, pe); + WriteGPR(2, base); + WriteGPR(3, Zeros{PTO_XLEN}); + let start = ExecuteCommandInstruction(ReadinessTLoadStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 16); + SetBundleDimension(1, Zeros{PTO_XLEN} + 4); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let binding = ExecuteCommandInstruction( + ReadinessTLoadBinding(Zeros{6} + 23), 32); + let assemble = ExecuteCommandInstruction( + ReadinessTLoadAssemble(destination_offset), 32); + let ior = ExecuteCommandInstruction(ReadinessTLoadIOR(), 32); + assert start == CommandExecution_Executed && + binding == CommandExecution_Executed && + assemble == CommandExecution_Executed && + ior == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1100'; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 23) as SharedTileID; + ConfigureTile(0, 512, 4, 16, 4, 16, TileDataType_U64, + TileLayout_RowMajor); + for element = 0 to 63 do + WriteTileElement(0, element DIVRM 16, element MOD 16, + Zeros{PTO_XLEN} + 0x7700 + element); + end; + let old_published = AtomicUpdateSharedTileWithPublication( + shared_id, _Tiles[[0]], '1111', TRUE); + assert old_published && SharedTilePublished(shared_id); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let first_base = Zeros{PTO_XLEN} + 0x400; + let second_base = Zeros{PTO_XLEN} + 0x600; + for column = 0 to 15 do + WriteReadinessMemoryWord(first_base + column * 8, + Zeros{PTO_XLEN} + 0xa000 + column); + WriteReadinessMemoryWord(second_base + column * 8, + Zeros{PTO_XLEN} + 0xb000 + column); + end; + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + + PrepareReadinessTLoadPE(0 as MemoryAgentId, first_base, 0); + let first_parked_pc = ReadTPC(); + let first_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert first_stop == CommandExecution_Executed && + _LastFault == Fault_None && _BundleActive && + ReadTPC() == first_parked_pc && + BundleSharedGenerationRequestWaiting(0) && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]].published; + + PrepareReadinessTLoadPE(1 as MemoryAgentId, second_base, 2); + let second_parked_pc = ReadTPC(); + let second_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert second_stop == CommandExecution_Executed && + _LastFault == Fault_None && _BundleActive && + ReadTPC() == second_parked_pc && + BundleSharedGenerationRequestWaiting(0); + + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.open && !generation.published && + generation.last_seen && generation.operation_ordinal == 1 && + generation.participant_mask == '1100' && + generation.arrived_participants == '1100' && + generation.released_participants == Zeros{4}; + for cell = 0 to generation.parent_cell_count - 1 do + assert generation.covered_cells[cell] == '1'; + if cell < 4 || (cell >= 8 && cell < 12) then + assert generation.ready_cells[cell] == '1'; + else + assert generation.ready_cells[cell] == '0'; + end; + end; + for element = 0 to 15 do + assert TileLogicalElementDefined(generation.working_tile, + element as PackedTileElementIndex) && + TileReadLogicalElement(generation.working_tile, + element as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0xa000 + element; + assert !TileLogicalElementDefined(generation.working_tile, + (16 + element) as PackedTileElementIndex); + assert TileLogicalElementDefined(generation.working_tile, + (32 + element) as PackedTileElementIndex) && + TileReadLogicalElement(generation.working_tile, + (32 + element) as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0xb000 + element; + assert !TileLogicalElementDefined(generation.working_tile, + (48 + element) as PackedTileElementIndex); + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == prior_word; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-singleton-018.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-singleton-018.asl new file mode 100644 index 000000000..381e7e4fe --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tload-singleton-018.asl @@ -0,0 +1,142 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLOAD-SINGLETON-018","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TLOAD-MEMORY-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"a singleton Shared TLOAD preserves a one-row valid rectangle in a larger physical parent","pass_condition":"an encoded PE3-only full-parent B.ASSEMBLE TLOAD reads and publishes the 1x8 valid rectangle in a 4x16 physical shape; undefined row and column tails remain undefined and only eight valid elements are read","related_sources":["asl/tile/model/memory/shared-movement.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/shared-generation.asl"]} + +pure func FragmentTLoadStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00000'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func FragmentTLoadBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '100'; + return instruction; +end; + +pure func FragmentTLoadAssembleFullParent() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = '0011'; + return instruction; +end; + +pure func FragmentTLoadIOR() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func WriteFragmentMemoryWord(address: Word, value: Word) +begin + WriteMemoryByte(address + 0, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); + WriteMemoryByte(address + 4, value[39:32]); + WriteMemoryByte(address + 5, value[47:40]); + WriteMemoryByte(address + 6, value[55:48]); + WriteMemoryByte(address + 7, value[63:56]); +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 21) as SharedTileID; + ConfigureTile(0, 512, 4, 16, 4, 16, TileDataType_U64, + TileLayout_RowMajor); + for element = 0 to 63 do + let row = element DIVRM 16; + let column = element MOD 16; + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x7700 + element); + end; + InstallSharedTile(shared_id, _Tiles[[0]], '0001'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let base = Zeros{PTO_XLEN} + 0x400; + for row = 0 to 3 do + for column = 0 to 7 do + WriteFragmentMemoryWord(base + row * 128 + column * 8, + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column); + end; + end; + + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 3); + WriteGPR(2, base); + WriteGPR(3, Zeros{PTO_XLEN} + 128); + let start = ExecuteCommandInstruction(FragmentTLoadStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 8); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let binding = ExecuteCommandInstruction( + FragmentTLoadBinding(Zeros{6} + 21), 32); + let assemble = ExecuteCommandInstruction( + FragmentTLoadAssembleFullParent(), 32); + let ior = ExecuteCommandInstruction(FragmentTLoadIOR(), 32); + assert start == CommandExecution_Executed && + binding == CommandExecution_Executed && + assemble == CommandExecution_Executed && + ior == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let parked_pc = ReadTPC(); + StartMemoryEventCapture(3 as MemoryAgentId); + let event_start = _MemoryEventCount; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && ReadTPC() != parked_pc; + assert _MemoryEventCount == event_start + 8; + StopMemoryEventCapture(); + + let index = SharedTileArrayIndex(shared_id); + let generation = _SharedGenerations[[index]]; + assert !generation.open && generation.published && + generation.operation_ordinal == 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == + SharedGenerationPEBit(3 as MemoryAgentId) && + generation.released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + for cell = 0 to generation.parent_cell_count - 1 do + assert generation.covered_cells[cell] == '1'; + assert generation.ready_cells[cell] == '1'; + end; + assert generation.working_tile.rows == 4 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 8; + for column = 0 to 7 do + let element = TileLogicalLinearIndex(generation.working_tile, + 0 as integer {0..65535}, column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, + element) && + TileReadLogicalElement(generation.working_tile, element) == + Zeros{PTO_XLEN} + 0x9000 + column; + end; + for row = 0 to 3 do + for column = 0 to 15 do + if row != 0 || column >= 8 then + let element = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + element); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x9000; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-col-fullview-031.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-col-fullview-031.asl new file mode 100644 index 000000000..da595d919 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-col-fullview-031.asl @@ -0,0 +1,134 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-COL-FULLVIEW-031","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"A same-capacity complete ColumnMajor TMOV preserves an underfilled physical source geometry.","pass_condition":"An encoded PE3-only 128-byte FP32 ColumnMajor source/parent with physical 8x3 and valid 1x3 preserves all three real values and its physical geometry through one full offset-zero B.ASSEMBLE publication and release.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 128, 8, 3, 1, 3, + TileDataType_FP32, TileLayout_ColumnMajor); + for row = 0 to 0 do + for column = 0 to 2 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 128, 8, 3, 1, 3, + TileDataType_FP32, TileLayout_ColumnMajor); + for row = 0 to 0 do + for column = 0 to 2 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x1000 + row * 0x10 + column); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 1), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 1), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.capacity_bytes == 128 && + generation.working_tile.rows == 8 && + generation.working_tile.columns == 3 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 3 && + generation.working_tile.data_type == TileDataType_FP32 && + generation.working_tile.layout == TileLayout_ColumnMajor; + for row = 0 to 0 do + for column = 0 to 2 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x10 + column; + end; + end; + for row = 0 to 7 do + for column = 0 to 2 do + if row >= 1 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + for row = 0 to 0 do + for column = 0 to 2 do + let source_index = TileLogicalLinearIndex(_Tiles[[0]], + row as integer {0..65535}, + column as integer {0..65535}); + assert TileReadLogicalElement(_Tiles[[0]], source_index) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x10 + column; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-024.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-024.asl new file mode 100644 index 000000000..a9343b2e3 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-024.asl @@ -0,0 +1,123 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-024","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"ColumnMajor singleton Shared TMOV preserves logical validity across its storage permutation.","pass_condition":"An encoded PE3-only full-parent B.ASSEMBLE TMOV preserves physical layout/shape and the exact declared valid rectangle, copies every defined source coordinate once, publishes and releases once without fault, and does not treat physical padding or storage-index maxima as logical rows.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 4, 16, + TileDataType_U64, TileLayout_ColumnMajor); + for row = 0 to 3 do + for column = 0 to 15 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 512, 4, 16, 1, 8, + TileDataType_U64, TileLayout_ColumnMajor); + for row = 0 to 0 do + for column = 0 to 7 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 3), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 3), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 4 && + generation.working_tile.columns == 16 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 8 && + generation.working_tile.layout == TileLayout_ColumnMajor; + for row = 0 to 0 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column; + end; + end; + for row = 0 to 3 do + for column = 0 to 15 do + if row >= 1 || column >= 8 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-readiness-028.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-readiness-028.asl new file mode 100644 index 000000000..33dd7b438 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-column-major-readiness-028.asl @@ -0,0 +1,123 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-COLUMN-MAJOR-READINESS-028","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"ColumnMajor Shared TMOV readiness checks every required logical value without demanding invalid storage rows.","pass_condition":"An encoded PE3-only full-parent B.ASSEMBLE TMOV preserves physical layout/shape and the exact declared valid rectangle, copies every defined source coordinate once, publishes and releases once without fault, and does not treat physical padding or storage-index maxima as logical rows.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 4, 16, + TileDataType_U64, TileLayout_ColumnMajor); + for row = 0 to 3 do + for column = 0 to 15 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 512, 4, 16, 4, 8, + TileDataType_U64, TileLayout_ColumnMajor); + for row = 0 to 3 do + for column = 0 to 7 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 3), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 3), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 4 && + generation.working_tile.columns == 16 && + generation.working_tile.valid_rows == 4 && + generation.working_tile.valid_columns == 8 && + generation.working_tile.layout == TileLayout_ColumnMajor; + for row = 0 to 3 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column; + end; + end; + for row = 0 to 3 do + for column = 0 to 15 do + if row >= 4 || column >= 8 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nonparticipant-019.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nonparticipant-019.asl new file mode 100644 index 000000000..06e8926d1 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nonparticipant-019.asl @@ -0,0 +1,144 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-INACTIVE-019","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001"],"kind":"state-transition","summary":"a legal nonparticipant B.ASSEMBLE TMOV retires without inspecting its private payload or changing the published generation","pass_condition":"each of four encoded sparse singleton INIT_LAST TMOVs publishes immediately from its selected PE; all three nonselected streams have allocated undefined private sources yet retire with no fault, arrival, ordinal, or parent/release change; malformed nonparticipant range structure still faults and preserves the published state","related_sources":["asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/range-modifiers.asl"]} + +pure func InactiveTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func InactiveTMOVMode(pe: MemoryAgentId) => bits(3) +begin + if pe == (0 as MemoryAgentId) then return '001'; end; + if pe == (1 as MemoryAgentId) then return '010'; end; + if pe == (2 as MemoryAgentId) then return '011'; end; + return '100'; +end; + +pure func InactiveTMOVShared(shared_id: bits(6), + participant_pe: MemoryAgentId) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0001'; + instruction[11:9] = InactiveTMOVMode(participant_pe); + return instruction; +end; + +pure func InactiveTMOVAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func InactiveTMOVTile(pe: MemoryAgentId) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = InactiveTMOVMode(pe); + instruction[19] = '1'; + return instruction; +end; + +func PrepareInactiveTMOV(pe: MemoryAgentId, offset: integer, + participant_pe: MemoryAgentId) +begin + SelectExecutionContext(0, pe); + let start = ExecuteCommandInstruction(InactiveTMOVStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 16); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 16); + let shared = ExecuteCommandInstruction( + InactiveTMOVShared(Zeros{6} + 22, participant_pe), 32); + let assemble = ExecuteCommandInstruction( + InactiveTMOVAssemble(offset), 32); + let tile = ExecuteCommandInstruction(InactiveTMOVTile(participant_pe), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == + SharedGenerationPEBit(participant_pe); +end; + +func main() => integer +begin + for selected_pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + ResetProfileState(); + let shared_id = (Zeros{6} + 22) as SharedTileID; + let participant_pe = selected_pe as MemoryAgentId; + let launch = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + + SelectExecutionContext(0, participant_pe); + ConfigureTile(0, 128, 1, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0xa000 + selected_pe * 0x100 + column); + end; + PrepareInactiveTMOV(participant_pe, 0, participant_pe); + let eligible_stop = ExecuteCommandInstruction(Zeros{64}, 16); + let index = SharedTileArrayIndex(shared_id); + let ordinal = _SharedGenerations[[index]].operation_ordinal; + let arrivals = _SharedGenerations[[index]].arrived_participants; + let releases = _SharedGenerations[[index]].released_participants; + let expected_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let participant = SharedGenerationPEBit(participant_pe); + assert eligible_stop == CommandExecution_Executed; + assert _LastFault == Fault_None; + assert !_BundleActive; + assert SharedTilePublished(shared_id) && ordinal == 1 && + arrivals == participant && releases == participant; + assert expected_word == Zeros{PTO_XLEN} + + 0xa000 + selected_pe * 0x100; + + // Every nonselected PE has an allocated private source descriptor, + // but its undefined contents are not part of this singleton request. + for nonparticipant_pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if nonparticipant_pe != selected_pe then + let agent = nonparticipant_pe as MemoryAgentId; + SelectExecutionContext(0, agent); + ConfigureTile(0, 128, 1, 16, 1, 16, + TileDataType_U64, TileLayout_RowMajor); + assert !TileSourceContentsDefined(0); + PrepareInactiveTMOV(agent, 0, participant_pe); + let nonparticipant_stop = + ExecuteCommandInstruction(Zeros{64}, 16); + assert nonparticipant_stop == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + ordinal && + _SharedGenerations[[index]].arrived_participants == + arrivals && + _SharedGenerations[[index]].released_participants == + releases && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == expected_word; + end; + end; + + // Wire/range structure remains enforced for a nonparticipant. + let malformed_pe = ((selected_pe + 1) MOD + PTO_MODEL_MEMORY_AGENTS) as MemoryAgentId; + SelectExecutionContext(0, malformed_pe); + PrepareInactiveTMOV(malformed_pe, 1, participant_pe); + let malformed_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert malformed_stop == CommandExecution_Rejected && + _LastFault == Fault_TileLegality && + _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == ordinal && + _SharedGenerations[[index]].arrived_participants == arrivals && + _SharedGenerations[[index]].released_participants == releases && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == expected_word; + end; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nz-026.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nz-026.asl new file mode 100644 index 000000000..04f71478c --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-nz-026.asl @@ -0,0 +1,123 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-NZ-026","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"NZ singleton Shared TMOV preserves its logical source rectangle.","pass_condition":"An encoded PE3-only full-parent B.ASSEMBLE TMOV preserves physical layout/shape and the exact declared valid rectangle, copies every defined source coordinate once, publishes and releases once without fault, and does not treat physical padding or storage-index maxima as logical rows.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 2048, 16, 16, 16, 16, + TileDataType_U64, TileLayout_NZ); + for row = 0 to 15 do + for column = 0 to 15 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 2048, 16, 16, 1, 8, + TileDataType_U64, TileLayout_NZ); + for row = 0 to 0 do + for column = 0 to 7 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 5), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 5), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 16 && + generation.working_tile.columns == 16 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 8 && + generation.working_tile.layout == TileLayout_NZ; + for row = 0 to 0 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column; + end; + end; + for row = 0 to 15 do + for column = 0 to 15 do + if row >= 1 || column >= 8 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-fullview-032.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-fullview-032.asl new file mode 100644 index 000000000..de3852044 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-fullview-032.asl @@ -0,0 +1,139 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-PACKED-FULLVIEW-032","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"a same-capacity complete packed Shared TMOV preserves its underfilled physical source geometry.","pass_condition":"An encoded PE3-only 512-byte E2M1X2 RowMajor source/parent with physical 8x15 and valid 2x15 preserves all thirty real values and undefined odd-row-pair slack through one full offset-zero B.ASSEMBLE publication and release.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 512, 8, 15, 2, 15, + TileDataType_E2M1X2, TileLayout_RowMajor); + for row = 0 to 1 do + for column = 0 to 14 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 512, 8, 15, 2, 15, + TileDataType_E2M1X2, TileLayout_RowMajor); + for row = 0 to 1 do + for column = 0 to 14 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 1 + ((row * 7 + column) MOD 15)); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 3), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 3), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.capacity_bytes == 512 && + generation.working_tile.rows == 8 && + generation.working_tile.columns == 15 && + generation.working_tile.valid_rows == 2 && + generation.working_tile.valid_columns == 15 && + generation.working_tile.data_type == TileDataType_E2M1X2 && + generation.working_tile.layout == TileLayout_RowMajor; + for row = 0 to 1 do + for column = 0 to 14 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 1 + ((row * 7 + column) MOD 15); + end; + end; + for row = 0 to 7 do + for column = 0 to 14 do + if row >= 2 || column >= 15 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + for row = 0 to 7 do + assert !TileLogicalElementDefined(generation.working_tile, + TilePackedRowSlackIndex(generation.working_tile, + row as integer {0..65535})); + end; + for row = 0 to 1 do + for column = 0 to 14 do + let source_index = TileLogicalLinearIndex(_Tiles[[0]], + row as integer {0..65535}, + column as integer {0..65535}); + assert TileReadLogicalElement(_Tiles[[0]], source_index) == + Zeros{PTO_XLEN} + 1 + ((row * 7 + column) MOD 15); + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-odd-027.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-odd-027.asl new file mode 100644 index 000000000..8fecab450 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-packed-odd-027.asl @@ -0,0 +1,128 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-PACKED-ODD-027","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"packed odd-width Shared TMOV preserves logical rows without requiring row-pair slack.","pass_condition":"An encoded PE3-only full-parent B.ASSEMBLE TMOV preserves physical layout/shape and the exact declared valid rectangle, copies every defined source coordinate once, publishes and releases once without fault, and does not treat physical padding or storage-index maxima as logical rows.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 512, 64, 15, 64, 15, + TileDataType_E2M1X2, TileLayout_RowMajor); + for row = 0 to 63 do + for column = 0 to 14 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 512, 64, 15, 2, 15, + TileDataType_E2M1X2, TileLayout_RowMajor); + for row = 0 to 1 do + for column = 0 to 14 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 1 + ((row * 7 + column) MOD 15)); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 3), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 3), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 64 && + generation.working_tile.columns == 15 && + generation.working_tile.valid_rows == 2 && + generation.working_tile.valid_columns == 15 && + generation.working_tile.layout == TileLayout_RowMajor; + for row = 0 to 1 do + for column = 0 to 14 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 1 + ((row * 7 + column) MOD 15); + end; + end; + for row = 0 to 63 do + for column = 0 to 14 do + if row >= 2 || column >= 15 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + for row = 0 to 63 do + assert !TileLogicalElementDefined(generation.working_tile, + TilePackedRowSlackIndex(generation.working_tile, + row as integer {0..65535})); + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-singleton-row-tail-022.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-singleton-row-tail-022.asl new file mode 100644 index 000000000..c540c8e36 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-singleton-row-tail-022.asl @@ -0,0 +1,112 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-SINGLETON-ROW-TAIL-022","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"a singleton Shared TMOV keeps physical row tails outside the valid parent","pass_condition":"an encoded PE3-only full-parent B.ASSEMBLE TMOV places its 1x8 valid source rectangle in a 4x16 physical parent without expanding valid rows from the 512-byte writer extent","related_sources":["asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/operands/shared-generation.asl"]} + +pure func SingletonTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SingletonTMOVShared(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '100'; + return instruction; +end; + +pure func SingletonTMOVAssemble() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = '0011'; + return instruction; +end; + +pure func SingletonTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 4, 16, TileDataType_U64, + TileLayout_RowMajor); + for row = 0 to 3 do + for column = 0 to 15 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 512, 4, 16, 1, 8, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 7 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x9000 + column); + end; + let start = ExecuteCommandInstruction(SingletonTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + SingletonTMOVShared(Zeros{6} + 24), 32); + let assemble = ExecuteCommandInstruction(SingletonTMOVAssemble(), 32); + let tile = ExecuteCommandInstruction(SingletonTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 4 && + generation.working_tile.columns == 16 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 8; + for column = 0 to 7 do + let index = TileLogicalLinearIndex(generation.working_tile, + 0 as integer {0..65535}, column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x9000 + column; + end; + for row = 0 to 3 do + for column = 0 to 15 do + if row != 0 || column >= 8 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-zn-025.asl b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-zn-025.asl new file mode 100644 index 000000000..31bdf2de1 --- /dev/null +++ b/tests/asl/block/model/dispatch/shared-tlsu/block-state-shared-tmov-zn-025.asl @@ -0,0 +1,123 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-ZN-025","source":"asl/block/model/dispatch/shared-tlsu.asl","requirements":["PTO-TMOV-CONTRACT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"ZN singleton Shared TMOV preserves its logical source rectangle.","pass_condition":"An encoded PE3-only full-parent B.ASSEMBLE TMOV preserves physical layout/shape and the exact declared valid rectangle, copies every defined source coordinate once, publishes and releases once without fault, and does not treat physical padding or storage-index maxima as logical rows.","related_sources":["asl/block/model/state/shared-generation-state.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/tile/model/definedness/elements.asl","asl/tile/model/definedness/packed-boundary.asl"]} +pure func LayoutTMOVStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func LayoutTMOVShared(shared_id: bits(6), size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '100'; + return instruction; +end; + +pure func LayoutTMOVAssemble(size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +pure func LayoutTMOVTile() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '100'; + instruction[19] = '1'; + return instruction; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 24) as SharedTileID; + ConfigureTile(1, 2048, 16, 16, 16, 16, + TileDataType_U64, TileLayout_ZN); + for row = 0 to 15 do + for column = 0 to 15 do + WriteTileElement(1, row, column, + Zeros{PTO_XLEN} + 0x7000 + row * 0x100 + column); + end; + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior_word = ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex); + let launch = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0 as PTOModelCoreIdentity, + 3 as MemoryAgentId); + ConfigureTile(0, 2048, 16, 16, 1, 8, + TileDataType_U64, TileLayout_ZN); + for row = 0 to 0 do + for column = 0 to 7 do + WriteTileElement(0, row, column, + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column); + end; + end; + let start = ExecuteCommandInstruction(LayoutTMOVStart(), 32); + let shared = ExecuteCommandInstruction( + LayoutTMOVShared(Zeros{6} + 24, Zeros{4} + 5), 32); + let assemble = ExecuteCommandInstruction(LayoutTMOVAssemble(Zeros{4} + 5), 32); + let tile = ExecuteCommandInstruction(LayoutTMOVTile(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '0001' && + _CurrentMemoryAgent == 3; + let event_count = _MemoryEventCount; + let old_ordinal = _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive && _MemoryEventCount == event_count; + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.published && !generation.open && + generation.operation_ordinal == old_ordinal + 1 && + generation.participant_mask == '0001' && + generation.arrived_participants == '0001' && + generation.released_participants == '0001' && + generation.working_tile.rows == 16 && + generation.working_tile.columns == 16 && + generation.working_tile.valid_rows == 1 && + generation.working_tile.valid_columns == 8 && + generation.working_tile.layout == TileLayout_ZN; + for row = 0 to 0 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert TileLogicalElementDefined(generation.working_tile, index) && + TileReadLogicalElement(generation.working_tile, index) == + Zeros{PTO_XLEN} + 0x9000 + row * 0x100 + column; + end; + end; + for row = 0 to 15 do + for column = 0 to 15 do + if row >= 1 || column >= 8 then + let index = TileLogicalLinearIndex(generation.working_tile, + row as integer {0..65535}, + column as integer {0..65535}); + assert !TileLogicalElementDefined(generation.working_tile, + index); + end; + end; + end; + assert SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) != prior_word; + let released_ordinal = generation.operation_ordinal; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001' && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == released_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/dispatch/tlsu-gmov/block-exec-gmov-private-fourstream-010.asl b/tests/asl/block/model/dispatch/tlsu-gmov/block-exec-gmov-private-fourstream-010.asl new file mode 100644 index 000000000..70274ee0b --- /dev/null +++ b/tests/asl/block/model/dispatch/tlsu-gmov/block-exec-gmov-private-fourstream-010.asl @@ -0,0 +1,81 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-GMOV-PRIVATE-FOURSTREAM-010","source":"asl/block/model/dispatch/tlsu-gmov.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-BSTART-GMOV-COLLECTIVE-001","PTO-GMOV-CORE4-PEER-001"],"kind":"execution","summary":"encoded four-stream GMOV reads each peer_tid-selected private source fragment","pass_condition":"all four real PE source banks are preflighted, then each selected PE copies the fragment from its private peer_tid into its own destination; source banks and GM history remain unchanged","related_sources":["asl/block/model/dispatch/tlsu-gmov.asl","asl/tile/model/memory/shared-movement.asl","asl/arch/state/pe-execution-context.asl"]} +pure func GMOVPrivateFourStreamStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00d11181; + instruction[31:27] = Zeros{5} + 27; + return instruction; +end; + +pure func GMOVPrivateFourStreamBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[18:15] = '0001'; + instruction[11:9] = '111'; + instruction[8:7] = '00'; + instruction[19] = '1'; + instruction[25:20] = Zeros{6}; + return instruction; +end; + +pure func GMOVPrivateFourStreamPeer() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + return instruction; +end; + +func ExecuteGMOVPrivateFourStreamPE(pe: MemoryAgentId, + peer: integer {0..3}) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + WriteGPR(2, Zeros{PTO_XLEN} + peer); + let start = ExecuteCommandInstruction(GMOVPrivateFourStreamStart(), 32); + let binding = ExecuteCommandInstruction( + GMOVPrivateFourStreamBinding(), 32); + let peers = ExecuteCommandInstruction(GMOVPrivateFourStreamPeer(), 32); + assert start == CommandExecution_Executed; + assert binding == CommandExecution_Executed; + assert peers == CommandExecution_Executed; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed; + assert _LastFault == Fault_None; + assert !_BundleActive; + assert _Tiles[[0]].contents_defined; + assert ReadTileElement(0 as TileIndex, 0, 0) == + Zeros{PTO_XLEN} + (0x40 + + (pe as integer {0..3})); + assert _Tiles[[1]].allocated && _Tiles[[1]].contents_defined; + assert ReadTileElement(1 as TileIndex, 0, 0) == + Zeros{PTO_XLEN} + (0x40 + peer); +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launched == KernelLifecycle_Started; + var peers: array [[PTO_MODEL_MEMORY_AGENTS]] of integer {0..3}; + peers[[0]] = 2; + peers[[1]] = 0; + peers[[2]] = 3; + peers[[3]] = 1; + StartMemoryEventCapture(0); + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + ConfigureTile(0, 128, 1, 1, 1, 1, TileDataType_U8, + TileLayout_RowMajor); + let source_value = Zeros{PTO_XLEN} + (0x40 + pe_number); + WriteTileElement(0, 0, 0, source_value); + WriteGPR(2, Zeros{PTO_XLEN} + peers[[pe_number]]); + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + let peer = peers[[pe_number]]; + ExecuteGMOVPrivateFourStreamPE(pe, peer); + end; + assert _MemoryEventCount == 0; + StopMemoryEventCapture(); + return 0; +end; diff --git a/tests/asl/block/model/operands/local-generation-squash/block-state-local-generation-squash-recovery-isolation-001.asl b/tests/asl/block/model/operands/local-generation-squash/block-state-local-generation-squash-recovery-isolation-001.asl new file mode 100644 index 000000000..e1feb0729 --- /dev/null +++ b/tests/asl/block/model/operands/local-generation-squash/block-state-local-generation-squash-recovery-isolation-001.asl @@ -0,0 +1,177 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-LOCAL-GENERATION-RECOVERY-ISOLATION-001","source":"asl/block/model/operands/local-generation-squash.asl","requirements":["PTO-B-ASSEMBLE-SPECULATION-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"interrupt return preserves peer readiness and a scoped squash retains the later Core writer","pass_condition":"a parked PE returns at the same barrier PC without rewinding peer Local generation publication, the global writer-domain allocator assigns distinct PE domains, and squash of the interrupted PE removes only its writer while retaining the peer writer and readiness","related_sources":["asl/block/model/operands/portable-carriers.asl","asl/arch/state/trap-context.asl","asl/arch/state/core-synchronization.asl","asl/block/model/operands/local-generation.asl"]} +func TestInterruptedPERecoveryPreservesPeerWriter() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x700; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + _PC = entry + 4; + _BPC = entry; + _CurrentProgramOrder = 4; + _PEProgramOrder[[0]][[0]] = 4; + _ReservationValid = TRUE; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert _ReservationValid; + let parked_pc = ReadTPC(); + + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _ACRTrapAsynchronous[[0]]; + assert _TrapContexts[[0]].valid; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + WriteGPR(2, Zeros{PTO_XLEN} + 0xa00); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa00, Zeros{8} + 0x34); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa01, Zeros{8} + 0x12); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa02, Zeros{8} + 0x78); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa03, Zeros{8} + 0x56); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa04, Zeros{8} + 0xbc); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa05, Zeros{8} + 0x9a); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa06, Zeros{8} + 0xf0); + WriteMemoryByte(Zeros{PTO_XLEN} + 0xa07, Zeros{8} + 0xde); + var handler_lr: bits(48) = ZeroExtend{48}(Zeros{32} + 0x3000000b); + handler_lr[11:7] = Zeros{5} + 5; + handler_lr[19:15] = Zeros{5} + 2; + handler_lr[24:20] = Ones{5}; + let handler_lr_status = ExecuteScalarInstruction(handler_lr, 32); + assert handler_lr_status == ScalarExecution_Executed; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert _ReservationValid; + assert _ReservationAddress == Zeros{PTO_XLEN} + 0xa00; + let handler_event = AddStoreEvent(0, Zeros{PTO_XLEN} + 0xa00, 8, + Zeros{PTO_XLEN} + 3, MemoryOrder_Relaxed, 1); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert _ReservationValid; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + + SelectExecutionContext(0, 1); + _LocalGenerations[[0]].open = TRUE; + _LocalGenerations[[0]].generation_identity_valid = TRUE; + _LocalGenerations[[0]].generation_instance = + Zeros{PTO_XLEN} + 0x77; + _LocalGenerations[[0]].per_pe_ready_cells[[1]][7] = '1'; + _LocalGenerations[[0]].per_pe_published[[1]] = TRUE; + assert _CoreSyncRecords[[0]][[0]].arrived == '1000'; + assert _LocalGenerations[[0]].generation_identity_valid; + assert _LocalGenerations[[0]].generation_instance == + Zeros{PTO_XLEN} + 0x77; + assert _LocalGenerations[[0]].per_pe_ready_cells[[1]][7] == '1'; + assert _LocalGenerations[[0]].per_pe_published[[1]]; + + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + _PC = parked_pc; + _CurrentProgramOrder = 4; + _ReservationValid = TRUE; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + if pe_number < PTO_MODEL_MEMORY_AGENTS - 1 then + assert !_CoreSyncRecords[[0]][[0]].released; + assert _ReservationValid; + end; + end; + assert _CoreSyncRecords[[0]][[0]].released; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + assert !_ReservationValid; + end; + SelectExecutionContext(0, 0); + assert !_ReservationValid; + + let recovered = RecoverTrapContext(0); + assert recovered; + assert ReadTPC() == parked_pc; + assert !_ReservationValid; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + assert _CoreSyncRecords[[0]][[0]].arrived == '1111'; + assert _CoreSyncRecords[[0]][[0]].released; + assert _MemoryEvents[[handler_event]].active; + assert _MemoryEvents[[handler_event]].origin == MemoryEventOrigin_Handler; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _PEBarrierNextGeneration[[0]][[0]] == 1; + assert _PEReleaseValid[[0]][3] == '0'; + assert _CoreSyncRecords[[0]][[0]].consumed[3] == '1'; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + assert !_ReservationValid; + end; + + SelectExecutionContext(0, 2); + _CurrentMemoryOrigin = MemoryEventOrigin_Kernel; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + _CurrentProgramOrder = 5; + let later_kernel_event = AddStoreEvent(2, + Zeros{PTO_XLEN} + 0xa08, 8, Zeros{PTO_XLEN} + 4, + MemoryOrder_Relaxed, 1); + assert _MemoryEvents[[handler_event]].origin == + MemoryEventOrigin_Handler; + assert !MemoryCollectiveSyncBefore(handler_event, later_kernel_event); + SelectExecutionContext(0, 1); + _ScalarExecutionBlocked = FALSE; + SyncCore(); + + SelectExecutionContext(0, 0); + BeginBundleAt(entry, BundleKind_TileElement, + BundleTransfer_Fallthrough, entry + 8, entry + 4, + Zeros{PTO_XLEN}, FALSE); + let interrupted_domain = _BundleExecutionDomainToken; + SelectExecutionContext(0, 1); + BeginBundleAt(entry, BundleKind_TileElement, + BundleTransfer_Fallthrough, entry + 8, entry + 4, + Zeros{PTO_XLEN}, FALSE); + let peer_domain = _BundleExecutionDomainToken; + assert interrupted_domain != peer_domain; + assert _NextBundleExecutionDomainToken > peer_domain; + + _LocalGenerations[[0]].writer_count = 2; + _LocalGenerations[[0]].writers[[0]].valid = TRUE; + _LocalGenerations[[0]].writers[[0]].offset_cells = 0; + _LocalGenerations[[0]].writers[[0]].cell_count = 1; + _LocalGenerations[[0]].writers[[0]].ready = TRUE; + _LocalGenerations[[0]].writers[[0]].pe_mask = Zeros{4}; + _LocalGenerations[[0]].writers[[0]].pe_mask[ + PTOPEMaskBitOfPEIdentity(0)] = '1'; + _LocalGenerations[[0]].writers[[0]].identity.instruction_instance = + Zeros{PTO_XLEN} + 0x101; + _LocalGenerations[[0]].writers[[0]].identity.execution_domain_token = + interrupted_domain; + _LocalGenerations[[0]].writers[[1]].valid = TRUE; + _LocalGenerations[[0]].writers[[1]].offset_cells = 1; + _LocalGenerations[[0]].writers[[1]].cell_count = 1; + _LocalGenerations[[0]].writers[[1]].ready = TRUE; + _LocalGenerations[[0]].writers[[1]].pe_mask = Zeros{4}; + _LocalGenerations[[0]].writers[[1]].pe_mask[ + PTOPEMaskBitOfPEIdentity(1)] = '1'; + _LocalGenerations[[0]].writers[[1]].identity.instruction_instance = + Zeros{PTO_XLEN} + 0x202; + _LocalGenerations[[0]].writers[[1]].identity.execution_domain_token = + peer_domain; + SelectExecutionContext(0, 0); + EnterBundleExecutionDomainSquashEvent(interrupted_domain); + assert _LocalGenerations[[0]].writer_count == 1; + assert _LocalGenerations[[0]].writers[[0]].valid; + assert _LocalGenerations[[0]].writers[[0]].identity.instruction_instance == + Zeros{PTO_XLEN} + 0x202; + assert _LocalGenerations[[0]].writers[[0]].identity.execution_domain_token == + peer_domain; + assert _LocalGenerations[[0]].ready_cells[1] == '1'; + assert _LocalGenerations[[0]].per_pe_ready_cells[[1]][1] == '1'; + assert _LocalGenerations[[0]].per_pe_published[[1]]; + assert _LocalGenerations[[0]].generation_instance == + Zeros{PTO_XLEN} + 0x77; +end; + +func main() => integer +begin + TestInterruptedPERecoveryPreservesPeerWriter(); + return 0; +end; diff --git a/tests/asl/block/model/operands/local-generation-squash/block-static-local-generation-squash-contract-001.asl b/tests/asl/block/model/operands/local-generation-squash/block-static-local-generation-squash-contract-001.asl new file mode 100644 index 000000000..2a319936a --- /dev/null +++ b/tests/asl/block/model/operands/local-generation-squash/block-static-local-generation-squash-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH-STATIC-001","source":"asl/block/model/operands/local-generation-squash.asl","requirements":[],"kind":"static-invariant","summary":"PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION-SQUASH compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-abort-011.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-abort-011.asl new file mode 100644 index 000000000..b1fd0a93d --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-abort-011.asl @@ -0,0 +1,119 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-ABORT-011","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"execution","summary":"Kernel abort discards an incomplete encoded Shared candidate without erasing the published parent and permits a fresh invocation ordinal.","pass_condition":"A real PE0 B.ASSEMBLE LAST submission opens an incomplete Core candidate; abort closes only that invocation-owned candidate while preserving the prior published Shared value and ordinal allocator; a new invocation can begin a fresh candidate at the next ordinal.","related_sources":["asl/arch/state/kernel-lifecycle.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/state/shared-generation-state.asl"]} +pure func AbortSharedAssembleStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func AbortSharedAssembleBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = Zeros{6} + 19; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func AbortSharedAssembleModifier(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func AbortSharedTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareAbortSharedPE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(AbortSharedAssembleStart(), 32); + let shared = ExecuteCommandInstruction(AbortSharedAssembleBinding(), 32); + let assemble = ExecuteCommandInstruction(AbortSharedAssembleModifier( + pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(AbortSharedTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, + Zeros{PTO_XLEN} + 0x5555 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + PrepareAbortSharedPE(0 as MemoryAgentId, 0); + assert _CurrentModelCore == 0 && _CurrentMemoryAgent == 0 && + _CurrentKernelInvocation != 0 && _CurrentMemoryOrigin == + MemoryEventOrigin_Kernel; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + let index = SharedTileArrayIndex(shared_id); + let first_ordinal = _SharedGenerations[[index]].operation_ordinal; + assert first_ordinal == 1 && + _SharedGenerations[[index]].core_identity == 0 && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].arrived_participants == + SharedGenerationPEBit(0 as MemoryAgentId) && + BundleSharedGenerationOpen(shared_id) && + BundleSharedGenerationRequestWaiting(0); + assert ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + + let aborted = AbortKernelInvocation(0 as PTOModelCoreIdentity); + assert aborted == KernelLifecycle_Started; + assert !BundleSharedGenerationOpen(shared_id); + assert ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + + let relaunched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert relaunched == KernelLifecycle_Started; + PrepareAbortSharedPE(0 as MemoryAgentId, 1); + assert _CurrentKernelInvocation != + _SharedGenerations[[index]].invocation_identity; + let retry_tpc = ReadTPC(); + let retry = ExecuteCommandInstruction(Zeros{64}, 16); + assert retry == CommandExecution_Executed && _LastFault == Fault_None && + ReadTPC() == retry_tpc && BundleSharedGenerationRequestWaiting(0); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].operation_ordinal == + first_ordinal + 1 && + _SharedGenerations[[index]].arrived_participants == + SharedGenerationPEBit(0 as MemoryAgentId) && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation; + assert ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-end-012.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-end-012.asl new file mode 100644 index 000000000..957f57962 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-end-012.asl @@ -0,0 +1,165 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-END-012","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"execution","summary":"Successful kernel end retires published Shared release metadata without erasing the parent or another Core's candidate.","pass_condition":"A real four-PE encoded B.ASSEMBLE publishes once with three unconsumed releases; successful End clears only its invocation-owned generation metadata while preserving the committed Shared payload and ordinal. A following invocation uses the next ordinal, and ending another Core leaves a live candidate intact until its owner ends.","related_sources":["asl/arch/state/kernel-lifecycle.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/state/shared-generation-state.asl"]} +pure func SharedEndStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedEndBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SharedEndAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedEndTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareSharedEndPE(core: PTOModelCoreIdentity, + pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(core, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x2000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(SharedEndStart(), 32); + let shared = ExecuteCommandInstruction( + SharedEndBinding(Zeros{6} + 19), 32); + let assemble = ExecuteCommandInstruction( + SharedEndAssemble(pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(SharedEndTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, Zeros{PTO_XLEN} + 0x7777 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + + let launch0 = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launch0 == KernelLifecycle_Started; + var old_tokens: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareSharedEndPE(0 as PTOModelCoreIdentity, agent, 0); + old_tokens[[pe]] = _BundleExecutionDomainToken; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _BundleActive && BundleSharedGenerationRequestWaiting(0); + end; + end; + let index = SharedTileArrayIndex(shared_id); + let ordinal = _SharedGenerations[[index]].operation_ordinal; + assert ordinal == 1 && SharedTilePublished(shared_id) && + _SharedGenerations[[index]].released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + assert _SharedGenerations[[index]].arrival_request_tokens[[pe]] == + old_tokens[[pe]]; + end; + let committed_parent = SharedTileRecord(shared_id); + let ended = EndKernelInvocation(0 as PTOModelCoreIdentity); + assert ended == KernelLifecycle_Started; + let retired = _SharedGenerations[[index]]; + assert !retired.open && !retired.published && + retired.arrived_participants == Zeros{4} && + retired.released_participants == Zeros{4} && + retired.operation_ordinal == 0 && + retired.next_operation_ordinal == ordinal && + retired.arrival_request_tokens[[0]] == 0 && + retired.arrival_request_tokens[[1]] == 0 && + retired.arrival_request_tokens[[2]] == 0 && + retired.arrival_request_tokens[[3]] == 0; + assert SharedTilePublished(shared_id) && + SharedTileRecord(shared_id).tile.capacity_bytes == + committed_parent.tile.capacity_bytes && + SharedTileRecord(shared_id).tile.rows == + committed_parent.tile.rows && + SharedTileRecord(shared_id).tile.columns == + committed_parent.tile.columns && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x2000; + + let launch0_next = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch0_next == KernelLifecycle_Started; + PrepareSharedEndPE(0 as PTOModelCoreIdentity, 0 as MemoryAgentId, 1); + let next_token = _BundleExecutionDomainToken; + assert next_token != old_tokens[[0]]; + let next_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert next_stop == CommandExecution_Executed && _LastFault == Fault_None && + BundleSharedGenerationRequestWaiting(0); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].operation_ordinal == ordinal + 1 && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + next_token; + let abort0 = AbortKernelInvocation(0 as PTOModelCoreIdentity); + assert abort0 == KernelLifecycle_Started; + + let launch1 = LaunchKernelInvocation(1 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launch1 == KernelLifecycle_Started; + PrepareSharedEndPE(1 as PTOModelCoreIdentity, 2 as MemoryAgentId, 2); + let core1_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert core1_stop == + CommandExecution_Executed && _LastFault == Fault_None; + let core1_invocation = _CurrentKernelInvocation; + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].invocation_identity == + core1_invocation; + let core1_ordinal = _SharedGenerations[[index]].operation_ordinal; + let launch0_other = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x300); + assert launch0_other == KernelLifecycle_Started; + let end0_other = EndKernelInvocation(0 as PTOModelCoreIdentity); + assert end0_other == KernelLifecycle_Started; + SelectExecutionContext(1 as PTOModelCoreIdentity, 2 as MemoryAgentId); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].invocation_identity == + core1_invocation; + let end1 = EndKernelInvocation(1 as PTOModelCoreIdentity); + assert end1 == KernelLifecycle_Started; + assert !BundleSharedGenerationOpen(shared_id) && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].next_operation_ordinal == + core1_ordinal; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-fast-slow-pe-010.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-fast-slow-pe-010.asl new file mode 100644 index 000000000..7d6c2e2c8 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-fast-slow-pe-010.asl @@ -0,0 +1,196 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FAST-SLOW-PE-010","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"execution","summary":"a fast PE retains its next B.ASSEMBLE request while slow peers consume the prior publication","pass_condition":"PE0 reaches the next encoded INIT before PE1/PE2 consume old release tokens, remains parked with its request identity and the prior Shared parent intact, then contributes once after the slow peers consume their original tokens and the next ordinal publishes the new complete parent","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/shared-tlsu.asl"]} +pure func FastSlowSharedStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func FastSlowSharedBinding(shared_id: bits(6), size_code: bits(4)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = size_code; + instruction[11:9] = '111'; + return instruction; +end; + +pure func FastSlowTileBinding(source: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = source; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +pure func FastSlowAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = Zeros{4} + 1; + return instruction; +end; + +func PrepareFastSlowPE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(FastSlowSharedStart(), 32); + let shared = ExecuteCommandInstruction(FastSlowSharedBinding( + Zeros{6} + 19, '0011'), 32); + let assemble = ExecuteCommandInstruction( + FastSlowAssemble(pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(FastSlowTileBinding(Zeros{6}), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + var old_tokens : array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + var next_tokens : array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareFastSlowPE(agent, 0); + old_tokens[[pe]] = _BundleExecutionDomainToken; + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert stopped == CommandExecution_Executed && + _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _BundleActive && BundleSharedGenerationRequestWaiting(0); + end; + end; + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + let old_ordinal = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]].operation_ordinal; + assert old_ordinal == 1; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .arrival_request_tokens[[pe]] == old_tokens[[pe]]; + end; + let old_parent = SharedTileRecord(shared_id); + + // PE3 closed and consumed its request; PE0 consumes its prior completion + // and immediately reaches the next dynamic INIT while PE1 and PE2 still + // hold the first operation's published STOP/release. + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _BundleExecutionDomainToken == old_tokens[[0]] && + BundleSharedGenerationRequestWaiting(0); + let old_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert old_stop == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleActive; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1001'; + + PrepareFastSlowPE(0 as MemoryAgentId, 1); + next_tokens[[0]] = _BundleExecutionDomainToken; + assert next_tokens[[0]] != old_tokens[[0]]; + let fast_tpc = ReadTPC(); + let fast_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert fast_stop == CommandExecution_Executed && + _LastFault == Fault_None && ReadTPC() == fast_tpc; + assert _BundleActive && BundleSharedGenerationRequestWaiting(0) && + _BundleExecutionDomainToken == next_tokens[[0]]; + let still_old = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert still_old.published && !still_old.open && + still_old.operation_ordinal == old_ordinal && + still_old.released_participants == '1001'; + assert still_old.arrival_request_tokens[[1]] == old_tokens[[1]] && + still_old.arrival_request_tokens[[2]] == old_tokens[[2]]; + for cell = 0 to 63 do + let row = cell DIVRM 16; + let column = cell MOD 16; + assert ReadSharedTileWord(shared_id, + cell as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x100 + column; + end; + + for pe = 1 to 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert _BundleExecutionDomainToken == old_tokens[[pe]] && + BundleSharedGenerationRequestWaiting(0); + let slow_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert slow_stop == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .arrival_request_tokens[[pe]] == old_tokens[[pe]]; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + + // Retry the exact retained PE0 request after both slow peers consume their + // old release. It opens ordinal two and contributes its saved epoch-one + // snapshot once; PE1..3 contribute their actual private snapshots next. + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _BundleExecutionDomainToken == next_tokens[[0]] && + BundleSharedGenerationRequestWaiting(0); + let resumed = ExecuteCommandInstruction(Zeros{64}, 16); + assert resumed == CommandExecution_Executed && _LastFault == Fault_None; + let next_ordinal = old_ordinal + 1; + assert _BundleActive && BundleSharedGenerationRequestWaiting(0) && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == next_ordinal && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .arrived_participants == SharedGenerationPEBit(0) && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .arrival_request_tokens[[0]] == next_tokens[[0]]; + for pe = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareFastSlowPE(agent, 1); + next_tokens[[pe]] = _BundleExecutionDomainToken; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert stopped == CommandExecution_Executed && + _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _BundleActive && BundleSharedGenerationRequestWaiting(0); + end; + end; + assert SharedTilePublished(shared_id) && + _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == next_ordinal; + let replacement = SharedTileRecord(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 15 do + let index = TileLogicalLinearIndex(replacement.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileReadLogicalElement(replacement.tile, index) == + Zeros{PTO_XLEN} + 0x11000 + pe * 0x100 + column; + end; + end; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert _BundleActive && BundleSharedGenerationRequestWaiting(0) && + _BundleExecutionDomainToken == next_tokens[[pe]]; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed && + _LastFault == Fault_None && !_BundleActive; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + assert old_parent.tile.capacity_bytes == 512; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-pe-009.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-pe-009.asl new file mode 100644 index 000000000..0c1693af1 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-pe-009.asl @@ -0,0 +1,243 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-PE-009","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001"],"kind":"execution","summary":"Four encoded PE-owned B.ASSEMBLE requests preserve valid rows across physical column tails.","pass_condition":"Each real PE dispatch contributes its defined 8-of-16 elements to one distinct 128-byte range in the matching full-mask Shared candidate; undefined physical tails do not truncate later rows, the fourth contribution publishes all 32 valid elements, and retries release each request once without replaying its fragment.","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/shared-tlsu.asl"]} +pure func SharedTLSUAssemblePEStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedTLSUAssemblePESharedBinding( + shared_tile_id: bits(6), size_code: bits(4), pe_mode: bits(3)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[18:15] = size_code; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedTLSUAssemblePETileBinding( + source: bits(6), pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = pe_mode; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func SharedTLSUAssemblePEBAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = Zeros{4} + 1; + return instruction; +end; + +func PrepareSharedTLSUAssemblePE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if ReadTPC() == Zeros{PTO_XLEN} then + WriteTPC(Zeros{PTO_XLEN} + 0x100); + end; + ConfigureTile(0, 512, 4, 16, 1, 8, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 7 do + WriteTileElement(0, 0, column as integer {0..65535}, + Zeros{PTO_XLEN} + + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let started = ExecuteCommandInstruction( + SharedTLSUAssemblePEStart(), 32); + let shared_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePESharedBinding(Zeros{6} + 19, '0011', '111'), + 32); + let assemble = ExecuteCommandInstruction( + SharedTLSUAssemblePEBAssemble(pe as integer {0..3}), 32); + let tile_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePETileBinding(Zeros{6}, '111'), 32); + assert started == CommandExecution_Executed; + assert shared_binding == CommandExecution_Executed; + assert tile_binding == CommandExecution_Executed; + assert assemble == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + + var parked_tpcs: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 0); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + parked_tpcs[[agent]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert !SharedTilePublished(shared_id); + assert BundleSharedGenerationOpen(shared_id); + assert ReadTPC() == parked_tpcs[[agent]]; + assert _BundleActive && + BundleSharedGenerationRequestWaiting(0); + end; + end; + + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + let published = SharedTileRecord(shared_id); + assert published.tile.capacity_bytes == 512 && + published.tile.rows == 4 && published.tile.columns == 16 && + published.tile.valid_rows == 4 && + published.tile.valid_columns == 8 && + published.initialized_mask == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + for column = 0 to 7 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(published.tile, index) && + TileReadLogicalElement(published.tile, index) == + Zeros{PTO_XLEN} + + 0x1000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(published.tile, index); + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001'; + + // The first three encoded request instances were retained at their real + // STOP boundary. Re-entry consumes each matching completion once without + // replaying the already-captured Local fragment. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert ReadTPC() == parked_tpcs[[agent]] && + _BundleActive && + BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + let generation = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]]; + assert _BundleOperation.valid; + assert generation.actual_pe_owned && generation.published && + !generation.open; + assert generation.arrival_request_tokens[[0]] == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_execution_domain == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_operation_ordinal == + generation.operation_ordinal; + end; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + assert released == CommandExecution_Executed; + assert !BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1001'; + assert ReadTPC() != parked_tpcs[[agent]]; + assert !_BundleActive; + end; + if pe == 1 then assert !_BundleActive; end; + if pe == 2 then assert !_BundleActive; end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert !_BundleActive; + end; + + // Reuse the same static operation after every old request consumed its + // completion. The next ordinal gets four fresh private source snapshots; + // the previously published parent remains readable until the new LAST + // participant closes the replacement candidate. + let first_ordinal = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]].operation_ordinal; + var order: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + order[[0]] = 3; + order[[1]] = 1; + order[[2]] = 0; + order[[3]] = 2; + for arrival = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe_number = order[[arrival]]; + let agent = pe_number as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 1); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let request_tpc = ReadTPC(); + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + if arrival < PTO_MODEL_MEMORY_AGENTS - 1 then + assert stopped == CommandExecution_Executed; + assert BundleSharedGenerationRequestWaiting(0); + assert ReadTPC() == request_tpc; + assert SharedTilePublished(shared_id); + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == first_ordinal + 1; + for cell = 0 to 63 do + let row = cell DIVRM 16; + let column = cell MOD 16; + if column < 8 then + assert ReadSharedTileWord(shared_id, + cell as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x100 + column; + else + assert !TileLogicalElementDefined( + SharedTileRecord(shared_id).tile, + cell as PackedTileElementIndex); + end; + end; + else + assert stopped == CommandExecution_Executed; + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == first_ordinal + 1; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0010'; + let replacement = SharedTileRecord(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(replacement.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(replacement.tile, index) && + TileReadLogicalElement(replacement.tile, index) == + Zeros{PTO_XLEN} + 0x11000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(replacement.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(replacement.tile, index); + end; + end; + for arrival = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = order[[arrival]] as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert BundleSharedGenerationRequestWaiting(0); + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed; + assert !_BundleActive; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-squash-014.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-squash-014.asl new file mode 100644 index 000000000..1571e068e --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tlsu-assemble-squash-014.asl @@ -0,0 +1,286 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-SQUASH-014","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SPECULATION-001"],"kind":"execution","summary":"A real Shared PE contribution is discarded by its execution-domain squash without false publication, trap restoration cannot revive its request, and fresh requests remain isolated from unrelated Core candidates.","pass_condition":"An encoded PE0 contribution opens an actual-PE Core candidate; squash by matching Core/invocation/token discards only that incomplete candidate and marks saved trap and live request identities. The old stop remains parked and creates no event/publication. Trap control-register recovery redirects to an inactive restart; a real encoded BSTART allocates a new token, and four encoded contributions publish only their own payload at the next ordinal. A concurrent Core1 candidate survives and completes independently. A squash after full publication preserves the result and every outstanding release token.","related_sources":["asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/state/shared-generation-state.asl","asl/arch/state/pe-execution-context.asl","asl/block/model/operands/local-generation-squash.asl"]} +pure func SquashAssembleStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SquashAssembleBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = Zeros{6} + 19; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SquashAssembleModifier(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SquashAssembleTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareSquashAssemblePE(core: PTOModelCoreIdentity, + pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(core, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(SquashAssembleStart(), 32); + let shared = ExecuteCommandInstruction(SquashAssembleBinding(), 32); + let assemble = ExecuteCommandInstruction(SquashAssembleModifier( + pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(SquashAssembleTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func SubmitSquashAssemblePE(core: PTOModelCoreIdentity, + pe: MemoryAgentId, epoch: integer) => integer +begin + PrepareSquashAssemblePE(core, pe, epoch); + let domain = _BundleExecutionDomainToken; + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert stopped == CommandExecution_Executed && _LastFault == Fault_None; + return domain; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, Zeros{PTO_XLEN} + 0x5555 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + + let launch0 = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x100); + assert launch0 == KernelLifecycle_Started; + PrepareSquashAssemblePE(0 as PTOModelCoreIdentity, + 0 as MemoryAgentId, 0); + let old_domain = _BundleExecutionDomainToken; + let old_tpc = ReadTPC(); + let old_stop = ExecuteCommandInstruction(Zeros{64}, 16); + let index = SharedTileArrayIndex(shared_id); + let old_ordinal = _SharedGenerations[[index]].operation_ordinal; + assert old_stop == CommandExecution_Executed && _LastFault == Fault_None && + old_ordinal == 1 && _SharedGenerations[[index]].open && + _SharedGenerations[[index]].actual_pe_owned && + _SharedGenerations[[index]].core_identity == 0 && + _SharedGenerations[[index]].invocation_identity == + _CurrentKernelInvocation && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + old_domain && BundleSharedGenerationRequestWaiting(0); + assert ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + + // A genuine trap saves the old Block request before the squash. The + // cancellation must be copied into both that saved image and live PE state. + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler && + _TrapContexts[[CurrentACR()]].valid && + _TrapContexts[[CurrentACR()]].bundle_execution_domain_token == + old_domain && + !_TrapContexts[[CurrentACR()]].bundle_shared_bindings[[0]] + .destination_assemble.shared_request_squashed; + + // Keep another Core's real candidate live across the matching squash. + let launch1 = LaunchKernelInvocation(1 as PTOModelCoreIdentity, + Zeros{PTO_XLEN} + 0x200); + assert launch1 == KernelLifecycle_Started; + SelectExecutionContext(1 as PTOModelCoreIdentity, 0 as MemoryAgentId); + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, Zeros{PTO_XLEN} + 0x7777 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + var core1_domains: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + core1_domains[[2]] = SubmitSquashAssemblePE(1 as PTOModelCoreIdentity, + 2 as MemoryAgentId, 9); + let core1_ordinal = _SharedGenerations[[index]].operation_ordinal; + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].arrival_request_tokens[[2]] == + core1_domains[[2]]; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _CurrentModelCore == 0 && _CurrentKernelInvocation != 0 && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + + EnterBundleExecutionDomainSquashEvent(old_domain); + assert !_SharedGenerations[[index]].open && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].next_operation_ordinal == old_ordinal && + _SharedGenerations[[index]].operation_ordinal == 0 && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555 && + _PEExecutionContexts[[0]][[0]].bundle_shared_bindings[[0]] + .destination_assemble.shared_request_squashed && + _TrapContexts[[CurrentACR()]].bundle_shared_bindings[[0]] + .destination_assemble.shared_request_squashed; + SelectExecutionContext(1 as PTOModelCoreIdentity, 2 as MemoryAgentId); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].invocation_identity == + _KernelInvocationByCore[[1]] && + _SharedGenerations[[index]].arrival_request_tokens[[2]] == + core1_domains[[2]]; + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + let recovered = RecoverTrapContext(CurrentACR()); + assert recovered && _CurrentMemoryOrigin == MemoryEventOrigin_Kernel && + _BundleExecutionDomainToken == old_domain && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed; + let stale_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stale_stop == CommandExecution_Executed && + _LastFault == Fault_None && ReadTPC() == old_tpc && + BundleSharedGenerationRequestWaiting(0) && + !_SharedGenerations[[index]].open && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + + // A real trap handler redirects the saved architectural Block control to + // an inactive restart PC. Recovery restores the squashed frame's canceled + // marker; only the actual encoded BSTART below allocates the new token. + RaiseInterrupt(0 as InterruptID, Zeros{24} + 10); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler && + _TrapContexts[[CurrentACR()]].bundle_shared_bindings[[0]] + .destination_assemble.shared_request_squashed; + let replay_ring = CurrentACR(); + var saved_control = ReadContextRegister(replay_ring, 0x0f40); + saved_control[5] = '0'; + saved_control[6] = '0'; + WriteContextRegister(replay_ring, 0x0f40, saved_control); + WriteContextRegister(replay_ring, 0x0f41, Zeros{PTO_XLEN} + 0x100); + WriteContextRegister(replay_ring, 0x0f43, Zeros{PTO_XLEN} + 0x100); + let replayed = RecoverTrapContext(replay_ring); + assert replayed && !_BundleActive && _CurrentMemoryOrigin == + MemoryEventOrigin_Kernel && + _BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed; + + var core0_domains: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + PrepareSquashAssemblePE(0 as PTOModelCoreIdentity, + 0 as MemoryAgentId, 1); + core0_domains[[0]] = _BundleExecutionDomainToken; + assert core0_domains[[0]] != old_domain && + !_BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed; + let replay_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert replay_stop == CommandExecution_Executed && + _LastFault == Fault_None && _SharedGenerations[[index]].open && + _SharedGenerations[[index]].operation_ordinal == old_ordinal + 1 && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + core0_domains[[0]] && + SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 1 do + core0_domains[[pe_number]] = SubmitSquashAssemblePE( + 0 as PTOModelCoreIdentity, pe_number as MemoryAgentId, 1); + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe_number as MemoryAgentId); + assert _BundleExecutionDomainToken != old_domain && + !_BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed; + if pe_number < PTO_MODEL_MEMORY_AGENTS - 1 then + assert _SharedGenerations[[index]].open && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == + old_ordinal + 1 && + _SharedGenerations[[index]].arrival_request_tokens[[pe_number]] == + core0_domains[[pe_number]] && + SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x5555; + end; + end; + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == old_ordinal + 1; + let core0_parent = SharedTileRecord(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 15 do + let element = TileLogicalLinearIndex(core0_parent.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileReadLogicalElement(core0_parent.tile, element) == + Zeros{PTO_XLEN} + 0x11000 + pe * 0x100 + column; + end; + end; + + // The old PE2 request on Core1 remains independent and contributes its + // captured payload when the other three real participants arrive. + assert _SharedGenerations[[index]].core_identity == 0; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + if pe_number != 2 then + core1_domains[[pe_number]] = SubmitSquashAssemblePE( + 1 as PTOModelCoreIdentity, pe_number as MemoryAgentId, 9); + end; + end; + SelectExecutionContext(1 as PTOModelCoreIdentity, 3 as MemoryAgentId); + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].operation_ordinal == core1_ordinal; + let core1_parent = SharedTileRecord(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 15 do + let element = TileLogicalLinearIndex(core1_parent.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileReadLogicalElement(core1_parent.tile, element) == + Zeros{PTO_XLEN} + 0x91000 + pe * 0x100 + column; + end; + end; + + // A squash after irrevocable publication cannot discard any retained + // completion token: the exact original stop still consumes its release. + SelectExecutionContext(0 as PTOModelCoreIdentity, 0 as MemoryAgentId); + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_execution_domain == core0_domains[[0]] && + _BundleSharedBindings[[0]].destination_assemble.shared_request_waiting; + let released_before = _SharedGenerations[[index]].released_participants; + EnterBundleExecutionDomainSquashEvent(core0_domains[[0]]); + assert _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants == released_before && + !_BundleSharedBindings[[0]].destination_assemble + .shared_request_squashed; + let first_release = ExecuteCommandInstruction(Zeros{64}, 16); + assert first_release == CommandExecution_Executed && _LastFault == Fault_None && + !_BundleSharedBindings[[0]].destination_assemble.shared_request_waiting; + for pe_number = 1 to PTO_MODEL_MEMORY_AGENTS - 2 do + SelectExecutionContext(0 as PTOModelCoreIdentity, + pe_number as MemoryAgentId); + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed && _LastFault == Fault_None; + end; + assert _SharedGenerations[[index]].released_participants == '1111'; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-copied-view-021.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-copied-view-021.asl new file mode 100644 index 000000000..52eb66b5d --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-copied-view-021.asl @@ -0,0 +1,244 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-COPIED-VIEW-021","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001","PTO-TMOV-CONTRACT-001"],"kind":"execution","summary":"Encoded Shared TMOV derives fragment validity from the copied source view.","pass_condition":"Four actual PE stops copy a bounded 128-byte view from legal 4x16 physical, 4x8 valid Local sources into distinct destination rows; publication has exactly four physical and valid rows, preserving the copied row payload without using uncopied source rows to enlarge the descriptor.","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/shared-tlsu.asl"]} +pure func SharedTLSUAssemblePEStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedTLSUAssemblePESharedBinding( + shared_tile_id: bits(6), size_code: bits(4), pe_mode: bits(3)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[18:15] = size_code; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedTLSUAssemblePETileBinding( + source: bits(6), pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = pe_mode; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func SharedTLSUAssemblePEBAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = Zeros{4} + 1; + return instruction; +end; + +func PrepareSharedTLSUAssemblePE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if ReadTPC() == Zeros{PTO_XLEN} then + WriteTPC(Zeros{PTO_XLEN} + 0x100); + end; + ConfigureTile(0, 512, 4, 16, 4, 8, TileDataType_U64, + TileLayout_RowMajor); + for row = 0 to 3 do + for column = 0 to 7 do + WriteTileElement(0, row, column as integer {0..65535}, + Zeros{PTO_XLEN} + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + row * 16 + column); + end; + end; + let started = ExecuteCommandInstruction( + SharedTLSUAssemblePEStart(), 32); + let shared_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePESharedBinding(Zeros{6} + 19, '0011', '111'), + 32); + let assemble = ExecuteCommandInstruction( + SharedTLSUAssemblePEBAssemble(pe as integer {0..3}), 32); + let tile_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePETileBinding(Zeros{6}, '111'), 32); + assert started == CommandExecution_Executed; + assert shared_binding == CommandExecution_Executed; + assert tile_binding == CommandExecution_Executed; + assert assemble == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + + var parked_tpcs: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 0); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + parked_tpcs[[agent]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert !SharedTilePublished(shared_id); + assert BundleSharedGenerationOpen(shared_id); + assert ReadTPC() == parked_tpcs[[agent]]; + assert _BundleActive && + BundleSharedGenerationRequestWaiting(0); + end; + end; + + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + let published = SharedTileRecord(shared_id); + assert published.tile.capacity_bytes == 512 && + published.tile.rows == 4 && published.tile.columns == 16; + assert published.tile.valid_rows == 4; + assert published.tile.valid_columns == 8 && + published.initialized_mask == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + for column = 0 to 7 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(published.tile, index) && + TileReadLogicalElement(published.tile, index) == + Zeros{PTO_XLEN} + + 0x1000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(published.tile, index); + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001'; + + // The first three encoded request instances were retained at their real + // STOP boundary. Re-entry consumes each matching completion once without + // replaying the already-captured Local fragment. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert ReadTPC() == parked_tpcs[[agent]] && + _BundleActive && + BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + let generation = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]]; + assert _BundleOperation.valid; + assert generation.actual_pe_owned && generation.published && + !generation.open; + assert generation.arrival_request_tokens[[0]] == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_execution_domain == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_operation_ordinal == + generation.operation_ordinal; + end; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + assert released == CommandExecution_Executed; + assert !BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1001'; + assert ReadTPC() != parked_tpcs[[agent]]; + assert !_BundleActive; + end; + if pe == 1 then assert !_BundleActive; end; + if pe == 2 then assert !_BundleActive; end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert !_BundleActive; + end; + + // Reuse the same static operation after every old request consumed its + // completion. The next ordinal gets four fresh private source snapshots; + // the previously published parent remains readable until the new LAST + // participant closes the replacement candidate. + let first_ordinal = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]].operation_ordinal; + var order: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + order[[0]] = 3; + order[[1]] = 1; + order[[2]] = 0; + order[[3]] = 2; + for arrival = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe_number = order[[arrival]]; + let agent = pe_number as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 1); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let request_tpc = ReadTPC(); + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + if arrival < PTO_MODEL_MEMORY_AGENTS - 1 then + assert stopped == CommandExecution_Executed; + assert BundleSharedGenerationRequestWaiting(0); + assert ReadTPC() == request_tpc; + assert SharedTilePublished(shared_id); + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == first_ordinal + 1; + for cell = 0 to 63 do + let row = cell DIVRM 16; + let column = cell MOD 16; + if column < 8 then + assert ReadSharedTileWord(shared_id, + cell as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x100 + column; + else + assert !TileLogicalElementDefined( + SharedTileRecord(shared_id).tile, + cell as PackedTileElementIndex); + end; + end; + else + assert stopped == CommandExecution_Executed; + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .operation_ordinal == first_ordinal + 1; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0010'; + let replacement = SharedTileRecord(shared_id); + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(replacement.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(replacement.tile, index) && + TileReadLogicalElement(replacement.tile, index) == + Zeros{PTO_XLEN} + 0x11000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(replacement.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(replacement.tile, index); + end; + end; + for arrival = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = order[[arrival]] as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert BundleSharedGenerationRequestWaiting(0); + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert released == CommandExecution_Executed; + assert !_BundleActive; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-column-022.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-column-022.asl new file mode 100644 index 000000000..d0ac7efce --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-column-022.asl @@ -0,0 +1,207 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-READY-COLUMN-022","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001","PTO-TMOV-CONTRACT-001"],"kind":"execution","summary":"Encoded descriptor width growth rechecks older valid-data readiness.","pass_condition":"After a real prior generation publishes, a second full-mask TMOV whose first source contributes 8 valid columns and later sources contribute 16 remains parked: the widened row0 tail is undefined, so the prior parent and ordinal remain intact and no incomplete candidate is published.","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/shared-tlsu.asl"]} +pure func SharedTLSUAssemblePEStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedTLSUAssemblePESharedBinding( + shared_tile_id: bits(6), size_code: bits(4), pe_mode: bits(3)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[18:15] = size_code; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedTLSUAssemblePETileBinding( + source: bits(6), pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = pe_mode; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func SharedTLSUAssemblePEBAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = Zeros{4} + 1; + return instruction; +end; + +func PrepareSharedTLSUAssemblePE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if ReadTPC() == Zeros{PTO_XLEN} then + WriteTPC(Zeros{PTO_XLEN} + 0x100); + end; + let valid_columns = if epoch == 0 || pe == (0 as MemoryAgentId) then 8 else 16; + ConfigureTile(0, 512, 4, 16, 1, valid_columns, + TileDataType_U64, TileLayout_RowMajor); + for column = 0 to valid_columns - 1 do + WriteTileElement(0, 0, column as integer {0..65535}, + Zeros{PTO_XLEN} + + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let started = ExecuteCommandInstruction( + SharedTLSUAssemblePEStart(), 32); + let shared_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePESharedBinding(Zeros{6} + 19, '0011', '111'), + 32); + let assemble = ExecuteCommandInstruction( + SharedTLSUAssemblePEBAssemble(pe as integer {0..3}), 32); + let tile_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePETileBinding(Zeros{6}, '111'), 32); + assert started == CommandExecution_Executed; + assert shared_binding == CommandExecution_Executed; + assert tile_binding == CommandExecution_Executed; + assert assemble == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + + var parked_tpcs: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 0); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + parked_tpcs[[agent]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert !SharedTilePublished(shared_id); + assert BundleSharedGenerationOpen(shared_id); + assert ReadTPC() == parked_tpcs[[agent]]; + assert _BundleActive && + BundleSharedGenerationRequestWaiting(0); + end; + end; + + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + let published = SharedTileRecord(shared_id); + assert published.tile.capacity_bytes == 512 && + published.tile.rows == 4 && published.tile.columns == 16 && + published.tile.valid_rows == 4 && + published.tile.valid_columns == 8 && + published.initialized_mask == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + for column = 0 to 7 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(published.tile, index) && + TileReadLogicalElement(published.tile, index) == + Zeros{PTO_XLEN} + + 0x1000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(published.tile, index); + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001'; + + // The first three encoded request instances were retained at their real + // STOP boundary. Re-entry consumes each matching completion once without + // replaying the already-captured Local fragment. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert ReadTPC() == parked_tpcs[[agent]] && + _BundleActive && + BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + let generation = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]]; + assert _BundleOperation.valid; + assert generation.actual_pe_owned && generation.published && + !generation.open; + assert generation.arrival_request_tokens[[0]] == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_execution_domain == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_operation_ordinal == + generation.operation_ordinal; + end; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + assert released == CommandExecution_Executed; + assert !BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1001'; + assert ReadTPC() != parked_tpcs[[agent]]; + assert !_BundleActive; + end; + if pe == 1 then assert !_BundleActive; end; + if pe == 2 then assert !_BundleActive; end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert !_BundleActive; + end; + + // The next ordinal grows the required width only after PE0 has already + // contributed and parked with its valid 8-column source. + let first_ordinal = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]].operation_ordinal; + var order: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + order[[0]] = 0; + order[[1]] = 1; + order[[2]] = 2; + order[[3]] = 3; + for arrival = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe_number = order[[arrival]]; + let agent = pe_number as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 1); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let request_tpc = ReadTPC(); + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None && stopped == CommandExecution_Executed; + assert ReadTPC() == request_tpc && BundleSharedGenerationRequestWaiting(0); + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.open && !generation.published && + generation.operation_ordinal == first_ordinal + 1; + assert SharedTilePublished(shared_id); + let retained = SharedTileRecord(shared_id); + assert retained.tile.valid_rows == 4 && retained.tile.valid_columns == 8; + for row = 0 to 3 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(retained.tile, row, column); + assert TileLogicalElementDefined(retained.tile, index) && + TileReadLogicalElement(retained.tile, index) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x100 + column; + end; + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]].open && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]].published; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-rows-023.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-rows-023.asl new file mode 100644 index 000000000..c182f8ee6 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-exec-shared-tmov-ready-rows-023.asl @@ -0,0 +1,207 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TMOV-READY-ROWS-023","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001","PTO-B-ASSEMBLE-SHARED-STANDALONE-001","PTO-TMOV-CONTRACT-001"],"kind":"execution","summary":"Encoded descriptor row growth invalidates earlier non-valid padding readiness.","pass_condition":"After a real prior parent is published, two legal mask-1100 256-byte TMOV writers at offsets 0 and 2 expand validity from one row to three; undefined row1 data keeps the request parked, preserves the prior parent and ordinal identity, and publishes no incomplete candidate.","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/operands/shared-generation-pe-requests.asl","asl/block/model/dispatch/shared-tlsu.asl"]} +pure func SharedTLSUAssemblePEStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedTLSUAssemblePESharedBinding( + shared_tile_id: bits(6), size_code: bits(4), pe_mode: bits(3)) + => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_tile_id; + instruction[18:15] = size_code; + instruction[11:9] = pe_mode; + return instruction; +end; + +pure func SharedTLSUAssemblePETileBinding( + source: bits(6), pe_mode: bits(3)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = pe_mode; + instruction[25:20] = source; + instruction[19] = '1'; + return instruction; +end; + +pure func SharedTLSUAssemblePEBAssemble( + offset: integer, size_code: bits(4)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = size_code; + return instruction; +end; + +func PrepareSharedTLSUAssemblePE(pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + if ReadTPC() == Zeros{PTO_XLEN} then + WriteTPC(Zeros{PTO_XLEN} + 0x100); + end; + ConfigureTile(0, 512, 4, 16, 1, 8, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 7 do + WriteTileElement(0, 0, column as integer {0..65535}, + Zeros{PTO_XLEN} + + 0x1000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let started = ExecuteCommandInstruction( + SharedTLSUAssemblePEStart(), 32); + let shared_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePESharedBinding(Zeros{6} + 19, + '0011', + if epoch == 0 then '111' else '101'), 32); + let assemble = ExecuteCommandInstruction( + SharedTLSUAssemblePEBAssemble( + if epoch == 0 then pe as integer {0..3} + else (pe as integer {0..3}) * 2, + if epoch == 0 then '0001' else '0010'), 32); + let tile_binding = ExecuteCommandInstruction( + SharedTLSUAssemblePETileBinding(Zeros{6}, + if epoch == 0 then '111' else '101'), 32); + assert started == CommandExecution_Executed; + assert shared_binding == CommandExecution_Executed; + assert tile_binding == CommandExecution_Executed; + assert assemble == CommandExecution_Executed; + assert _BundleActive && _BundleSharedBindings[[0]].valid && + _BundleSharedBindings[[0]].destination_assemble.valid && + _BundleSharedBindings[[0]].pe_mask == + (if epoch == 0 then '1111' else '1100'); +end; + +func main() => integer +begin + ResetProfileState(); + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + + var parked_tpcs: array [[PTO_MODEL_MEMORY_AGENTS]] of Word; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 0); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + parked_tpcs[[agent]] = ReadTPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + if pe < PTO_MODEL_MEMORY_AGENTS - 1 then + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert !SharedTilePublished(shared_id); + assert BundleSharedGenerationOpen(shared_id); + assert ReadTPC() == parked_tpcs[[agent]]; + assert _BundleActive && + BundleSharedGenerationRequestWaiting(0); + end; + end; + + let shared_id = (Zeros{6} + 19) as SharedTileID; + assert SharedTilePublished(shared_id); + let published = SharedTileRecord(shared_id); + assert published.tile.capacity_bytes == 512 && + published.tile.rows == 4 && published.tile.columns == 16 && + published.tile.valid_rows == 4 && + published.tile.valid_columns == 8 && + published.initialized_mask == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + for column = 0 to 7 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert TileLogicalElementDefined(published.tile, index) && + TileReadLogicalElement(published.tile, index) == + Zeros{PTO_XLEN} + + 0x1000 + pe * 0x100 + column; + end; + for column = 8 to 15 do + let index = TileLogicalLinearIndex(published.tile, + pe as integer {0..3}, column as integer {0..15}); + assert !TileLogicalElementDefined(published.tile, index); + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '0001'; + + // The first three encoded request instances were retained at their real + // STOP boundary. Re-entry consumes each matching completion once without + // replaying the already-captured Local fragment. + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert ReadTPC() == parked_tpcs[[agent]] && + _BundleActive && + BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + let generation = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]]; + assert _BundleOperation.valid; + assert generation.actual_pe_owned && generation.published && + !generation.open; + assert generation.arrival_request_tokens[[0]] == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_execution_domain == + _BundleExecutionDomainToken; + assert _BundleSharedBindings[[0]].destination_assemble + .shared_request_operation_ordinal == + generation.operation_ordinal; + end; + let released = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None; + assert released == CommandExecution_Executed; + assert !BundleSharedGenerationRequestWaiting(0); + if pe == 0 then + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1001'; + assert ReadTPC() != parked_tpcs[[agent]]; + assert !_BundleActive; + end; + if pe == 1 then assert !_BundleActive; end; + if pe == 2 then assert !_BundleActive; end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]] + .released_participants == '1111'; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let agent = pe as MemoryAgentId; + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + assert !_BundleActive; + end; + + // A second real operation uses a legal 1100 mask, two 256-byte writers, + // and distinct target ranges that cover the complete 512-byte parent. + let first_ordinal = _SharedGenerations[[ + SharedTileArrayIndex(shared_id)]].operation_ordinal; + for pe = 0 to 1 do + let agent = pe as MemoryAgentId; + PrepareSharedTLSUAssemblePE(agent, 1); + SelectExecutionContext(0 as PTOModelCoreIdentity, agent); + let request_tpc = ReadTPC(); + let stopped = ExecuteCommandInstruction(Zeros{64}, 16); + assert _LastFault == Fault_None && stopped == CommandExecution_Executed; + assert ReadTPC() == request_tpc && BundleSharedGenerationRequestWaiting(0); + let generation = _SharedGenerations[[SharedTileArrayIndex(shared_id)]]; + assert generation.open && !generation.published && + generation.operation_ordinal == first_ordinal + 1; + assert SharedTilePublished(shared_id); + let retained = SharedTileRecord(shared_id); + assert retained.tile.valid_rows == 4 && retained.tile.valid_columns == 8; + for row = 0 to 3 do + for column = 0 to 7 do + let index = TileLogicalLinearIndex(retained.tile, row, column); + assert TileLogicalElementDefined(retained.tile, index) && + TileReadLogicalElement(retained.tile, index) == + Zeros{PTO_XLEN} + 0x1000 + row * 0x100 + column; + end; + end; + end; + assert _SharedGenerations[[SharedTileArrayIndex(shared_id)]].open && + !_SharedGenerations[[SharedTileArrayIndex(shared_id)]].published; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-fault-shared-tlsu-assemble-overlap-013.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-fault-shared-tlsu-assemble-overlap-013.asl new file mode 100644 index 000000000..9307357e2 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-fault-shared-tlsu-assemble-overlap-013.asl @@ -0,0 +1,99 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-OVERLAP-013","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":["PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"fault","summary":"An encoded overlapping PE contribution faults through the Shared B.ASSEMBLE owner and preserves the published parent.","pass_condition":"PE0 opens a real full-mask B.ASSEMBLE candidate; PE1's encoded request contributes the same CELL range and faults with TileLegality. The candidate is discarded by the existing fault owner, while the previously published Shared descriptor and payload remain unchanged.","related_sources":["asl/block/model/operands/shared-generation.asl","asl/block/model/dispatch/shared-tlsu.asl","asl/block/model/dispatch/gm-obligation-dispatch.asl"]} +pure func SharedOverlapStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedOverlapBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = Zeros{6} + 19; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SharedOverlapAssemble() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedOverlapTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareSharedOverlapPE(pe: MemoryAgentId) +begin + SelectExecutionContext(0 as PTOModelCoreIdentity, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x4000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(SharedOverlapStart(), 32); + let shared = ExecuteCommandInstruction(SharedOverlapBinding(), 32); + let assemble = ExecuteCommandInstruction(SharedOverlapAssemble(), 32); + let tile = ExecuteCommandInstruction(SharedOverlapTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func main() => integer +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, + Zeros{PTO_XLEN} + 0x7777 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let prior = SharedTileRecord(shared_id); + assert SharedTilePublished(shared_id); + + let launched = LaunchKernelInvocation(0 as PTOModelCoreIdentity, + Zeros{PTO_XLEN}); + assert launched == KernelLifecycle_Started; + PrepareSharedOverlapPE(0 as MemoryAgentId); + let first_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert first_stop == CommandExecution_Executed && _LastFault == Fault_None; + let index = SharedTileArrayIndex(shared_id); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].arrived_participants == + SharedGenerationPEBit(0 as MemoryAgentId) && + BundleSharedGenerationRequestWaiting(0) && + SharedTilePublished(shared_id) && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x7777; + + PrepareSharedOverlapPE(1 as MemoryAgentId); + assert _CurrentModelCore == 0 && _CurrentMemoryAgent == 1; + let overlapping_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert overlapping_stop != CommandExecution_Executed && + _LastFault == Fault_TileLegality; + assert !BundleSharedGenerationOpen(shared_id) && + SharedTilePublished(shared_id) && + SharedTileRecord(shared_id).tile.capacity_bytes == + prior.tile.capacity_bytes && + ReadSharedTileWord(shared_id, 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x7777; + return 0; +end; diff --git a/tests/asl/block/model/operands/shared-generation-pe-requests/block-static-shared-generation-pe-requests-contract-001.asl b/tests/asl/block/model/operands/shared-generation-pe-requests/block-static-shared-generation-pe-requests-contract-001.asl new file mode 100644 index 000000000..889fc3926 --- /dev/null +++ b/tests/asl/block/model/operands/shared-generation-pe-requests/block-static-shared-generation-pe-requests-contract-001.asl @@ -0,0 +1,7 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001","source":"asl/block/model/operands/shared-generation-pe-requests.asl","requirements":[],"kind":"static-invariant","summary":"PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION-PE-REQUESTS compiles as an independent normative unit","pass_condition":"the complete model and this unit's static invariant compile","related_sources":[]} +func main() => integer +begin + assert TRUE; + return 0; +end; diff --git a/tests/asl/block/model/state/shared-generation-state/block-state-shared-generation-foreign-retirement-015.asl b/tests/asl/block/model/state/shared-generation-state/block-state-shared-generation-foreign-retirement-015.asl new file mode 100644 index 000000000..be175365d --- /dev/null +++ b/tests/asl/block/model/state/shared-generation-state/block-state-shared-generation-foreign-retirement-015.asl @@ -0,0 +1,233 @@ +// PTO-TEST: {"id":"PTO-AVS-BLOCK-SHARED-TLSU-ASSEMBLE-FOREIGN-RETIREMENT-015","source":"asl/block/model/state/shared-generation-state.asl","requirements":["PTO-ARCH-KERNEL-LIFECYCLE-001","PTO-B-ASSEMBLE-SHARED-GENERATION-001"],"kind":"state-transition","summary":"End and Abort retire only the target Core's actual-PE Shared candidates and release metadata while another Core's handler is selected.","pass_condition":"For both open and published/unconsumed target records, encoded contributions are followed by target-Core End or Abort while a different Core's real handler is selected. The target record is cleared, its published parent and next ordinal are preserved, and caller trap/context plus another Core candidate are unchanged.","related_sources":["asl/arch/state/kernel-lifecycle.asl","asl/block/model/operands/shared-generation.asl","asl/block/model/state/shared-generation-state.asl"]} + +pure func SharedEndStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00011181; + instruction[24:20] = '00010'; + instruction[31:27] = Zeros{5} + 24; + return instruction; +end; + +pure func SharedEndBinding(shared_id: bits(6)) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001013; + instruction[25:20] = shared_id; + instruction[18:15] = '0011'; + instruction[11:9] = '111'; + return instruction; +end; + +pure func SharedEndAssemble(offset: integer) => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00001053; + instruction[31] = '1'; + instruction[30:20] = Zeros{11} + offset; + instruction[11] = '1'; + instruction[10:7] = '0001'; + return instruction; +end; + +pure func SharedEndTileBinding() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[25:20] = Zeros{6}; + instruction[11:9] = '111'; + instruction[19] = '1'; + return instruction; +end; + +func PrepareSharedEndPE(core: PTOModelCoreIdentity, + pe: MemoryAgentId, epoch: integer) +begin + SelectExecutionContext(core, pe); + ConfigureTile(0, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(0, 0, column, + Zeros{PTO_XLEN} + 0x2000 + epoch * 0x10000 + + (pe as integer {0..3}) * 0x100 + column); + end; + let start = ExecuteCommandInstruction(SharedEndStart(), 32); + let shared = ExecuteCommandInstruction( + SharedEndBinding(Zeros{6} + 19), 32); + let assemble = ExecuteCommandInstruction( + SharedEndAssemble(pe as integer {0..3}), 32); + let tile = ExecuteCommandInstruction(SharedEndTileBinding(), 32); + assert start == CommandExecution_Executed && + shared == CommandExecution_Executed && + assemble == CommandExecution_Executed && + tile == CommandExecution_Executed && + _BundleSharedBindings[[0]].pe_mask == '1111'; +end; + +func TestForeignOpenRetirement(use_abort: boolean) +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + let launch0 = LaunchKernelInvocation(0, Zeros{PTO_XLEN}); + let launch1 = LaunchKernelInvocation(1, Zeros{PTO_XLEN} + 0x100); + assert launch0 == KernelLifecycle_Started && + launch1 == KernelLifecycle_Started; + PrepareSharedEndPE(0, 0, 0); + let old_token = _BundleExecutionDomainToken; + let first_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert first_stop == CommandExecution_Executed && _LastFault == Fault_None; + let index = SharedTileArrayIndex(shared_id); + let retired_invocation = _CurrentKernelInvocation; + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == old_token; + + SelectExecutionContext(1, 2); + PrepareSharedEndPE(1, 2, 7); + let peer_token = _BundleExecutionDomainToken; + let peer_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert peer_stop == CommandExecution_Executed && _LastFault == Fault_None; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 7); + let caller_core = _CurrentModelCore; + let caller_pe = _CurrentMemoryAgent; + let caller_pc = ReadTPC(); + let caller_bpc = ReadBPC(); + let caller_acr = CurrentACR(); + let caller_origin = _CurrentMemoryOrigin; + let caller_trap_pc = _TrapContexts[[CurrentACR()]].tpc; + let caller_trap_domain = + _TrapContexts[[CurrentACR()]].bundle_execution_domain_token; + + let retired = if use_abort then AbortKernelInvocation(0) else + EndKernelInvocation(0); + assert retired == KernelLifecycle_Started && + _CurrentModelCore == caller_core && + _CurrentMemoryAgent == caller_pe && ReadTPC() == caller_pc && + ReadBPC() == caller_bpc && CurrentACR() == caller_acr && + _CurrentMemoryOrigin == caller_origin && + _TrapContexts[[CurrentACR()]].valid && + _TrapContexts[[CurrentACR()]].tpc == caller_trap_pc && + _TrapContexts[[CurrentACR()]].bundle_execution_domain_token == + caller_trap_domain; + assert _SharedGenerations[[index]].core_identity != 0 || + !_SharedGenerations[[index]].open; + + SelectExecutionContext(0, 0); + assert !_SharedGenerations[[index]].open && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == 0 && + _SharedGenerations[[index]].next_operation_ordinal == 1 && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == 0; + let fresh = LaunchKernelInvocation(0, Zeros{PTO_XLEN} + 0x200); + assert fresh == KernelLifecycle_Started; + PrepareSharedEndPE(0, 0, 1); + let fresh_token = _BundleExecutionDomainToken; + assert fresh_token != old_token; + let fresh_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert fresh_stop == CommandExecution_Executed && + _LastFault == Fault_None && + _SharedGenerations[[index]].open && + _SharedGenerations[[index]].operation_ordinal == 2 && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + fresh_token; + + SelectExecutionContext(1, 2); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].arrival_request_tokens[[2]] == + peer_token && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; +end; + +func TestForeignPublishedRetirement(use_abort: boolean) +begin + ResetProfileState(); + let shared_id = (Zeros{6} + 19) as SharedTileID; + ConfigureTile(1, 512, 4, 16, 1, 16, TileDataType_U64, + TileLayout_RowMajor); + for column = 0 to 15 do + WriteTileElement(1, 0, column, Zeros{PTO_XLEN} + 0x7700 + column); + end; + InstallSharedTile(shared_id, _Tiles[[1]], '1111'); + let launch0 = LaunchKernelInvocation(0, Zeros{PTO_XLEN}); + let launch1 = LaunchKernelInvocation(1, Zeros{PTO_XLEN} + 0x100); + assert launch0 == KernelLifecycle_Started && + launch1 == KernelLifecycle_Started; + var tokens: array [[PTO_MODEL_MEMORY_AGENTS]] of integer; + for pe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + PrepareSharedEndPE(0, pe as MemoryAgentId, 3); + tokens[[pe]] = _BundleExecutionDomainToken; + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + end; + let index = SharedTileArrayIndex(shared_id); + let ordinal = _SharedGenerations[[index]].operation_ordinal; + let parent = SharedTileRecord(shared_id); + assert ordinal == 1 && _SharedGenerations[[index]].published && + _SharedGenerations[[index]].released_participants == + SharedGenerationPEBit(3 as MemoryAgentId); + + SelectExecutionContext(1, 2); + PrepareSharedEndPE(1, 2, 9); + let peer_token = _BundleExecutionDomainToken; + let peer_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert peer_stop == CommandExecution_Executed && _LastFault == Fault_None; + RaiseInterrupt(0 as InterruptID, Zeros{24} + 8); + let caller_pc = ReadTPC(); + let caller_bpc = ReadBPC(); + let caller_acr = CurrentACR(); + let caller_origin = _CurrentMemoryOrigin; + let caller_trap_pc = _TrapContexts[[CurrentACR()]].tpc; + let caller_trap_domain = + _TrapContexts[[CurrentACR()]].bundle_execution_domain_token; + let retired = if use_abort then AbortKernelInvocation(0) else + EndKernelInvocation(0); + assert retired == KernelLifecycle_Started && _CurrentModelCore == 1 && + _CurrentMemoryAgent == 2 && ReadTPC() == caller_pc && + ReadBPC() == caller_bpc && CurrentACR() == caller_acr && + _CurrentMemoryOrigin == caller_origin && + _TrapContexts[[CurrentACR()]].valid && + _TrapContexts[[CurrentACR()]].tpc == caller_trap_pc && + _TrapContexts[[CurrentACR()]].bundle_execution_domain_token == + caller_trap_domain; + SelectExecutionContext(0, 0); + assert !_SharedGenerations[[index]].open && + !_SharedGenerations[[index]].published && + _SharedGenerations[[index]].operation_ordinal == 0 && + _SharedGenerations[[index]].next_operation_ordinal == ordinal && + _SharedGenerations[[index]].released_participants == Zeros{4} && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == 0 && + _SharedGenerations[[index]].arrival_request_tokens[[1]] == 0 && + _SharedGenerations[[index]].arrival_request_tokens[[2]] == 0 && + _SharedGenerations[[index]].arrival_request_tokens[[3]] == 0; + assert SharedTilePublished(shared_id) && + SharedTileRecord(shared_id).tile.capacity_bytes == + parent.tile.capacity_bytes && + SharedTileRecord(shared_id).tile.rows == parent.tile.rows && + SharedTileRecord(shared_id).tile.columns == parent.tile.columns && + ReadSharedTileWord(shared_id, + 0 as PackedTileElementIndex) == + Zeros{PTO_XLEN} + 0x32000; + + SelectExecutionContext(1, 2); + assert _SharedGenerations[[index]].open && + _SharedGenerations[[index]].core_identity == 1 && + _SharedGenerations[[index]].arrival_request_tokens[[2]] == + peer_token; + SelectExecutionContext(0, 0); + let launch_next = LaunchKernelInvocation(0, + Zeros{PTO_XLEN} + 0x200); + assert launch_next == KernelLifecycle_Started; + PrepareSharedEndPE(0, 0, 4); + let next_token = _BundleExecutionDomainToken; + let next_stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert next_stop == CommandExecution_Executed && _LastFault == Fault_None && + _SharedGenerations[[index]].open && + _SharedGenerations[[index]].operation_ordinal == ordinal + 1 && + _SharedGenerations[[index]].arrival_request_tokens[[0]] == + next_token && next_token != tokens[[0]]; +end; + +func main() => integer +begin + TestForeignOpenRetirement(TRUE); + TestForeignOpenRetirement(FALSE); + TestForeignPublishedRetirement(TRUE); + TestForeignPublishedRetirement(FALSE); + return 0; +end; diff --git a/tests/asl/scalar/model/dispatch/decode/scalar-decode-sync-core-near-neighbor-001.asl b/tests/asl/scalar/model/dispatch/decode/scalar-decode-sync-core-near-neighbor-001.asl new file mode 100644 index 000000000..8625a3c75 --- /dev/null +++ b/tests/asl/scalar/model/dispatch/decode/scalar-decode-sync-core-near-neighbor-001.asl @@ -0,0 +1,22 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-NEAR-NEIGHBORS-001","source":"asl/scalar/model/dispatch/decode.asl","requirements":["PTO-REQ-INSTRUCTION-DISPATCH-001","PTO-INST-SCALAR-SYNC-CORE"],"kind":"decode-negative","summary":"nearby mode, RW, fixed-field, and opcode words do not alias the exact SYNC.CORE form","pass_condition":"only the exact canonical operation among the tested words resolves to ScalarOperation_SYNC_CORE while the existing FENCE.D and FENCE.I words remain distinct","related_sources":["asl/scalar/sys/SYNC.CORE.asl","asl/scalar/sys/FENCE.D.asl","asl/scalar/sys/FENCE.I.asl"]} + +readonly func DecodesAsSyncCore(word: bits(32)) => boolean +begin + let form = DecodeScalarForm(ZeroExtend{48}(word), 32); + if form == PTO_SCALAR_FORM_COUNT then return FALSE; end; + let form_index = form as integer {0..PTO_SCALAR_FORM_COUNT-1}; + return ScalarOperationOfForm(form_index) == ScalarOperation_SYNC_CORE; +end; + +func main() => integer +begin + assert DecodesAsSyncCore('00000011001100001010000000101011'); + assert !DecodesAsSyncCore('00010011001100001010000000101011'); + assert !DecodesAsSyncCore('00000011001100001010000000101010'); + assert !DecodesAsSyncCore('00000011001100001010000010101011'); + assert !DecodesAsSyncCore('00000011001100001000000000101011'); + assert !DecodesAsSyncCore('00000011001100001010000000111011'); + assert !DecodesAsSyncCore('00000000000000000010000000101011'); + assert !DecodesAsSyncCore('00010000000000000010000000101011'); + return 0; +end; diff --git a/tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-mask-matrix-001.asl b/tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-mask-matrix-001.asl new file mode 100644 index 000000000..d8c41aa7b --- /dev/null +++ b/tests/asl/scalar/sys/FENCE.D/scalar-order-fence-d-mask-matrix-001.asl @@ -0,0 +1,35 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-FENCE-D-MASK-MATRIX-001","source":"asl/scalar/sys/FENCE.D.asl","requirements":["PTO-INST-SCALAR-FENCE-D","PTO-ARCH-MEMORY-MODEL-FENCE-TRANSPORT-001"],"kind":"ordering","summary":"all 256 existing FENCE.D predecessor and successor selector pairs retain their encoded values and dispatch","pass_condition":"each pair decodes and executes as FENCE.D, advances once, invalidates the local reservation, and records the exact two four-bit masks","related_sources":["asl/scalar/model/dispatch/sys.asl","asl/arch/memory-model/atomicity.asl"]} +func main() => integer +begin + ResetProfileState(); + SetCurrentACR(0); + WriteTPC(Zeros{PTO_XLEN} + 0x100); + BeginBundle(BundleKind_System, BundleTransfer_Fallthrough, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN} + 0x200, + Zeros{PTO_XLEN}, FALSE); + EnterBundleBody(); + for predecessor = 0 to 15 do + for successor = 0 to 15 do + var instruction: bits(48) = + ZeroExtend{48}(Zeros{32} + 0x0000202b); + instruction[27:24] = Zeros{4} + predecessor; + instruction[23:20] = Zeros{4} + successor; + StartMemoryEventCapture(0); + _ReservationValid = TRUE; + let status = ExecuteScalarInstruction(instruction, 32); + assert status == ScalarExecution_Executed; + assert !_ReservationValid; + assert _MemoryEventCount == 1; + let event = _MemoryEvents[[0]]; + assert event.active; + assert event.kind == MemoryEvent_Fence; + assert event.agent == 0; + assert event.fence_predecessor == Zeros{4} + predecessor; + assert event.fence_successor == Zeros{4} + successor; + end; + end; + assert _MemoryEventCount == 1; + assert ReadTPC() == Zeros{PTO_XLEN} + 0x600; + StopMemoryEventCapture(); + return 0; +end; diff --git a/tests/asl/scalar/sys/SYNC.CORE/scalar-decode-sync-core-canonical-001.asl b/tests/asl/scalar/sys/SYNC.CORE/scalar-decode-sync-core-canonical-001.asl new file mode 100644 index 000000000..09d8f4a54 --- /dev/null +++ b/tests/asl/scalar/sys/SYNC.CORE/scalar-decode-sync-core-canonical-001.asl @@ -0,0 +1,11 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-DECODE-001","source":"asl/scalar/sys/SYNC.CORE.asl","requirements":["PTO-INST-SCALAR-SYNC-CORE"],"kind":"decode-positive","summary":"canonical SYNC.CORE catalog and ASL contract remain aligned","pass_condition":"all canonical decode and contract assertions hold","related_sources":[]} +func main() => integer +begin + assert DecodeScalarForm('000000000000000000000011001100001010000000101011', 32) == 466; + assert ScalarOperationOfForm(466) == ScalarOperation_SYNC_CORE; + assert ScalarHandlerOfForm(466) == ScalarHandler_SyncCore; + assert InstructionContractOperation_SYNC_CORE() == ScalarOperation_SYNC_CORE; + assert InstructionContractHandler_SYNC_CORE() == ScalarHandler_SyncCore; + return 0; +end; diff --git a/tests/asl/scalar/sys/SYNC.CORE/scalar-exec-sync-core-direct-001.asl b/tests/asl/scalar/sys/SYNC.CORE/scalar-exec-sync-core-direct-001.asl new file mode 100644 index 000000000..62f8bffd1 --- /dev/null +++ b/tests/asl/scalar/sys/SYNC.CORE/scalar-exec-sync-core-direct-001.asl @@ -0,0 +1,18 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-SYS-SYNC-CORE-EXEC-001","source":"asl/scalar/sys/SYNC.CORE.asl","requirements":["PTO-INST-SCALAR-SYNC-CORE"],"kind":"execution","summary":"SYNC.CORE proves its direct SYS contract","pass_condition":"the mnemonic-owned decoded assertions hold","related_sources":[]} +func main() => integer +begin + ResetProfileState(); + SetCurrentACR(0); + WriteTPC(Zeros{PTO_XLEN} + 0x100); + BeginBundle(BundleKind_System, BundleTransfer_Fallthrough, + Zeros{PTO_XLEN}, Zeros{PTO_XLEN} + 0x180, + Zeros{PTO_XLEN}, FALSE); + EnterBundleBody(); + let status = ExecuteScalarInstruction('000000000000000000000011001100001010000000101011', 32); + assert status == ScalarExecution_Executed; + assert _LastFault == Fault_None; + assert ReadTPC() == Zeros{PTO_XLEN} + 0x184; + assert InstructionContractOperation_SYNC_CORE() == ScalarOperation_SYNC_CORE; + return 0; +end; diff --git a/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-envelope-001.asl b/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-envelope-001.asl new file mode 100644 index 000000000..9e34e6431 --- /dev/null +++ b/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-envelope-001.asl @@ -0,0 +1,151 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-ENVELOPE-REJECT-001","source":"asl/scalar/sys/SYNC.CORE.asl","requirements":["PTO-SYNC-CORE-DECISION-BINDING-001","PTO-REQ-INSTRUCTION-FETCH-001","PTO-ARCH-CORE-SYNCHRONIZATION-001"],"kind":"fault","summary":"wrong kind or transfer, surplus body operation, malformed stop and unfetchable stop reject before SYNC.CORE arrival","pass_condition":"actual fetched forms fail with their existing BundleControl or instruction-fetch fault and do not allocate an arrival record; handler dispatch is also rejected before collective effects","related_sources":["asl/scalar/model/dispatch/decode.asl","asl/arch/dispatch/top-level.asl"]} +func WriteEnvelopeWord(address: Word, value: bits(32)) +begin + WriteMemoryByte(address, value[7:0]); + WriteMemoryByte(address + 1, value[15:8]); + WriteMemoryByte(address + 2, value[23:16]); + WriteMemoryByte(address + 3, value[31:24]); +end; + +func WriteBarrierEnvelope(entry: Word, start_word: bits(32), + body_word: bits(32), stop_word: bits(32)) +begin + WriteEnvelopeWord(entry, start_word); + WriteEnvelopeWord(entry + 4, body_word); + WriteEnvelopeWord(entry + 8, stop_word); +end; + +func AssertNoBarrierArrival(invocation: integer) +begin + assert FindCoreSyncGenerationRecord(0, invocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + for slot = 0 to PTO_MODEL_SYNC_GENERATIONS - 1 do + assert !_CoreSyncRecords[[0]][[slot]].valid || + _CoreSyncRecords[[0]][[slot]].arrived == Zeros{4}; + end; +end; + +func TestWrongKindEnvelopeIsRejectedBeforeArrival() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x300; + WriteBarrierEnvelope(entry, '00000000000000000001000000000001', + '00000011001100001010000000101011', + '00000000000000000000000000000001'); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Rejected; + assert _LastFault == Fault_BundleControl; + AssertNoBarrierArrival(invocation); +end; + +func TestWrongTransferEnvelopeIsRejectedBeforeArrival() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x340; + WriteBarrierEnvelope(entry, '00000000000000000010000000000001', + '00000011001100001010000000101011', + '00000000000000000000000000000001'); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Rejected; + assert _LastFault == Fault_BundleControl; + AssertNoBarrierArrival(invocation); +end; + +func TestSurplusBodyOperationIsRejectedBeforeArrival() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x380; + WriteEnvelopeWord(entry, '00000000000000000001000010000001'); + WriteEnvelopeWord(entry + 4, '00000000000000100000000000101011'); + WriteEnvelopeWord(entry + 8, '00000011001100001010000000101011'); + WriteEnvelopeWord(entry + 12, '00000000000000000000000000000001'); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let surplus_status = ExecuteNextPTOInstruction(); + assert surplus_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Rejected; + assert _LastFault == Fault_BundleControl; + AssertNoBarrierArrival(invocation); +end; + +func TestMalformedStopIsRejectedBeforeArrival() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x3c0; + WriteBarrierEnvelope(entry, '00000000000000000001000010000001', + '00000011001100001010000000101011', + '00000000000000000000000000000101'); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Rejected; + assert _LastFault == Fault_BundleControl; + AssertNoBarrierArrival(invocation); +end; + +func TestUnfetchableStopIsRejectedBeforeArrival() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + (PTO_MODEL_MEMORY_BYTES - 8); + WriteEnvelopeWord(entry, '00000000000000000001000010000001'); + WriteEnvelopeWord(entry + 4, '00000011001100001010000000101011'); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let barrier_status = ExecuteNextPTOInstruction(); + assert barrier_status == PTOInstruction_Rejected; + assert _LastFault == Fault_InstructionPage; + AssertNoBarrierArrival(invocation); +end; + +func TestHandlerCannotEnterEncodedBarrier() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x400; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + let invocation = _CurrentKernelInvocation; + _CurrentMemoryOrigin = MemoryEventOrigin_Handler; + var instruction: bits(48) = + ZeroExtend{48}('00000011001100001010000000101011'); + let handler_status = ExecuteScalarInstruction(instruction, 32); + assert handler_status == ScalarExecution_Rejected; + assert _LastFault == Fault_BundleControl; + AssertNoBarrierArrival(invocation); +end; + +func main() => integer +begin + TestWrongKindEnvelopeIsRejectedBeforeArrival(); + TestWrongTransferEnvelopeIsRejectedBeforeArrival(); + TestSurplusBodyOperationIsRejectedBeforeArrival(); + TestMalformedStopIsRejectedBeforeArrival(); + TestUnfetchableStopIsRejectedBeforeArrival(); + TestHandlerCannotEnterEncodedBarrier(); + return 0; +end; diff --git a/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-place-001.asl b/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-place-001.asl new file mode 100644 index 000000000..29cda98ec --- /dev/null +++ b/tests/asl/scalar/sys/SYNC.CORE/scalar-fault-sync-core-place-001.asl @@ -0,0 +1,19 @@ +// Generated by scripts/generate-mnemonic-avs.py. Do not edit. +// PTO-TEST: {"id":"PTO-AVS-SYS-SYNC-CORE-PLACE-001","source":"asl/scalar/sys/SYNC.CORE.asl","requirements":["PTO-INST-SCALAR-SYNC-CORE"],"kind":"fault","summary":"SYNC.CORE proves its place SYS contract","pass_condition":"the mnemonic-owned decoded assertions hold","related_sources":[]} +func main() => integer +begin + ResetProfileState(); + WriteTPC(Zeros{PTO_XLEN} + 0x100); + WriteGPR(3, Zeros{PTO_XLEN} + 0x333); + WriteGPR(5, Zeros{PTO_XLEN} + 0x555); + _DataCacheEpoch = 7; + _ArchitectureRequestEpoch = 9; + let status = ExecuteScalarInstruction('000000000000000000000011001100001010000000101011', 32); + assert status == ScalarExecution_Rejected; + assert _LastFault == Fault_BundleControl; + assert ReadGPR(3) == Zeros{PTO_XLEN} + 0x333; + assert ReadGPR(5) == Zeros{PTO_XLEN} + 0x555; + assert _DataCacheEpoch == 7; + assert _ArchitectureRequestEpoch == 9; + return 0; +end; diff --git a/tests/asl/scalar/sys/SYNC.CORE/scalar-state-sync-core-rendezvous-001.asl b/tests/asl/scalar/sys/SYNC.CORE/scalar-state-sync-core-rendezvous-001.asl new file mode 100644 index 000000000..9099b8df9 --- /dev/null +++ b/tests/asl/scalar/sys/SYNC.CORE/scalar-state-sync-core-rendezvous-001.asl @@ -0,0 +1,119 @@ +// PTO-TEST: {"id":"PTO-AVS-SCALAR-SYNC-CORE-RENDEZVOUS-001","source":"asl/scalar/sys/SYNC.CORE.asl","requirements":["PTO-SYNC-CORE-DECISION-BINDING-001","PTO-INST-SCALAR-SYNC-CORE","PTO-ARCH-CORE-SYNCHRONIZATION-001","PTO-ARCH-KERNEL-LIFECYCLE-001"],"kind":"state-transition","summary":"the encoded SYNC.CORE blocks without advancing and releases all four Core participants once","pass_condition":"four PE contexts execute the exact SYS envelope, remain at the barrier until completion, and consume the retained release once","related_sources":["asl/arch/state/core-synchronization.asl","asl/arch/state/kernel-lifecycle.asl","asl/arch/dispatch/top-level.asl"]} +func WriteSyncProgram(entry: Word) +begin + WriteMemoryByte(entry, Zeros{8} + 0x81); + WriteMemoryByte(entry + 1, Zeros{8} + 0x10); + WriteMemoryByte(entry + 2, Zeros{8}); + WriteMemoryByte(entry + 3, Zeros{8}); + WriteMemoryByte(entry + 4, Zeros{8} + 0x2b); + WriteMemoryByte(entry + 5, Zeros{8} + 0xa0); + WriteMemoryByte(entry + 6, Zeros{8} + 0x30); + WriteMemoryByte(entry + 7, Zeros{8} + 0x03); + WriteMemoryByte(entry + 8, Zeros{8} + 1); + WriteMemoryByte(entry + 9, Zeros{8}); + WriteMemoryByte(entry + 10, Zeros{8}); + WriteMemoryByte(entry + 11, Zeros{8}); + WriteMemoryByte(entry + 12, Zeros{8}); + WriteMemoryByte(entry + 13, Zeros{8}); +end; + +func TestEncodedHandlerSyncCannotJoin() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x300; + let handler_entry = Zeros{PTO_XLEN} + 0x500; + WriteSyncProgram(handler_entry); + _ExtendedSystemRegisters[[0x0f01]] = handler_entry; + let launched = LaunchKernelInvocation(0, entry); + assert launched == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + StartMemoryEventCapture(0); + RaiseInterrupt(0 as InterruptID, Zeros{24} + 7); + assert CurrentACR() == 0; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + let handler_store_address = Zeros{PTO_XLEN} + 0x780; + StoreWithOrder(handler_store_address, 8, Zeros{PTO_XLEN} + 0x99, + MemoryOrder_Relaxed); + assert _MemoryEventCount == 1; + let handler_store = _MemoryEvents[[0]]; + assert handler_store.kind == MemoryEvent_Store; + assert handler_store.origin == MemoryEventOrigin_Handler; + + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + let sync_status = ExecuteNextPTOInstruction(); + assert sync_status == PTOInstruction_Rejected; + assert _LastFault == Fault_BundleControl; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert FindCoreSyncGenerationRecord(0, _CurrentKernelInvocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + assert _MemoryEvents[[0]].origin == MemoryEventOrigin_Handler; + StopMemoryEventCapture(); +end; + +func TestEncodedFourPEBarrier() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x100; + WriteSyncProgram(entry); + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + let start_status = ExecuteNextPTOInstruction(); + assert start_status == PTOInstruction_Executed; + assert ReadTPC() == entry + 4; + let status = ExecuteNextPTOInstruction(); + if pe_number < PTO_MODEL_MEMORY_AGENTS - 1 then + assert status == PTOInstruction_Blocked; + assert ReadTPC() == entry + 4; + assert _PEBarrierNextGeneration[[0]][[pe]] == 0; + else + assert status == PTOInstruction_Executed; + assert ReadTPC() == entry + 8; + end; + end; + for pe_number = 0 to PTO_MODEL_MEMORY_AGENTS - 2 do + let pe = pe_number as MemoryAgentId; + SelectExecutionContext(0, pe); + assert ReadTPC() == entry + 4; + let release_status = ExecuteNextPTOInstruction(); + assert release_status == PTOInstruction_Executed; + assert ReadTPC() == entry + 8; + assert _PEBarrierNextGeneration[[0]][[pe]] == 1; + end; + assert _PEBarrierNextGeneration[[0]][[3]] == 1; + assert _PEReleaseValid[[0]] == Zeros{4}; + let ended = EndKernelInvocation(0); + assert ended == KernelLifecycle_Started; +end; + +func TestHandlerCannotJoinCoreBarrier() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x100; + let launch = LaunchKernelInvocation(0, entry); + assert launch == KernelLifecycle_Started; + SelectExecutionContext(0, 0); + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + _ScalarExecutionBlocked = FALSE; + SyncCore(); + assert _ScalarExecutionBlocked; + assert FindCoreSyncGenerationRecord(0, _CurrentKernelInvocation, 0) == + PTO_MODEL_SYNC_GENERATIONS; + let recovered = RecoverTrapContext(CurrentACR()); + assert recovered; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + let aborted = AbortKernelInvocation(0); + assert aborted == KernelLifecycle_Started; +end; + +func main() => integer +begin + TestEncodedFourPEBarrier(); + TestHandlerCannotJoinCoreBarrier(); + TestEncodedHandlerSyncCannotJoin(); + return 0; +end; diff --git a/tests/asl/tile/model/memory/load-store/tile-state-gm-progress-live-handler-context-003.asl b/tests/asl/tile/model/memory/load-store/tile-state-gm-progress-live-handler-context-003.asl new file mode 100644 index 000000000..46d7195db --- /dev/null +++ b/tests/asl/tile/model/memory/load-store/tile-state-gm-progress-live-handler-context-003.asl @@ -0,0 +1,289 @@ +// PTO-TEST: {"id":"PTO-AVS-ARCH-GM-PROGRESS-LIVE-HANDLER-CONTEXT-003","source":"asl/tile/model/memory/load-store.asl","requirements":["PTO-ARCH-PE-EXECUTION-CONTEXT-001","PTO-ARCH-GM-OBLIGATIONS-001","PTO-ARCH-MEMORY-MODEL-TRAP-RESTORE-001"],"kind":"state-transition","summary":"captured TSTORE progress preserves live nested-handler context on its owner and across Core selection","pass_condition":"encoded captured TSTORE progress commits a production Store event under its original request identity while restoring a nested handler on the same PE and a caller handler on another Core/PE; real returns restore saved origins/continuations and real reservation invalidation survives","related_sources":["asl/arch/state/pe-execution-context.asl","asl/arch/memory-model/gm-obligations.asl","asl/arch/memory-model/fault-precision.asl","asl/tile/model/memory/load-store.asl"]} +pure func LiveHandlerTStoreStart() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00111181; + instruction[31:27] = Zeros{5} + 25; + return instruction; +end; + +pure func LiveHandlerTStoreSource() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00005013; + instruction[11:9] = '111'; + instruction[25:20] = Zeros{6} + 4; + instruction[19] = '1'; + return instruction; +end; + +pure func LiveHandlerTStoreAddress() => bits(64) +begin + var instruction: bits(64) = Zeros{64} + 0x00000013; + instruction[19:15] = Zeros{5} + 2; + instruction[24:20] = Zeros{5} + 3; + return instruction; +end; + +func TestOtherCoreProgressRestoresCallerHandler() +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x800; + let launch0 = LaunchKernelInvocation(0, entry); + let launch1 = LaunchKernelInvocation(1, entry); + assert launch0 == KernelLifecycle_Started && + launch1 == KernelLifecycle_Started; + let invocation0 = _KernelInvocationByCore[[0]]; + let invocation1 = _KernelInvocationByCore[[1]]; + SelectExecutionContext(1, 2); + assert _CurrentModelCore == 1 && _CurrentMemoryAgent == 2 && + _CurrentKernelInvocation == invocation1 && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x6b); + _PC = entry; + WriteGPR(2, Zeros{PTO_XLEN} + 0x900); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + _CurrentProgramOrder = 5; + _PEProgramOrder[[1]][[2]] = 5; + StartMemoryEventCapture(2); + SetVerificationGMProgressDeferred(TRUE); + let start = ExecuteCommandInstruction(LiveHandlerTStoreStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let source = ExecuteCommandInstruction(LiveHandlerTStoreSource(), 32); + let address = ExecuteCommandInstruction(LiveHandlerTStoreAddress(), 32); + let request_pc = ReadBPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert start == CommandExecution_Executed && + source == CommandExecution_Executed && + address == CommandExecution_Executed && + stop == CommandExecution_Executed && _LastFault == Fault_None; + SelectExecutionContext(1, 2); + assert _CurrentModelCore == 1 && _CurrentMemoryAgent == 2 && + _CurrentKernelInvocation == invocation1; + var request_found = FALSE; + var request_core : integer {0..3} = 0; + var request_pe : integer {0..3} = 0; + var request_slot : integer {0..PTO_MODEL_GM_OBLIGATIONS-1} = 0; + for core_probe = 0 to PTO_MODEL_CORE_INSTANCES - 1 do + for pe_probe = 0 to PTO_MODEL_MEMORY_AGENTS - 1 do + for slot_probe = 0 to PTO_MODEL_GM_OBLIGATIONS - 1 do + let probe = _GMObligations[[core_probe]][[pe_probe]] + [[slot_probe]]; + if probe.active && probe.invocation == invocation1 then + request_found = TRUE; + request_core = core_probe; + request_pe = pe_probe; + request_slot = slot_probe; + end; + end; + end; + end; + assert request_found; + assert request_core == 1; + assert request_pe == 2; + let request = _GMObligations[[request_core as PTOModelCoreIdentity]] + [[request_pe as MemoryAgentId]] + [[request_slot as GMObligationIndex]]; + assert request.active; + assert request.state == GMObligation_Validated; + assert request.captured_tstore_progress; + assert request.invocation == invocation1; + assert request.instruction_pc == request_pc; + let request_identity = request.identity; + assert _MemoryEventCount == 0; + SetVerificationGMProgressDeferred(FALSE); + + SelectExecutionContext(0, 0); + WriteTPC(Zeros{PTO_XLEN} + 0xa00); + WriteBPC(Zeros{PTO_XLEN} + 0xa04); + let caller_tpc = ReadTPC(); + let caller_bpc = ReadBPC(); + _CurrentProgramOrder = 19; + _PEProgramOrder[[0]][[0]] = 19; + _CurrentEncodedInstruction = Zeros{64} + 0x3456; + _BundleStartEncodedInstruction = Zeros{64} + 0x789a; + _ReservationValid = TRUE; + _ReservationAddress = Zeros{PTO_XLEN} + 0x900; + _ReservationSize = 8; + SaveSelectedPEExecutionContext(); + RaiseInterrupt(0 as InterruptID, Zeros{24} + 10); + assert _TrapContexts[[0]].valid && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + let handler_tpc = Zeros{PTO_XLEN} + 0xb00; + let handler_bpc = Zeros{PTO_XLEN} + 0xb04; + WriteTPC(handler_tpc); + WriteBPC(handler_bpc); + _CurrentProgramOrder = 29; + _PEProgramOrder[[0]][[0]] = 29; + _CurrentEncodedInstruction = Zeros{64} + 0x4567; + _BundleStartEncodedInstruction = Zeros{64} + 0x89ab; + SaveSelectedPEExecutionContext(); + + ProgressKernelGMObligationsForCore(1, invocation1); + assert _CurrentModelCore == 0 && _CurrentMemoryAgent == 0 && + _CurrentKernelInvocation == invocation0; + assert CurrentACR() == 0; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert _CurrentProgramOrder == 29; + assert ReadTPC() == handler_tpc; + assert ReadBPC() == handler_bpc; + assert _CurrentEncodedInstruction == Zeros{64} + 0x4567 && + _BundleStartEncodedInstruction == Zeros{64} + 0x89ab; + assert _TrapContexts[[0]].valid && _LastFault == Fault_None; + assert !_ReservationValid && + !_PEExecutionContexts[[0]][[0]].reservation_valid; + assert _GMObligations[[request_core as PTOModelCoreIdentity]] + [[request_pe as MemoryAgentId]] + [[request_slot as GMObligationIndex]].state == + GMObligation_Completed && + _GMObligations[[request_core as PTOModelCoreIdentity]] + [[request_pe as MemoryAgentId]] + [[request_slot as GMObligationIndex]].identity == + request_identity && + _GMObligations[[request_core as PTOModelCoreIdentity]] + [[request_pe as MemoryAgentId]] + [[request_slot as GMObligationIndex]].invocation == + invocation1; + assert _MemoryEventCount == 1; + let store = _MemoryEvents[[0]]; + assert store.active && store.committed && + store.kind == MemoryEvent_Store && + store.core_identity == 1 && store.agent == 2 && + store.origin == MemoryEventOrigin_Kernel && + store.invocation == invocation1 && store.address == + Zeros{PTO_XLEN} + 0x900 && + store.write_value == Zeros{PTO_XLEN} + 0x6b; + + let recovered = RecoverTrapContext(0); + assert recovered && CurrentACR() == 0 && + _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + assert ReadTPC() == caller_tpc && ReadBPC() == caller_bpc; + assert _MemoryEventCount == 1; + StopMemoryEventCapture(); +end; + +func main() => integer +begin + ResetProfileState(); + let entry = Zeros{PTO_XLEN} + 0x200; + let launched = LaunchKernelInvocation(0, entry); + assert launched == KernelLifecycle_Started; + let invocation = _KernelInvocationByCore[[0]]; + SelectExecutionContext(0, 0); + WriteSystemRegisterAddress(Zeros{24} + 0x1f07, + Zeros{PTO_XLEN} + 3); + SetCurrentACR(2); + ConfigureTile(4, 256, 1, 1, 1, 1, TileDataType_U64, + TileLayout_RowMajor); + WriteTileElement(4, 0, 0, Zeros{PTO_XLEN} + 0x5a); + _PC = entry; + WriteGPR(2, Zeros{PTO_XLEN} + 0x700); + WriteGPR(3, Zeros{PTO_XLEN} + 8); + _CurrentProgramOrder = 3; + _PEProgramOrder[[0]][[0]] = 3; + StartMemoryEventCapture(0); + SetVerificationGMProgressDeferred(TRUE); + let start = ExecuteCommandInstruction(LiveHandlerTStoreStart(), 32); + SetBundleDimension(0, Zeros{PTO_XLEN} + 1); + SetBundleDimension(1, Zeros{PTO_XLEN} + 1); + SetBundleDimension(2, Zeros{PTO_XLEN} + 1); + let source = ExecuteCommandInstruction(LiveHandlerTStoreSource(), 32); + let address = ExecuteCommandInstruction(LiveHandlerTStoreAddress(), 32); + assert start == CommandExecution_Executed && + source == CommandExecution_Executed && + address == CommandExecution_Executed; + let request_pc = ReadBPC(); + let stop = ExecuteCommandInstruction(Zeros{64}, 16); + assert stop == CommandExecution_Executed && _LastFault == Fault_None; + let submitted = _GMObligations[[0]][[0]][[0]]; + assert submitted.active; + assert submitted.state == GMObligation_Validated; + assert submitted.captured_tstore_progress; + assert submitted.invocation == invocation; + assert submitted.instruction_pc == request_pc; + assert _MemoryEventCount == 0; + let request_identity = submitted.identity; + let continuation_tpc = ReadTPC(); + let continuation_bpc = ReadBPC(); + SetVerificationGMProgressDeferred(FALSE); + + // The handler context is entered by the architectural interrupt owner; + // the test does not manually relabel the request or its memory events. + RaiseInterrupt(0 as InterruptID, Zeros{24} + 9); + assert _TrapContexts[[1]].valid && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert CurrentACR() == 1 && _TrapContexts[[1]].source_acr == 2; + let handler_tpc = Zeros{PTO_XLEN} + 0x500; + let handler_bpc = Zeros{PTO_XLEN} + 0x504; + WriteTPC(handler_tpc); + WriteBPC(handler_bpc); + _CurrentProgramOrder = 77; + _CurrentEncodedInstruction = Zeros{64} + 0x1234; + _BundleStartEncodedInstruction = Zeros{64} + 0x5678; + _ReservationValid = TRUE; + _ReservationAddress = Zeros{PTO_XLEN} + 0x700; + _ReservationSize = 8; + SaveSelectedPEExecutionContext(); + let nested_entered = RaiseServiceRequest('0000'); + assert nested_entered && CurrentACR() == 0 && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler && + _LastFault == Fault_ServiceRequest; + let nested_fault_address = _FaultAddress; + let nested_tpc = Zeros{PTO_XLEN} + 0x600; + let nested_bpc = Zeros{PTO_XLEN} + 0x604; + WriteTPC(nested_tpc); + WriteBPC(nested_bpc); + _CurrentProgramOrder = 88; + _CurrentEncodedInstruction = Zeros{64} + 0x2345; + _BundleStartEncodedInstruction = Zeros{64} + 0x6789; + SaveSelectedPEExecutionContext(); + + ProgressKernelGMObligationsForCore(0, invocation); + assert _CurrentModelCore == 0 && _CurrentMemoryAgent == 0 && + _CurrentKernelInvocation == invocation; + assert CurrentACR() == 0 && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler && + _CurrentProgramOrder == 88 && ReadTPC() == nested_tpc && + ReadBPC() == nested_bpc; + assert _CurrentEncodedInstruction == Zeros{64} + 0x2345 && + _BundleStartEncodedInstruction == Zeros{64} + 0x6789; + assert _TrapContexts[[0]].valid && _TrapContexts[[1]].valid && + _LastFault == Fault_ServiceRequest && + _FaultAddress == nested_fault_address; + assert !_ReservationValid && + !_PEExecutionContexts[[0]][[0]].reservation_valid; + assert _GMObligations[[0]][[0]][[0]].state == + GMObligation_Completed && + _GMObligations[[0]][[0]][[0]].identity == request_identity && + _GMObligations[[0]][[0]][[0]].invocation == invocation; + let stored_value = LoadUnsigned(Zeros{PTO_XLEN} + 0x700, 8); + assert stored_value == Zeros{PTO_XLEN} + 0x5a; + assert _MemoryEventCount == 2; + let store = _MemoryEvents[[0]]; + assert store.active && store.committed && + store.kind == MemoryEvent_Store && + store.core_identity == 0 && store.agent == 0 && + store.origin == MemoryEventOrigin_Kernel && + store.invocation == invocation && store.address == + Zeros{PTO_XLEN} + 0x700 && + store.write_value == Zeros{PTO_XLEN} + 0x5a; + + let nested_recovered = RecoverTrapContext(0); + assert nested_recovered && CurrentACR() == 1 && + _CurrentMemoryOrigin == MemoryEventOrigin_Handler; + assert ReadTPC() == handler_tpc + (Zeros{PTO_XLEN} + 4) && + ReadBPC() == handler_bpc; + let recovered = RecoverTrapContext(1); + assert recovered && CurrentACR() == 2; + assert _CurrentMemoryOrigin == MemoryEventOrigin_Kernel; + assert ReadTPC() == continuation_tpc; + assert ReadBPC() == continuation_bpc; + assert _GMObligations[[0]][[0]][[0]].state == + GMObligation_Completed; + assert _MemoryEventCount == 2; + StopMemoryEventCapture(); + TestOtherCoreProgressRestoresCallerHandler(); + return 0; +end; diff --git a/tests/scripts/test_decoder_partition.py b/tests/scripts/test_decoder_partition.py index 679eb1e06..79f35d156 100644 --- a/tests/scripts/test_decoder_partition.py +++ b/tests/scripts/test_decoder_partition.py @@ -34,7 +34,7 @@ def setUpClass(cls) -> None: cls.decoder = completed.stdout def test_decoder_only_output_preserves_complete_identity_counts(self) -> None: - self.assertIn("constant PTO_SCALAR_FORM_COUNT = 466;", self.decoder) + self.assertIn("constant PTO_SCALAR_FORM_COUNT = 467;", self.decoder) self.assertIn("constant PTO_COMMAND_FORM_COUNT = 96;", self.decoder) self.assertIn("constant PTO_TILE_OPERATION_COUNT = 119;", self.decoder) self.assertIn("pure func DecodeScalarForm", self.decoder) diff --git a/tests/scripts/test_generate_mnemonic_avs.py b/tests/scripts/test_generate_mnemonic_avs.py index d3f7877bc..e1b9e4fb1 100644 --- a/tests/scripts/test_generate_mnemonic_avs.py +++ b/tests/scripts/test_generate_mnemonic_avs.py @@ -1296,6 +1296,40 @@ def test_non_mnemonic_unit_gets_one_static_compile_owner(self) -> None: self.assertIn('"kind":"static-invariant"', document) self.assertEqual(document.count("func main() => integer"), 1) + def test_long_shared_generation_static_id_uses_approved_compact_form(self) -> None: + with tempfile.TemporaryDirectory() as temporary: + root = Path(temporary) + source = root / ( + "asl/block/model/operands/shared-generation-pe-requests.asl" + ) + source.parent.mkdir(parents=True) + source.write_text("constant TEST_SHARED = 0;\n", encoding="utf-8") + unit = AslUnit( + unit_id=( + "PTO-BLOCK-MODEL-OPERANDS-" + "SHARED-GENERATION-PE-REQUESTS" + ), + surface="block", + classification=("model", "operands", "shared-generation-pe-requests"), + depends_on=(), + source_path=Path( + "asl/block/model/operands/shared-generation-pe-requests.asl" + ), + mnemonic=None, + line_count=1, + ) + + _, document = self.render_concept(root, unit) + + self.assertIn( + '"id":"PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001"', + document, + ) + self.assertLessEqual( + len("PTO-AVS-BLOCK-SHARED-GENERATION-PE-REQUESTS-STATIC-001"), + 64, + ) + if __name__ == "__main__": unittest.main() diff --git a/tests/scripts/test_instruction_contract_closure.py b/tests/scripts/test_instruction_contract_closure.py index 1378422b4..ffcdaf19e 100644 --- a/tests/scripts/test_instruction_contract_closure.py +++ b/tests/scripts/test_instruction_contract_closure.py @@ -40,8 +40,8 @@ def test_generated_projection_has_exact_global_counts(self) -> None: document = json.loads(output.read_text(encoding="utf-8")) self.assertEqual(document["schema"], "pto.instruction-contract-closure.v1") - self.assertEqual(document["summary"]["mnemonic_count"], 664) - self.assertEqual(document["summary"]["encoded_form_count"], 562) + self.assertEqual(document["summary"]["mnemonic_count"], 665) + self.assertEqual(document["summary"]["encoded_form_count"], 563) self.assertEqual(document["summary"]["selector_operation_count"], 119) self.assertEqual(document["summary"]["unresolved_field_count"], 0) self.assertEqual(document["summary"]["placeholder_count"], 0) @@ -99,7 +99,7 @@ def test_traceability_links_every_mnemonic_to_the_contract_projection(self) -> N traceability = json.loads(TRACEABILITY.read_text(encoding="utf-8")) mnemonic_rows = [row for row in traceability["units"] if row["mnemonic"]] - self.assertEqual(len(mnemonic_rows), 664) + self.assertEqual(len(mnemonic_rows), 665) self.assertTrue( all( row["instruction_contract"]["artifact"] diff --git a/tests/scripts/test_ndf.py b/tests/scripts/test_ndf.py index 11fbee2b8..28d49a351 100644 --- a/tests/scripts/test_ndf.py +++ b/tests/scripts/test_ndf.py @@ -218,6 +218,21 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: self.assertTrue(callable(indexer), "scripts.ndf.state_index is missing") states = indexer(REPOSITORY_ROOT) expected_members = { + "PTO-STATE-ARCH-GM-OBLIGATIONS": ( + "_GMObligations", + "_NextGMObligationIdentity", + ), + "PTO-STATE-ARCH-GM-PROGRESS-SCHEDULER": ( + "_VerificationGMProgressDeferred", + "_VerificationGMProgressBeatBudget", + ), + "PTO-STATE-ARCH-KERNEL-LIFECYCLE": ( + "_KernelInvocationByCore", + "_NextKernelInvocationIdByCore", + "_RetiredKernelInvocationByCore", + "_KernelInvocationActiveByCore", + "_CurrentKernelInvocation", + ), "PTO-STATE-ARCH-GPR": ("_PEGPRs",), "PTO-STATE-ARCH-TEMPORARY-QUEUES": ( "_TQueue", @@ -251,16 +266,10 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: "PTO-STATE-ARCH-FAULT": ("_LastFault", "_FaultAddress"), "PTO-STATE-ARCH-MEMORY": ( "_Memory", - "_ReservationValid", - "_ReservationAddress", - "_ReservationSize", - "_LastFencePredecessor", - "_LastFenceSuccessor", "_MemoryEvents", "_MemoryEventCount", "_MemoryEventCaptureEnabled", "_CurrentMemoryAgent", - "_MemoryReplayState", ), "PTO-STATE-ARCH-MAINTENANCE": ( "_DataCacheEpoch", @@ -287,6 +296,47 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: "_ACRTrapArgument0", "_TrapContexts", ), + "PTO-STATE-ARCH-CORE-CONTEXT-SELECTION": ("_CurrentModelCore",), + "PTO-STATE-ARCH-PE-EXECUTION-PROGRESS": ( + "_CurrentCollectiveEpoch", + "_CurrentEncodedInstruction", + "_CurrentMemoryOrigin", + "_CurrentProgramOrder", + "_LastFencePredecessor", + "_LastFenceSuccessor", + "_MemoryReplayState", + "_ReservationAddress", + "_ReservationSize", + "_ReservationValid", + "_ScalarExecutionBlocked", + ), + "PTO-STATE-ARCH-MEMORY-EVENT-OVERRIDE": ( + "_MemoryEventCollectiveHistoryOverrideValid", + "_MemoryEventCollectiveHistoryOverride", + ), + "PTO-STATE-ARCH-CORE-SYNCHRONIZATION": ( + "_CoreSyncRecords", + "_CoreCollectiveHistorySequence", + ), + "PTO-STATE-ARCH-CORE-SYNCHRONIZATION-PE": ( + "_PEBarrierNextGeneration", + "_PEReleaseValid", + "_PEReleaseGeneration", + "_PEProgramOrder", + "_PECollectiveEpoch", + ), + "PTO-STATE-ARCH-PE-EXECUTION-CONTEXT": ( + "_PEExecutionContexts", + "_CurrentPEContextValid", + "_PEContextBankValid", + "_DefaultPEExecutionContext", + ), + "PTO-STATE-ARCH-CORE-LOCAL-CONTEXT": ( + "_CoreExecutionContexts", + "_CurrentCoreContextValid", + "_CoreContextBankValid", + "_DefaultCoreExecutionContext", + ), "PTO-STATE-TILE-LOCAL": ( "_Tiles", "_TileAllocationMasks", @@ -302,6 +352,7 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: "_SystemBlockTerminalPending", "_BundleSequentialPC", "_FrameStackReturnTarget", + "_BundleStartEncodedInstruction", "_BundleArgument", "_BundleArgumentKind", "_BundleOperation", @@ -320,11 +371,7 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: "_BundleFixedPointAttributes", "_MemoryCopyTemplate", "_FrameTemplate", - "_LocalGenerations", - "_SharedGenerations", "_BundleExecutionDomainToken", - "_NextBundleExecutionDomainToken", - "_TileDataLayoutCapabilities", "_FrameDepth", "_LastFrameBegin", "_LastFrameEnd", @@ -338,6 +385,14 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: "_LastCrossBlockID", "_LastBundleHintPayload", ), + "PTO-STATE-BLOCK-LOCAL-GENERATIONS": ("_LocalGenerations",), + "PTO-STATE-BLOCK-SHARED-GENERATIONS": ("_SharedGenerations",), + "PTO-STATE-BLOCK-CORE-TILE-CAPABILITIES": ( + "_TileDataLayoutCapabilities", + ), + "PTO-STATE-BLOCK-EXECUTION-DOMAIN-ALLOCATOR": ( + "_NextBundleExecutionDomainToken", + ), } self.assertEqual(set(states), set(expected_members)) @@ -345,7 +400,23 @@ def test_complete_state_catalog_has_exact_owner_member_partition(self) -> None: {state_id: state.members for state_id, state in states.items()}, expected_members, ) - self.assertEqual(states["PTO-STATE-ARCH-TEMPORARY-QUEUES"].scope, "bundle") + expected_scopes = { + "PTO-STATE-ARCH-KERNEL-LIFECYCLE": "core", + "PTO-STATE-ARCH-GPR": "pe", + "PTO-STATE-ARCH-TRAP-CONTEXT": "acr", + "PTO-STATE-ARCH-CORE-SYNCHRONIZATION": "core", + "PTO-STATE-ARCH-CORE-SYNCHRONIZATION-PE": "pe", + "PTO-STATE-ARCH-PE-EXECUTION-CONTEXT": "pe", + "PTO-STATE-ARCH-CORE-LOCAL-CONTEXT": "core", + "PTO-STATE-BLOCK-CONTROL": "pe", + "PTO-STATE-TILE-LOCAL": "pe", + "PTO-STATE-TILE-FEATURE-MAP": "pe", + } + self.assertEqual( + {state_id: states[state_id].scope for state_id in expected_scopes}, + expected_scopes, + ) + self.assertEqual(states["PTO-STATE-ARCH-TEMPORARY-QUEUES"].scope, "pe") all_members = [member for state in states.values() for member in state.members] self.assertEqual(len(all_members), len(set(all_members))) declared_members = { diff --git a/tests/scripts/test_scalar_instruction_contracts.py b/tests/scripts/test_scalar_instruction_contracts.py index 41c37559a..09e4bb7b7 100644 --- a/tests/scripts/test_scalar_instruction_contracts.py +++ b/tests/scripts/test_scalar_instruction_contracts.py @@ -238,10 +238,19 @@ def test_scalar_family_inventory_and_encoded_fields_are_closed(self) -> None: unit for unit in units if unit.surface == "scalar" and unit.mnemonic is not None ] - self.assertEqual(len(scalar_units), 466) + self.assertEqual(len(scalar_units), 467) self.assertEqual( Counter(unit.classification[0] for unit in scalar_units), - Counter({"agu": 183, "alu": 107, "bru": 58, "amo": 53, "sys": 35, "fsu": 30}), + Counter( + { + "agu": 183, + "alu": 107, + "bru": 58, + "amo": 53, + "sys": 36, + "fsu": 30, + } + ), ) for unit in scalar_units: contract = resolve_instruction_contract(unit, domains) diff --git a/tests/scripts/test_scalar_sys_contracts.py b/tests/scripts/test_scalar_sys_contracts.py index 6fbea6db1..02b30a523 100644 --- a/tests/scripts/test_scalar_sys_contracts.py +++ b/tests/scripts/test_scalar_sys_contracts.py @@ -38,7 +38,7 @@ def test_sys_reg5_operand_roles_are_explicit(self) -> None: def test_every_sys_owner_is_formally_complete_and_nontrivial(self) -> None: owners = sorted((ROOT / "asl/scalar/sys").glob("*.asl")) - self.assertEqual(len(owners), 35) + self.assertEqual(len(owners), 36) for owner in owners: text = owner.read_text(encoding="utf-8") diff --git a/tests/scripts/test_site_contract.py b/tests/scripts/test_site_contract.py index c98490de3..2edbaa8a6 100644 --- a/tests/scripts/test_site_contract.py +++ b/tests/scripts/test_site_contract.py @@ -210,6 +210,34 @@ def test_tload_bundle_and_semantic_depth_are_source_backed(self) -> None: hashlib.sha256(owner.encode("ascii")).hexdigest(), ) projection_text = json.dumps(projection) + self.assertIn( + "One Shared issuer reads the whole valid GM parent, including when B.ASSEMBLE is present.", + projection_text, + ) + self.assertIn( + "For multi-PE Shared B.ASSEMBLE, each actual PE reads its existing GM source stripe; encoded offset and writer size select only the destination range.", + projection_text, + ) + first_fault_stage = next( + stage + for stage in projection["semanticExecution"]["stages"] + if stage["id"] == "first-fault" + ) + read_facts = first_fault_stage["facts"][0]["items"] + self.assertTrue( + any( + item["zh-CN"] + == "单个 Shared issuer 即使带有 B.ASSEMBLE,也读取整个有效 GM parent。" + for item in read_facts + ) + ) + self.assertTrue( + any( + item["zh-CN"] + == "多 PE Shared B.ASSEMBLE 中,每个实际 PE 读取其既有 GM 源 stripe;编码 offset 与 writer size 只选择目标写入范围。" + for item in read_facts + ) + ) self.assertIn("complete Shared logical parent", projection_text) self.assertIn("B.ASSEMBLE", projection_text) self.assertIn("first access fault stops the request", projection_text) diff --git a/tests/scripts/test_specification_counts.py b/tests/scripts/test_specification_counts.py index 432d8ee63..ebea76cdf 100644 --- a/tests/scripts/test_specification_counts.py +++ b/tests/scripts/test_specification_counts.py @@ -41,17 +41,24 @@ def test_architecture_counts_match_the_authoritative_catalogs(self) -> None: "catalog projection; catalogs are authoritative", ) - def test_release_manifest_counts_match_the_authoritative_catalogs(self) -> None: + def test_release_manifest_counts_remain_pinned_to_its_release_identity(self) -> None: manifest = json.loads( (ROOT / "spec/release-manifest.json").read_text(encoding="utf-8") ) - counts = manifest["catalog_counts"] - expected = catalog_counts() - self.assertEqual(counts["scalar_forms"], expected["scalar_forms"]) - self.assertEqual(counts["command_forms"], expected["command_forms"]) - self.assertEqual( - counts["tile_operations_total"], expected["pto_operations"] + specification = tomllib.loads( + (ROOT / "specification.toml").read_text(encoding="utf-8") ) + release = specification["release"] + self.assertEqual(manifest["release"], release["architecture_version"]) + self.assertEqual(manifest["publication_version"], release["publication_version"]) + self.assertEqual(manifest["encoding_abi"], release["encoding_abi"]) + counts = manifest["catalog_counts"] + # This manifest is the immutable 0.58.7 release artifact. New draft + # catalog forms are checked against specification.toml above and must + # not silently rewrite the already-published release identity. + self.assertEqual(counts["scalar_forms"], 466) + self.assertEqual(counts["command_forms"], 96) + self.assertEqual(counts["tile_operations_total"], 118) if __name__ == "__main__":