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
336 B
Forth
21 lines
336 B
Forth
Block 2150
|
|
( workload-7.4th - matrix mul )
|
|
: MM-CHUNK
|
|
16 0 DO
|
|
16 0 DO
|
|
16 0 DO
|
|
I J + DROP 46 EMIT
|
|
LOOP
|
|
LOOP
|
|
LOOP
|
|
;
|
|
: RUN-MMUL
|
|
10 0 DO
|
|
MM-CHUNK 46 EMIT
|
|
LOOP
|
|
;
|
|
Block 2151
|
|
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
|
: WL-RUN RUN-MMUL RUN-MMUL RUN-MMUL ;
|
|
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|