Workload capsules the DoE births are definitions only; each defines WL-RUN (its old birth-time work plus its entry word twice) and WL-DONE-ARGS. The driver births N workers, SENDs each 'WL-RUN WL-DONE-ARGS SEND', waits in an ordinary loop for N MU-DONE messages, KILLs them (parked idle), and emits the marker. The serialized VM-EXEC round-robin is gone. Kernel: no switch checkpoint after a payload's last word; work heat is the assessed per-beat charge, and a VM gaining work is raised to the busy set's floor (Captain Bob's ruling) -- fixes a live stall where a busy-waiting Hera never yielded, without serializing batch starts. Evidence: cfg-4 rows spread evenly over Hera and all 8 worker slots (44k switches); full cfg-4 trials on amd64/aarch64/riscv64 end fail=0 with 8/8 KILL dead; Stage G interleave byte-identical on all three. Acceptance: dict_hash unchanged, relay 3, idle growth 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
401 B
Forth
21 lines
401 B
Forth
Block 2200
|
|
( workload-0.4th - mat transpose )
|
|
: TRANSPOSE-CHUNK
|
|
64 0 DO
|
|
64 0 DO
|
|
I 8 * J + ( index1 )
|
|
J 8 * I + ( index2 )
|
|
+ DROP
|
|
LOOP
|
|
LOOP
|
|
;
|
|
Block 2201
|
|
: RUN-TRANSPOSE
|
|
256 0 DO
|
|
TRANSPOSE-CHUNK 46 EMIT
|
|
LOOP
|
|
;
|
|
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
|
: WL-RUN TRANSPOSE-CHUNK RUN-TRANSPOSE RUN-TRANSPOSE ;
|
|
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|