Stage O-C: the event-driven DoE driver -- DOE returns to the prompt, EV-DONE chains the trials, MU-WAIT-ALL deleted (FABRIC-3.9.0 §3/§7.4)
- DOE sets up, JOINs EV-DONE and starts trial 1, then returns. Each trial
births and sends WL-RUN only; completion arrives as the OS's EV-DONE.
- ON-DONE counts this campaign's own workers while active; the last one
ends the trial (KILL all, marker, persist) and starts the next, or
finishes (HB-OFF, UNJOIN, MU-CAMPAIGN: complete). MU-WAIT-ALL is gone;
the start/end cycle goes through MU-END-XT.
- WL-DONE-ARGS removed from all ten workload capsules; lint passes.
Smoke campaign (amd64, 1 rep, rows off per Captain Bob): DOE returns, the
prompt answers mid-trial, all 6 trials chain on events, fail=0 each,
28/28 born/killed/departed, MU-CAMPAIGN: complete in ~61 min. Standard
sequence passes on all three ISAs (with the xHCI fix it exposed, df150e86).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
df150e8626
commit
ac42cf36b5
+72
-72
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-24T15:39:14Z -->
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-25T14:44:12Z -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
@@ -25,23 +25,23 @@
|
||||
| `init-l8-volatile.4th` | 4810, 4811, 4812, 4813 | `0x98caabbbd92abac4` | yes |
|
||||
| `init.4th` | 2049, 2050, 2057 | `0xea038ba684c53443` | yes |
|
||||
| `lib.4th` | 4050 | `0x4b216635c359ef73` | yes |
|
||||
| `multiuser-doe.4th` | 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055 | `0x2b268decf6065736` | yes |
|
||||
| `per-isa-doe.4th` | 5117, 5119 | `0xab13edecabfd78db` | yes |
|
||||
| `multiuser-doe.4th` | 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5051, 5052, 5053, 5054, 5055 | `0x5ecefe53271b715a` | yes |
|
||||
| `per-isa-doe.4th` | 5117, 5119 | `0xcbe1b36db619232b` | yes |
|
||||
| `sdk.4th` | 5109, 5110, 5111, 5112, 5113, 5114, 5115 | `0x008fdbbb62c94a3a` | yes |
|
||||
| `turtle.4th` | 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108 | `0x4d470418ca543365` | yes |
|
||||
| `user-font-demo.4th` | 4200, 4201, 4202 | `0xce1fd7d1b581a56d` | yes |
|
||||
| `workload-0.4th` | 2200, 2201 | `0x5597918289a363e3` | yes |
|
||||
| `workload-1-lite.4th` | 5058, 5059 | `0xbc13567fea25063a` | yes |
|
||||
| `workload-0.4th` | 2200, 2201 | `0x39fb60b7337bb1c6` | yes |
|
||||
| `workload-1-lite.4th` | 5058, 5059 | `0x0c92e251bb8ed1fb` | yes |
|
||||
| `workload-1.4th` | 4406, 4415, 4425, 4435 | `0x63e251adb0a03613` | yes |
|
||||
| `workload-2.4th` | 4506, 4515, 4525, 4535, 4545 | `0x9f87a07575e8f86a` | yes |
|
||||
| `workload-3.4th` | 4606, 4615, 4625, 4635, 4645, 4655, 4665 | `0xc4a88f6991036cc4` | yes |
|
||||
| `workload-4.4th` | 2130, 2131, 2132 | `0x65372d2d3787d2ba` | yes |
|
||||
| `workload-5-lite.4th` | 5056, 5057 | `0x05c651e140ef667b` | yes |
|
||||
| `workload-2.4th` | 4506, 4515, 4525, 4535, 4545 | `0xb804e16a5e38a564` | yes |
|
||||
| `workload-3.4th` | 4606, 4615, 4625, 4635, 4645, 4655, 4665 | `0x3b36a577a532d50f` | yes |
|
||||
| `workload-4.4th` | 2130, 2131, 2132 | `0xf49776216338b3c8` | yes |
|
||||
| `workload-5-lite.4th` | 5056, 5057 | `0x7e9f73aa58089857` | yes |
|
||||
| `workload-5.4th` | *(none — raw code capsule)* | `0x526964c7c9506a11` | yes |
|
||||
| `workload-6.4th` | 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095 | `0x2526f98096581e63` | yes |
|
||||
| `workload-7.4th` | 2150, 2151 | `0x3441183353715e63` | yes |
|
||||
| `workload-8.4th` | 2160 | `0xe182180361013aa8` | yes |
|
||||
| `workload-9.4th` | 4706, 4715, 4725, 4735, 4745 | `0x6c08bf4ad3f286b2` | yes |
|
||||
| `workload-6.4th` | 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095 | `0xdeb41061ea5f0fe5` | yes |
|
||||
| `workload-7.4th` | 2150, 2151 | `0x1bc8bb3e409951df` | yes |
|
||||
| `workload-8.4th` | 2160 | `0x694d2daeeffc1620` | yes |
|
||||
| `workload-9.4th` | 4706, 4715, 4725, 4735, 4745 | `0x9bee0e5d7feef977` | yes |
|
||||
| `workload-calib1.4th` | 5043 | `0x3b9f2d17b554fabc` | yes |
|
||||
| `zuse-eligibility.4th` | 4021, 4022 | `0x7b28f4776a32e0b7` | yes |
|
||||
| `zuse.4th` | 4016, 4017, 4018 | `0xa14d5a7a88791cf6` | yes |
|
||||
@@ -69,22 +69,22 @@
|
||||
| 2077 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
|
||||
| 2078 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
|
||||
| 2079 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
|
||||
| 2080 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2081 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2082 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2083 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2084 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2085 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2086 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2087 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2088 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2089 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2090 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2091 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2092 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2093 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2094 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2095 | `workload-6.4th` | `0x2526f98096581e63` | ok |
|
||||
| 2080 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2081 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2082 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2083 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2084 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2085 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2086 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2087 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2088 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2089 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2090 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2091 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2092 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2093 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2094 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2095 | `workload-6.4th` | `0xdeb41061ea5f0fe5` | ok |
|
||||
| 2100 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
| 2101 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
| 2102 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
@@ -93,14 +93,14 @@
|
||||
| 2105 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
| 2106 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
| 2107 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||
| 2130 | `workload-4.4th` | `0x65372d2d3787d2ba` | ok |
|
||||
| 2131 | `workload-4.4th` | `0x65372d2d3787d2ba` | ok |
|
||||
| 2132 | `workload-4.4th` | `0x65372d2d3787d2ba` | ok |
|
||||
| 2150 | `workload-7.4th` | `0x3441183353715e63` | ok |
|
||||
| 2151 | `workload-7.4th` | `0x3441183353715e63` | ok |
|
||||
| 2160 | `workload-8.4th` | `0xe182180361013aa8` | ok |
|
||||
| 2200 | `workload-0.4th` | `0x5597918289a363e3` | ok |
|
||||
| 2201 | `workload-0.4th` | `0x5597918289a363e3` | ok |
|
||||
| 2130 | `workload-4.4th` | `0xf49776216338b3c8` | ok |
|
||||
| 2131 | `workload-4.4th` | `0xf49776216338b3c8` | ok |
|
||||
| 2132 | `workload-4.4th` | `0xf49776216338b3c8` | ok |
|
||||
| 2150 | `workload-7.4th` | `0x1bc8bb3e409951df` | ok |
|
||||
| 2151 | `workload-7.4th` | `0x1bc8bb3e409951df` | ok |
|
||||
| 2160 | `workload-8.4th` | `0x694d2daeeffc1620` | ok |
|
||||
| 2200 | `workload-0.4th` | `0x39fb60b7337bb1c6` | ok |
|
||||
| 2201 | `workload-0.4th` | `0x39fb60b7337bb1c6` | ok |
|
||||
| 4000 | `ACL.4th` | `0xf8890c05c0d8f921` | ok |
|
||||
| 4001 | `ACL.4th` | `0xf8890c05c0d8f921` | ok |
|
||||
| 4002 | `ACL.4th` | `0xf8890c05c0d8f921` | ok |
|
||||
@@ -203,23 +203,23 @@
|
||||
| 4415 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
|
||||
| 4425 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
|
||||
| 4435 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
|
||||
| 4506 | `workload-2.4th` | `0x9f87a07575e8f86a` | ok |
|
||||
| 4515 | `workload-2.4th` | `0x9f87a07575e8f86a` | ok |
|
||||
| 4525 | `workload-2.4th` | `0x9f87a07575e8f86a` | ok |
|
||||
| 4535 | `workload-2.4th` | `0x9f87a07575e8f86a` | ok |
|
||||
| 4545 | `workload-2.4th` | `0x9f87a07575e8f86a` | ok |
|
||||
| 4606 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4615 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4625 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4635 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4645 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4655 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4665 | `workload-3.4th` | `0xc4a88f6991036cc4` | ok |
|
||||
| 4706 | `workload-9.4th` | `0x6c08bf4ad3f286b2` | ok |
|
||||
| 4715 | `workload-9.4th` | `0x6c08bf4ad3f286b2` | ok |
|
||||
| 4725 | `workload-9.4th` | `0x6c08bf4ad3f286b2` | ok |
|
||||
| 4735 | `workload-9.4th` | `0x6c08bf4ad3f286b2` | ok |
|
||||
| 4745 | `workload-9.4th` | `0x6c08bf4ad3f286b2` | ok |
|
||||
| 4506 | `workload-2.4th` | `0xb804e16a5e38a564` | ok |
|
||||
| 4515 | `workload-2.4th` | `0xb804e16a5e38a564` | ok |
|
||||
| 4525 | `workload-2.4th` | `0xb804e16a5e38a564` | ok |
|
||||
| 4535 | `workload-2.4th` | `0xb804e16a5e38a564` | ok |
|
||||
| 4545 | `workload-2.4th` | `0xb804e16a5e38a564` | ok |
|
||||
| 4606 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4615 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4625 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4635 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4645 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4655 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4665 | `workload-3.4th` | `0x3b36a577a532d50f` | ok |
|
||||
| 4706 | `workload-9.4th` | `0x9bee0e5d7feef977` | ok |
|
||||
| 4715 | `workload-9.4th` | `0x9bee0e5d7feef977` | ok |
|
||||
| 4725 | `workload-9.4th` | `0x9bee0e5d7feef977` | ok |
|
||||
| 4735 | `workload-9.4th` | `0x9bee0e5d7feef977` | ok |
|
||||
| 4745 | `workload-9.4th` | `0x9bee0e5d7feef977` | ok |
|
||||
| 4806 | `init-l8-stable.4th` | `0xdc3830f189063a9a` | ok |
|
||||
| 4810 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok |
|
||||
| 4811 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok |
|
||||
@@ -334,22 +334,22 @@
|
||||
| 5001 | `fabric.4th` | `0x9d9489cbeca4099b` | ok |
|
||||
| 5002 | `fabric.4th` | `0x9d9489cbeca4099b` | ok |
|
||||
| 5043 | `workload-calib1.4th` | `0x3b9f2d17b554fabc` | ok |
|
||||
| 5044 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5045 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5046 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5047 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5048 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5049 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5050 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5051 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5052 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5053 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5054 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5055 | `multiuser-doe.4th` | `0x2b268decf6065736` | ok |
|
||||
| 5056 | `workload-5-lite.4th` | `0x05c651e140ef667b` | ok |
|
||||
| 5057 | `workload-5-lite.4th` | `0x05c651e140ef667b` | ok |
|
||||
| 5058 | `workload-1-lite.4th` | `0xbc13567fea25063a` | ok |
|
||||
| 5059 | `workload-1-lite.4th` | `0xbc13567fea25063a` | ok |
|
||||
| 5044 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5045 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5046 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5047 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5048 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5049 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5050 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5051 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5052 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5053 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5054 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5055 | `multiuser-doe.4th` | `0x5ecefe53271b715a` | ok |
|
||||
| 5056 | `workload-5-lite.4th` | `0x7e9f73aa58089857` | ok |
|
||||
| 5057 | `workload-5-lite.4th` | `0x7e9f73aa58089857` | ok |
|
||||
| 5058 | `workload-1-lite.4th` | `0x0c92e251bb8ed1fb` | ok |
|
||||
| 5059 | `workload-1-lite.4th` | `0x0c92e251bb8ed1fb` | ok |
|
||||
| 5100 | `turtle.4th` | `0x4d470418ca543365` | ok |
|
||||
| 5101 | `turtle.4th` | `0x4d470418ca543365` | ok |
|
||||
| 5102 | `turtle.4th` | `0x4d470418ca543365` | ok |
|
||||
@@ -366,8 +366,8 @@
|
||||
| 5113 | `sdk.4th` | `0x008fdbbb62c94a3a` | ok |
|
||||
| 5114 | `sdk.4th` | `0x008fdbbb62c94a3a` | ok |
|
||||
| 5115 | `sdk.4th` | `0x008fdbbb62c94a3a` | ok |
|
||||
| 5117 | `per-isa-doe.4th` | `0xab13edecabfd78db` | ok |
|
||||
| 5119 | `per-isa-doe.4th` | `0xab13edecabfd78db` | ok |
|
||||
| 5117 | `per-isa-doe.4th` | `0xcbe1b36db619232b` | ok |
|
||||
| 5119 | `per-isa-doe.4th` | `0xcbe1b36db619232b` | ok |
|
||||
|
||||
## Conflicts
|
||||
|
||||
|
||||
+49
-38
@@ -29,14 +29,13 @@ Block 5045
|
||||
ENDCASE ;
|
||||
|
||||
Block 5046
|
||||
( FABRIC-3.8 3.9 Stage H: workers are born defs-only and )
|
||||
( each is SENT one job. WL-RUN, defined in every workload )
|
||||
( capsule, is its old birth-time tail plus its entry word )
|
||||
( twice, as the old two VM-EXEC passes did. The LAST word )
|
||||
( of the job SENDs MU-DONE back to Hera, who counts them. )
|
||||
( FABRIC-3.9.8 O-C: event-driven. Workers are born defs-only )
|
||||
( and each is SENT one job: WL-RUN, nothing else. Its end )
|
||||
( reaches Hera as the OS's own EV-DONE (ON-DONE, block 5054) )
|
||||
( -- no job text SENDs anything, and Hera never waits. )
|
||||
VARIABLE MU-DONE-COUNT
|
||||
: MU-DONE ( -- ) MU-DONE-COUNT @ 1+ MU-DONE-COUNT ! ;
|
||||
: MU-JOB ( -- c-addr u ) S" WL-RUN WL-DONE-ARGS SEND" ;
|
||||
VARIABLE MU-ACTIVE
|
||||
: MU-JOB ( -- c-addr u ) S" WL-RUN" ;
|
||||
|
||||
Block 5047
|
||||
: MU-WORKER-NAME ( n -- c-addr u )
|
||||
@@ -66,9 +65,9 @@ Block 5049
|
||||
VARIABLE MU-FAIL-COUNT
|
||||
: MU-SEND-WORKER ( worker-n -- )
|
||||
MU-JOB ROT MU-WORKER-NAME SEND 0= IF
|
||||
MU-FAIL-COUNT @ 1+ MU-FAIL-COUNT ! MU-DONE THEN ;
|
||||
: MU-KILL-WORKER ( worker-n -- )
|
||||
MU-WORKER-NAME KILL ;
|
||||
MU-FAIL-COUNT @ 1+ MU-FAIL-COUNT !
|
||||
MU-DONE-COUNT @ 1+ MU-DONE-COUNT ! THEN ;
|
||||
: MU-KILL-WORKER ( worker-n -- ) MU-WORKER-NAME KILL ;
|
||||
CREATE MU-RUN-MATRIX MU-MAX-RUNS CELLS ALLOT
|
||||
: MU-MATRIX! ( val idx -- ) CELLS MU-RUN-MATRIX + ! ;
|
||||
: MU-MATRIX@ ( idx -- val ) CELLS MU-RUN-MATRIX + @ ;
|
||||
@@ -119,45 +118,57 @@ Block 5052
|
||||
MU-NW @ 0 DO
|
||||
I MU-SEND-WORKER
|
||||
LOOP ;
|
||||
: MU-WAIT-ALL ( -- )
|
||||
BEGIN MU-DONE-COUNT @ MU-NW @ < WHILE REPEAT ;
|
||||
( O-C: MU-WAIT-ALL is gone. The trial's end runs through )
|
||||
( MU-END-XT, set after MU-END-TRIAL is defined, breaking the )
|
||||
( start -> send -> end -> start cycle in definition order. )
|
||||
VARIABLE MU-END-XT
|
||||
: MU-CHECK-END ( -- )
|
||||
MU-DONE-COUNT @ MU-NW @ < 0= IF MU-END-XT @ EXECUTE THEN ;
|
||||
|
||||
Block 5053
|
||||
: MU-KILL-ALL ( -- )
|
||||
MU-NW @ 0 DO
|
||||
I MU-KILL-WORKER
|
||||
LOOP ;
|
||||
: MU-RUN-TRIAL ( cfg rep run-id -- )
|
||||
MU-RUN-ID ! MU-REP ! MU-CFG !
|
||||
( O-C: a trial STARTS -- births, sends, returns. It ends in )
|
||||
( MU-END-TRIAL, run from ON-DONE when the last worker is done. )
|
||||
: MU-START-TRIAL ( cfg rep -- )
|
||||
MU-REP ! MU-CFG !
|
||||
0 MU-FAIL-COUNT ! 0 MU-DONE-COUNT !
|
||||
MU-CFG @ MU-CONC-OF MU-NW !
|
||||
MU-CFG @ MU-MODE-OF MU-MODE !
|
||||
MU-BIRTH-ALL
|
||||
MU-SEND-ALL
|
||||
MU-WAIT-ALL
|
||||
MU-KILL-ALL
|
||||
MU-EMIT-TRIAL-MARKER ;
|
||||
MU-BIRTH-ALL MU-SEND-ALL
|
||||
MU-CHECK-END ;
|
||||
|
||||
Block 5054
|
||||
: MU-CAMPAIGN-STEP ( idx -- )
|
||||
MU-MATRIX@
|
||||
DUP MU-NREPS @ /
|
||||
SWAP MU-NREPS @ MOD
|
||||
MU-RUN-ID @
|
||||
MU-RUN-TRIAL
|
||||
MU-RUN-ID @ 1+ MU-RUN-ID ! ;
|
||||
VARIABLE MU-IDX
|
||||
: MU-START-IDX ( -- )
|
||||
MU-IDX @ MU-MATRIX@
|
||||
DUP MU-NREPS @ / SWAP MU-NREPS @ MOD
|
||||
MU-START-TRIAL ;
|
||||
: MU-FINISH ( -- )
|
||||
0 MU-ACTIVE ! HB-OFF EV-DONE UNJOIN DROP
|
||||
." MU-CAMPAIGN: complete" CR ;
|
||||
: MU-END-TRIAL ( -- )
|
||||
MU-KILL-ALL MU-EMIT-TRIAL-MARKER
|
||||
MU-RUN-ID @ 1+ MU-RUN-ID ! MU-IDX @ 1+ MU-IDX !
|
||||
MU-IDX @ MU-N-RUNS @ < IF MU-START-IDX
|
||||
ELSE MU-FINISH THEN ;
|
||||
' MU-END-TRIAL MU-END-XT !
|
||||
|
||||
Block 5055
|
||||
( EV-DONE handler: count only this campaign's own workers, )
|
||||
( mu0..mu7, and only while a campaign is running. )
|
||||
: MU-OURS? ( c-addr u -- f )
|
||||
2 < IF DROP 0 EXIT THEN
|
||||
DUP C@ 109 = SWAP 1+ C@ 117 = AND ;
|
||||
: ON-DONE ( c-addr u -- )
|
||||
MU-ACTIVE @ 0= IF 2DROP EXIT THEN
|
||||
MU-OURS? 0= IF EXIT THEN
|
||||
MU-DONE-COUNT @ 1+ MU-DONE-COUNT ! MU-CHECK-END ;
|
||||
: MU-EXEC-CAMPAIGN ( seed n-reps start-idx -- )
|
||||
>R
|
||||
DUP MU-NREPS !
|
||||
MU-N-CFG * MU-N-RUNS !
|
||||
SEED
|
||||
MU-INIT-MATRIX MU-SHUFFLE
|
||||
HB-ON
|
||||
R@ MU-RUN-ID !
|
||||
MU-N-RUNS @ R> DO
|
||||
I MU-CAMPAIGN-STEP
|
||||
LOOP
|
||||
HB-OFF
|
||||
." MU-CAMPAIGN: complete" CR ;
|
||||
MU-IDX ! DUP MU-NREPS ! MU-N-CFG * MU-N-RUNS ! SEED
|
||||
MU-INIT-MATRIX MU-SHUFFLE HB-ON MU-IDX @ MU-RUN-ID !
|
||||
MU-IDX @ MU-N-RUNS @ < IF
|
||||
EV-DONE JOIN DROP 1 MU-ACTIVE ! MU-START-IDX
|
||||
ELSE MU-FINISH THEN ;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Block 5117
|
||||
( per-isa-doe.4th - per-ISA DoE driver. FABRIC-3 SXXXIV.4/ )
|
||||
( SXXXV.5/.7: 6-cell factorial from multiuser-doe.4th's own )
|
||||
( MU-EXEC-CAMPAIGN, unchanged. Seed/reps are VARIABLEs, not )
|
||||
( MU-EXEC-CAMPAIGN. Seed/reps are VARIABLEs, not )
|
||||
( CONSTANTs -- settable before a run. Default N=3 reps/cell= )
|
||||
( 18 trials/ISA (ratified 2026-09-17). Load multiuser-doe.4th )
|
||||
( FIRST. )
|
||||
@@ -15,7 +15,9 @@ Block 5119
|
||||
( Tags, checks resume count, runs the campaign. Any experiment )
|
||||
( goes through this one word -- run ONE per boot (one QEMU at )
|
||||
( a time). See FABRIC-3.md SXXXV.12 for why MU-EMIT-TRIAL- )
|
||||
( MARKER can't just be redefined instead. )
|
||||
( MARKER can't just be redefined instead. FABRIC-3.9.8 O-C: )
|
||||
( DOE starts trial 1 and RETURNS to the prompt; the campaign )
|
||||
( runs on EV-DONE events and ends with MU-CAMPAIGN: complete. )
|
||||
: DOE ( seed reps isa-addr isa-u -- )
|
||||
2DUP MU-ISA-TAG!
|
||||
DOE-RESUME-COUNT MU-EXEC-CAMPAIGN ;
|
||||
|
||||
@@ -17,4 +17,3 @@ Block 2201
|
||||
;
|
||||
( 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" ;
|
||||
|
||||
@@ -17,4 +17,3 @@ Block 5059
|
||||
1000 0 DO MICRO-BURST LOOP ;
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN RUN-MICRO-BURSTS MICRO-BURST MICRO-BURST ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -68,4 +68,3 @@ Block 4545
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN 42 SEED 3 10 TRIANGLE-WAVE 7777 SEED RUN-ASYM
|
||||
54321 SEED RUN-SAW RUN-SAW RUN-SAW ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -90,4 +90,3 @@ Block 4665
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN 42 SEED 3 SINE-WAVE 98765 SEED RUN-DUAL
|
||||
11111 SEED 3 DAMPED-SINE DUAL-SINE DUAL-SINE ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -32,4 +32,3 @@ Block 2132
|
||||
;
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN RUN-PI ." 4:dopi-ok" CR RUN-PI RUN-PI ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -23,4 +23,3 @@ Block 5057
|
||||
;
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN CHAOS-FIELD CHAOS-FIELD CHAOS-FIELD ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -165,4 +165,3 @@ Block 2095
|
||||
;
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN RUN-OMNI RUN-OMNI RUN-OMNI ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -17,4 +17,3 @@ Block 2150
|
||||
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" ;
|
||||
|
||||
@@ -14,4 +14,3 @@ Block 2160
|
||||
;
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN FIB-SEQ RUN-FIB RUN-FIB ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
@@ -68,4 +68,3 @@ Block 4745
|
||||
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
||||
: WL-RUN 42 SEED 3 10 TRIANGLE-WAVE 7777 SEED RUN-ASYM
|
||||
54321 SEED RUN-SAW RUN-SAW RUN-SAW ;
|
||||
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|
||||
|
||||
Reference in New Issue
Block a user