Fix SWAP-MTX: Fisher-Yates shuffle was never actually shuffling correctly
Found while building the analysis report for the ACL-RWT relaunch campaign: cfg=0 was missing from run coverage for 2 of 3 seeds, reproduced identically across all three architectures. Root-caused rather than worked around, per Captain Bob's "this is worrisome." SWAP-MTX (capsules/doe.4th Block 2104) never actually swapped two RUN-MATRIX cells -- it performed a lossy one-way copy (second MATRIX! call mis-targeted mat[i] again instead of mat[j]). Confirmed by direct empirical test on the hosted build: INIT-MATRIX gives mat[0]=0, mat[5]=5; after 0 5 SWAP-MTX, mat[0]=0 (unchanged, should be 5) and mat[5]=0 (correct), with the original value 5 permanently destroyed. Every Fisher-Yates shuffle this mechanism has ever run silently duplicated some values and dropped others -- not a true permutation. Not new, not introduced by item 4.6/Stadium work; predates this session. Fixed with explicit temp variables (SW-I/SW-J/SW-VI/SW-VJ), trivially verifiable by inspection over clever stack juggling. Verified on the hosted build for all three seeds used by the relaunch campaign: each now produces all 16 cfg values exactly 30 times, run_id 0-479 fully distinct. Three-arch QEMU acceptance clean: 1012/0/0 POST on all three, identical dict_hash (expected -- doe.4th isn't C-registered or auto-loaded at boot). BLOCK_MAP.md correctly shows only doe.4th's own hash changed. Also includes the R analysis/chart pipeline (analyse_stadium_relaunch.R) built for the relaunch campaign report, and the three acceptance boot logs. Retroactive caveat: the relaunch campaign's own run-matrix coverage (experiments/bare_metal/runs/acl-rwt-20260820/) is not a valid uniform permutation, having run against the buggy shuffle. Whether to re-run it against the fix is a separate call, not made here. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
79d160c1ca
commit
7e2fd9f044
+67
@@ -1993,3 +1993,70 @@ number.** `capsules/ACL.4th` is not self-activated in this repo's default `init.
|
|||||||
other boot in this document. Reproducing the original `+0.0054%–+0.0088%` measurement would
|
other boot in this document. Reproducing the original `+0.0054%–+0.0088%` measurement would
|
||||||
need a paired run (ACL enabled vs. disabled) using this now-validated mechanism and tooling —
|
need a paired run (ACL enabled vs. disabled) using this now-validated mechanism and tooling —
|
||||||
scoped but not attempted here.
|
scoped but not attempted here.
|
||||||
|
|
||||||
|
## N. `SWAP-MTX` real correctness bug found and fixed — Fisher-Yates shuffle was never actually shuffling correctly — 2026-08-20
|
||||||
|
|
||||||
|
While building the analysis/report for Section M's campaign, `cfg` (one of 16 L8 factor
|
||||||
|
configs) was found completely absent from `run_id`'s output for 2 of the 3 seeds (12345,
|
||||||
|
13579), present for the third (67890) — reproduced identically across all three architectures
|
||||||
|
for a given seed. Captain Bob: "this is worrisome" — root-caused rather than worked around.
|
||||||
|
|
||||||
|
**Root cause, confirmed by direct trace and empirical test, not just code reading: `SWAP-MTX`
|
||||||
|
(`capsules/doe.4th` Block 2104, feeding `SHUFFLE-MATRIX`'s Fisher-Yates permutation) does not
|
||||||
|
swap — it performs a lossy one-way copy.**
|
||||||
|
|
||||||
|
```forth
|
||||||
|
: SWAP-MTX ( i j -- )
|
||||||
|
OVER MATRIX@ >R
|
||||||
|
OVER MATRIX@ ROT MATRIX! \ writes mat[i] back into mat[i] -- a no-op, NOT mat[j]!
|
||||||
|
R> SWAP MATRIX! ; \ writes old mat[i] into mat[j] -- only half a swap
|
||||||
|
```
|
||||||
|
|
||||||
|
Direct empirical test on the hosted build: `INIT-MATRIX` gives `mat[0]=0, mat[5]=5`. After
|
||||||
|
`0 5 SWAP-MTX`: `mat[0]=0` (unchanged — should have become `5`), `mat[5]=0` (correctly
|
||||||
|
received old `mat[0]`, but the original value `5` is destroyed, never written anywhere). Every
|
||||||
|
"Fisher-Yates shuffle" this mechanism has ever performed silently duplicates some values and
|
||||||
|
permanently destroys others — not a true permutation. This directly explains the `cfg`
|
||||||
|
absence pattern in Section M and calls into question the "Fisher-Yates shuffled" claim for
|
||||||
|
**every** historical `EXEC-DOE`/`DOE` campaign run with this code, including the original
|
||||||
|
ACL-RWT campaign (June 2026) Section M's own methodology was modeled on. Not new, not
|
||||||
|
introduced by item 4.6/Stadium work — this bug predates this session entirely.
|
||||||
|
|
||||||
|
**Fix — explicit temp variables, no clever stack juggling (trivially verifiable by
|
||||||
|
inspection):**
|
||||||
|
|
||||||
|
```forth
|
||||||
|
VARIABLE SW-I VARIABLE SW-J VARIABLE SW-VI VARIABLE SW-VJ
|
||||||
|
: SWAP-MTX ( i j -- )
|
||||||
|
SW-J ! SW-I !
|
||||||
|
SW-I @ MATRIX@ SW-VI !
|
||||||
|
SW-J @ MATRIX@ SW-VJ !
|
||||||
|
SW-VJ @ SW-I @ MATRIX!
|
||||||
|
SW-VI @ SW-J @ MATRIX! ;
|
||||||
|
```
|
||||||
|
|
||||||
|
Block 2104 stayed within both the 1024-byte and 16-content-line block limits (`mkcapsule
|
||||||
|
--lint` clean); one line needed a `VARIABLE`-name shortening (`SWAP-*` → `SW-*`) to fit the
|
||||||
|
64-char/line limit.
|
||||||
|
|
||||||
|
**Verification, hosted build, all three seeds used by Section M's campaign:** `12345 30
|
||||||
|
EXEC-DOE`, `67890 30 EXEC-DOE`, `13579 30 EXEC-DOE` each now produce exactly 480 rows, all 16
|
||||||
|
`cfg` values represented exactly 30 times each, `run_id` 0–479 fully distinct — a genuine
|
||||||
|
uniform permutation for the first time. Confirmed by piping the stripped capsule source
|
||||||
|
directly into the hosted binary (same method as Sections K/L), not by QEMU boot — `doe.4th`
|
||||||
|
is capsule-level FORTH content, outside the C-registered `test_runner`/`WordTestSuite`
|
||||||
|
harness's scope entirely, so this is the correct verification method for this class of fix,
|
||||||
|
not a shortcut around it.
|
||||||
|
|
||||||
|
**Three-arch QEMU acceptance, clean:** amd64/aarch64/riscv64 all booted to `ok>`, identical
|
||||||
|
`1012/0/0` POST totals and identical `dict_hash=0x5935ce53526d2152` on all three (expected —
|
||||||
|
`doe.4th` isn't C-registered and isn't auto-loaded at boot, so base-dictionary content is
|
||||||
|
untouched by this fix). `capsules/BLOCK_MAP.md` correctly shows only `doe.4th`'s own capsule
|
||||||
|
hash changed (`0xb6ecf5374e8ee77c` → `0xf154616d248e861f`); every other capsule's hash
|
||||||
|
unchanged, confirming the fix is isolated to its own file.
|
||||||
|
|
||||||
|
**Retroactive caveat, not re-litigated here:** Section M's campaign (all 9 cells, `experiments/
|
||||||
|
bare_metal/runs/acl-rwt-20260820/`) ran with the buggy shuffle — its per-run-matrix coverage
|
||||||
|
is not a valid uniform permutation, though total row count (480/cell) and the mechanism's
|
||||||
|
completion/error-free behavior are unaffected by this bug and remain valid findings. Whether to
|
||||||
|
re-run Section M's campaign against the fixed shuffle is Captain Bob's call, not made here.
|
||||||
|
|||||||
+10
-10
@@ -1,5 +1,5 @@
|
|||||||
# Capsule Block Manifest — Auto-generated
|
# Capsule Block Manifest — Auto-generated
|
||||||
<!-- Generated by mkcapsule --manifest 2026-08-19T11:54:28Z -->
|
<!-- Generated by mkcapsule --manifest 2026-08-20T14:53:07Z -->
|
||||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||||
<!-- Hand-written justifications and immutability notes live -->
|
<!-- Hand-written justifications and immutability notes live -->
|
||||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
| `artemis:init.4th` | 4110, 4111, 4112, 4113, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4177, 4178, 4179, 4180, 4181, 4182, 4851, 4852 | `0x1859f0148048a2c1` |
|
| `artemis:init.4th` | 4110, 4111, 4112, 4113, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4177, 4178, 4179, 4180, 4181, 4182, 4851, 4852 | `0x1859f0148048a2c1` |
|
||||||
| `common:msg.4th` | 4055 | `0xa99c5bcd3877f80e` |
|
| `common:msg.4th` | 4055 | `0xa99c5bcd3877f80e` |
|
||||||
| `doe-campaign.4th` | 4060, 4061, 4062, 4063, 4064, 4065 | `0x3d4549142d91ec20` |
|
| `doe-campaign.4th` | 4060, 4061, 4062, 4063, 4064, 4065 | `0x3d4549142d91ec20` |
|
||||||
| `doe.4th` | 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107 | `0xb6ecf5374e8ee77c` |
|
| `doe.4th` | 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107 | `0xf154616d248e861f` |
|
||||||
| `fabric.4th` | 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 5000, 5001, 5002 | `0x9b1d061339cea98d` |
|
| `fabric.4th` | 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 5000, 5001, 5002 | `0x9b1d061339cea98d` |
|
||||||
| `font.4th` | 4925, 4926, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985 | `0x720792b4fc758156` |
|
| `font.4th` | 4925, 4926, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985 | `0x720792b4fc758156` |
|
||||||
| `hermes:init.4th` | 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4175, 4176 | `0x85c7b311d1e5bf97` |
|
| `hermes:init.4th` | 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4175, 4176 | `0x85c7b311d1e5bf97` |
|
||||||
@@ -79,14 +79,14 @@
|
|||||||
| 2093 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
| 2093 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
||||||
| 2094 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
| 2094 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
||||||
| 2095 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
| 2095 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok |
|
||||||
| 2100 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2100 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2101 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2101 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2102 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2102 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2103 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2103 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2104 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2104 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2105 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2105 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2106 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2106 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2107 | `doe.4th` | `0xb6ecf5374e8ee77c` | ok |
|
| 2107 | `doe.4th` | `0xf154616d248e861f` | ok |
|
||||||
| 2130 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
| 2130 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
||||||
| 2131 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
| 2131 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
||||||
| 2132 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
| 2132 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok |
|
||||||
|
|||||||
+6
-3
@@ -66,10 +66,13 @@ Block 2104
|
|||||||
CREATE RUN-MATRIX N-RUNS 8 * ALLOT
|
CREATE RUN-MATRIX N-RUNS 8 * ALLOT
|
||||||
: MATRIX! ( val idx -- ) 8 * RUN-MATRIX + ! ;
|
: MATRIX! ( val idx -- ) 8 * RUN-MATRIX + ! ;
|
||||||
: MATRIX@ ( idx -- val ) 8 * RUN-MATRIX + @ ;
|
: MATRIX@ ( idx -- val ) 8 * RUN-MATRIX + @ ;
|
||||||
|
VARIABLE SW-I VARIABLE SW-J VARIABLE SW-VI VARIABLE SW-VJ
|
||||||
: SWAP-MTX ( i j -- )
|
: SWAP-MTX ( i j -- )
|
||||||
OVER MATRIX@ >R
|
SW-J ! SW-I !
|
||||||
OVER MATRIX@ ROT MATRIX!
|
SW-I @ MATRIX@ SW-VI !
|
||||||
R> SWAP MATRIX! ;
|
SW-J @ MATRIX@ SW-VJ !
|
||||||
|
SW-VJ @ SW-I @ MATRIX!
|
||||||
|
SW-VI @ SW-J @ MATRIX! ;
|
||||||
: INIT-MATRIX ( -- )
|
: INIT-MATRIX ( -- )
|
||||||
N-RUNS 0 DO I I MATRIX! LOOP ;
|
N-RUNS 0 DO I I MATRIX! LOOP ;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,229 @@
|
|||||||
|
#!/usr/bin/env Rscript
|
||||||
|
# analyse_stadium_relaunch.R
|
||||||
|
# StarForth LithosAnanke — EXEC-DOE 3x3 Latin square campaign,
|
||||||
|
# re-run on the post-item-4.6 Stadium substrate (2026-08-20).
|
||||||
|
#
|
||||||
|
# Generates figures + tables for stadium_relaunch_report.tex
|
||||||
|
#
|
||||||
|
# Data source: runs/acl-rwt-20260820/{arch}-seed{seed}.csv
|
||||||
|
# 9 cells: {amd64,aarch64,riscv64} x {12345,67890,13579}
|
||||||
|
# 480 rows/cell (16 L8 configs x 30 reps, Fisher-Yates shuffled)
|
||||||
|
#
|
||||||
|
# Scope note: this campaign validates that the EXEC-DOE mechanism runs
|
||||||
|
# cleanly and completely on the Stadium substrate (item 5.1's own concern:
|
||||||
|
# "a green POST suite is not evidence that determinism holds"). It is NOT
|
||||||
|
# an ACL-RWT overhead measurement -- ACL.4th is not self-activated in this
|
||||||
|
# repo's default init.4th, so these cells ran with ACL inactive.
|
||||||
|
|
||||||
|
suppressPackageStartupMessages({
|
||||||
|
library(ggplot2)
|
||||||
|
library(svglite)
|
||||||
|
library(dplyr)
|
||||||
|
library(tidyr)
|
||||||
|
library(scales)
|
||||||
|
library(patchwork)
|
||||||
|
})
|
||||||
|
|
||||||
|
SCRIPT_DIR <- tryCatch(
|
||||||
|
dirname(normalizePath(sys.frames()[[1]]$ofile)),
|
||||||
|
error = function(e) getwd()
|
||||||
|
)
|
||||||
|
BASE_DIR <- normalizePath(file.path(SCRIPT_DIR, ".."))
|
||||||
|
RUNS_DIR <- file.path(BASE_DIR, "runs", "acl-rwt-20260820")
|
||||||
|
OUT_CHARTS <- file.path(SCRIPT_DIR, "charts")
|
||||||
|
OUT_TABLES <- file.path(SCRIPT_DIR, "tables")
|
||||||
|
dir.create(OUT_CHARTS, showWarnings = FALSE, recursive = TRUE)
|
||||||
|
dir.create(OUT_TABLES, showWarnings = FALSE, recursive = TRUE)
|
||||||
|
|
||||||
|
cat("══════════════════════════════════════════════════════════════════\n")
|
||||||
|
cat(" StarForth LithosAnanke — Stadium-substrate EXEC-DOE relaunch\n")
|
||||||
|
cat(" Item 5.1 / F.3 — campaign-mechanism validation, 2026-08-20\n")
|
||||||
|
cat("══════════════════════════════════════════════════════════════════\n\n")
|
||||||
|
|
||||||
|
# ── palette (matches analyse_acl_rwt.R) ───────────────────────────────────────
|
||||||
|
arch_colours <- c(amd64 = "#E07B39",
|
||||||
|
aarch64 = "#4A90D9",
|
||||||
|
riscv64 = "#50C878")
|
||||||
|
|
||||||
|
theme_light_sf <- function(base = 11) {
|
||||||
|
theme_minimal(base_size = base) %+replace% theme(
|
||||||
|
panel.grid.minor = element_blank(),
|
||||||
|
panel.grid.major = element_line(colour = "grey90"),
|
||||||
|
strip.text = element_text(face = "bold"),
|
||||||
|
plot.title = element_text(face = "bold", size = base + 1),
|
||||||
|
plot.subtitle = element_text(colour = "grey40", size = base - 2),
|
||||||
|
legend.position = "bottom",
|
||||||
|
legend.key.size = unit(0.5, "cm")
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
theme_dark_sf <- function(base = 11) {
|
||||||
|
theme_minimal(base_size = base) %+replace% theme(
|
||||||
|
panel.background = element_rect(fill = "#0d0d0d", colour = NA),
|
||||||
|
plot.background = element_rect(fill = "#0d0d0d", colour = NA),
|
||||||
|
panel.grid.major = element_line(colour = "#1e1e1e"),
|
||||||
|
panel.grid.minor = element_blank(),
|
||||||
|
axis.text = element_text(colour = "#aaaaaa"),
|
||||||
|
axis.title = element_text(colour = "#cccccc"),
|
||||||
|
strip.text = element_text(colour = "white", face = "bold"),
|
||||||
|
plot.title = element_text(colour = "white", face = "bold", size = base + 1),
|
||||||
|
plot.subtitle = element_text(colour = "#666666", size = base - 2),
|
||||||
|
legend.text = element_text(colour = "#aaaaaa"),
|
||||||
|
legend.title = element_text(colour = "#cccccc"),
|
||||||
|
legend.background = element_rect(fill = "#0d0d0d", colour = NA),
|
||||||
|
legend.position = "bottom",
|
||||||
|
legend.key.size = unit(0.5, "cm")
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
save_svg <- function(plot, name, w = 12, h = 7) {
|
||||||
|
path <- file.path(OUT_CHARTS, paste0(name, ".svg"))
|
||||||
|
svglite(path, width = w, height = h)
|
||||||
|
print(plot)
|
||||||
|
dev.off()
|
||||||
|
cat(sprintf(" Saved: %s.svg\n", name))
|
||||||
|
invisible(path)
|
||||||
|
}
|
||||||
|
|
||||||
|
# ── load data ──────────────────────────────────────────────────────────────
|
||||||
|
col_names <- c("run_id", "cfg", "rep", "ent_in", "cv_in", "tmp_in", "stb_in",
|
||||||
|
"l8_mode", "win_div", "infer_win", "infer_dec_q", "infer_var_q",
|
||||||
|
"early_exit", "bc_mean_q", "bb_mean_q", "fit_q")
|
||||||
|
|
||||||
|
archs <- c("amd64", "aarch64", "riscv64")
|
||||||
|
seeds <- c("12345", "67890", "13579")
|
||||||
|
|
||||||
|
load_cell <- function(arch, seed) {
|
||||||
|
f <- file.path(RUNS_DIR, sprintf("%s-seed%s.csv", arch, seed))
|
||||||
|
raw <- readLines(f)
|
||||||
|
data_lines <- raw[grepl("^[0-9]", raw)]
|
||||||
|
df <- read.csv(text = paste(data_lines, collapse = "\n"),
|
||||||
|
header = FALSE, col.names = col_names,
|
||||||
|
strip.white = TRUE)
|
||||||
|
df$arch <- arch
|
||||||
|
df$seed <- seed
|
||||||
|
df
|
||||||
|
}
|
||||||
|
|
||||||
|
cat("Loading 9 cells...\n")
|
||||||
|
all_data <- bind_rows(lapply(archs, function(a) {
|
||||||
|
bind_rows(lapply(seeds, function(s) load_cell(a, s)))
|
||||||
|
}))
|
||||||
|
cat(sprintf(" Total rows loaded: %d (expect 4320)\n", nrow(all_data)))
|
||||||
|
|
||||||
|
# ── per-cell completeness table ───────────────────────────────────────────
|
||||||
|
cell_summary <- all_data %>%
|
||||||
|
group_by(arch, seed) %>%
|
||||||
|
summarise(
|
||||||
|
n_rows = n(),
|
||||||
|
n_distinct_run_id = n_distinct(run_id),
|
||||||
|
l8_modes = n_distinct(l8_mode),
|
||||||
|
mean_win_div = mean(win_div),
|
||||||
|
mean_fit_q = mean(fit_q),
|
||||||
|
mean_bc_mean_q = mean(bc_mean_q),
|
||||||
|
mean_bb_mean_q = mean(bb_mean_q),
|
||||||
|
.groups = "drop"
|
||||||
|
)
|
||||||
|
cell_summary$arch <- factor(cell_summary$arch, levels = archs)
|
||||||
|
write.csv(cell_summary, file.path(OUT_TABLES, "stadium_relaunch_cell_summary.csv"),
|
||||||
|
row.names = FALSE)
|
||||||
|
cat("\nCell summary:\n")
|
||||||
|
print(as.data.frame(cell_summary))
|
||||||
|
|
||||||
|
# ── cross-arch / cross-seed invariance tests (Kruskal-Wallis, matches the
|
||||||
|
# original report's own non-parametric methodology for this kind of
|
||||||
|
# campaign-level distributional comparison) ─────────────────────────────
|
||||||
|
kw_arch_fit <- kruskal.test(fit_q ~ arch, data = all_data)
|
||||||
|
kw_arch_win <- kruskal.test(win_div ~ arch, data = all_data)
|
||||||
|
kw_seed_fit <- kruskal.test(fit_q ~ seed, data = all_data)
|
||||||
|
kw_seed_win <- kruskal.test(win_div ~ seed, data = all_data)
|
||||||
|
|
||||||
|
kw_results <- capture.output({
|
||||||
|
cat("Kruskal-Wallis: fit_q ~ arch\n"); print(kw_arch_fit); cat("\n")
|
||||||
|
cat("Kruskal-Wallis: win_div ~ arch\n"); print(kw_arch_win); cat("\n")
|
||||||
|
cat("Kruskal-Wallis: fit_q ~ seed\n"); print(kw_seed_fit); cat("\n")
|
||||||
|
cat("Kruskal-Wallis: win_div ~ seed\n"); print(kw_seed_win); cat("\n")
|
||||||
|
})
|
||||||
|
writeLines(kw_results, file.path(OUT_TABLES, "stadium_relaunch_kw_results.txt"))
|
||||||
|
cat("\n")
|
||||||
|
cat(paste(kw_results, collapse = "\n"))
|
||||||
|
cat("\n\n")
|
||||||
|
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
# FIGURE 1: 3x3 Latin square completeness heatmap (rows captured per cell)
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
cat("[SR-1] Completeness heatmap (light + dark)...\n")
|
||||||
|
|
||||||
|
df_heat <- cell_summary %>% mutate(seed = factor(seed, levels = seeds))
|
||||||
|
|
||||||
|
make_heatmap <- function(dark = FALSE) {
|
||||||
|
thm <- if (dark) theme_dark_sf() else theme_light_sf()
|
||||||
|
txt <- if (dark) "white" else "grey10"
|
||||||
|
ggplot(df_heat, aes(x = seed, y = arch, fill = n_rows)) +
|
||||||
|
geom_tile(colour = if (dark) "#0d0d0d" else "white", linewidth = 1.5) +
|
||||||
|
geom_text(aes(label = sprintf("%d/480", n_rows)), colour = txt,
|
||||||
|
fontface = "bold", size = 4.2) +
|
||||||
|
scale_fill_gradient(low = "#c0392b", high = "#2CA02C", limits = c(0, 480),
|
||||||
|
name = "Rows captured") +
|
||||||
|
labs(
|
||||||
|
title = "EXEC-DOE Campaign Completeness — Stadium Substrate",
|
||||||
|
subtitle = "3x3 Latin square: 3 seeds x 3 ISAs, 30 reps x 16 L8 configs per cell (480 rows/cell)",
|
||||||
|
x = "Seed", y = "Architecture"
|
||||||
|
) +
|
||||||
|
thm
|
||||||
|
}
|
||||||
|
save_svg(make_heatmap(FALSE), "stadium_relaunch_completeness_light", w = 9, h = 6)
|
||||||
|
save_svg(make_heatmap(TRUE), "stadium_relaunch_completeness_dark", w = 9, h = 6)
|
||||||
|
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
# FIGURE 2: fit_q distribution by architecture (all seeds pooled)
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
cat("[SR-2] fit_q distribution by architecture (light + dark)...\n")
|
||||||
|
|
||||||
|
all_data$arch <- factor(all_data$arch, levels = archs)
|
||||||
|
|
||||||
|
make_fit_box <- function(dark = FALSE) {
|
||||||
|
thm <- if (dark) theme_dark_sf() else theme_light_sf()
|
||||||
|
ggplot(all_data, aes(x = arch, y = fit_q, fill = arch)) +
|
||||||
|
geom_boxplot(alpha = 0.85, outlier.size = 0.6, outlier.alpha = 0.4) +
|
||||||
|
scale_fill_manual(values = arch_colours, guide = "none") +
|
||||||
|
scale_x_discrete(labels = c(amd64 = "amd64\n(x86-64)",
|
||||||
|
aarch64 = "aarch64\n(ARMv8-A)",
|
||||||
|
riscv64 = "riscv64\n(RV64GC)")) +
|
||||||
|
labs(
|
||||||
|
title = "Inference-Fit Distribution Across ISAs",
|
||||||
|
subtitle = sprintf(
|
||||||
|
"Kruskal-Wallis fit_q ~ arch: H=%.3f, p=%.4f (all 4,320 rows, 3 seeds pooled per ISA)",
|
||||||
|
kw_arch_fit$statistic, kw_arch_fit$p.value
|
||||||
|
),
|
||||||
|
x = "Instruction-Set Architecture", y = "fit_q (Q16 fixed-point)"
|
||||||
|
) +
|
||||||
|
thm
|
||||||
|
}
|
||||||
|
save_svg(make_fit_box(FALSE), "stadium_relaunch_fitq_box_light", w = 9, h = 6)
|
||||||
|
save_svg(make_fit_box(TRUE), "stadium_relaunch_fitq_box_dark", w = 9, h = 6)
|
||||||
|
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
# FIGURE 3: mean win_div per (arch, seed) cell — grouped bar
|
||||||
|
# ══════════════════════════════════════════════════════════════════════════
|
||||||
|
cat("[SR-3] Mean window-diversity per cell (light + dark)...\n")
|
||||||
|
|
||||||
|
df_bar <- cell_summary %>% mutate(seed = factor(seed, levels = seeds))
|
||||||
|
|
||||||
|
make_windiv_bar <- function(dark = FALSE) {
|
||||||
|
thm <- if (dark) theme_dark_sf() else theme_light_sf()
|
||||||
|
ggplot(df_bar, aes(x = seed, y = mean_win_div, fill = arch)) +
|
||||||
|
geom_col(position = position_dodge(width = 0.75), width = 0.65,
|
||||||
|
colour = NA, alpha = 0.92) +
|
||||||
|
scale_fill_manual(values = arch_colours, name = "ISA") +
|
||||||
|
labs(
|
||||||
|
title = "Mean Window-Diversity per Campaign Cell",
|
||||||
|
subtitle = "9 cells, 480 runs each, Stadium substrate (post item-4.6 quota-grant fix)",
|
||||||
|
x = "Seed", y = "Mean win_div"
|
||||||
|
) +
|
||||||
|
thm
|
||||||
|
}
|
||||||
|
save_svg(make_windiv_bar(FALSE), "stadium_relaunch_windiv_bar_light", w = 9, h = 6)
|
||||||
|
save_svg(make_windiv_bar(TRUE), "stadium_relaunch_windiv_bar_dark", w = 9, h = 6)
|
||||||
|
|
||||||
|
cat("\nDone. Tables in analysis/tables/, charts in analysis/charts/.\n")
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpNjIuNzh8NjQyLjUyfDI0LjI5fDM0Ny43Mw=='>
|
||||||
|
<rect x='62.78' y='24.29' width='579.74' height='323.44' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpNjIuNzh8NjQyLjUyfDI0LjI5fDM0Ny43Mw==)'>
|
||||||
|
<rect x='62.78' y='24.29' width='579.74' height='323.44' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
<polyline points='62.78,287.08 642.52,287.08 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='62.78,186.01 642.52,186.01 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='62.78,84.93 642.52,84.93 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='171.48,347.73 171.48,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='352.65,347.73 352.65,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='533.82,347.73 533.82,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<rect x='80.90' y='135.47' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='443.24' y='135.47' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='262.07' y='135.47' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='80.90' y='236.55' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='443.24' y='236.55' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='262.07' y='236.55' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='80.90' y='34.39' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='443.24' y='34.39' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='262.07' y='34.39' width='181.17' height='101.08' style='stroke-width: 3.20; stroke: #0D0D0D; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<text x='171.48' y='190.12' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='533.82' y='190.12' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='352.65' y='190.12' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='171.48' y='291.19' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='533.82' y='291.19' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='352.65' y='291.19' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='171.48' y='89.04' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='533.82' y='89.04' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='352.65' y='89.04' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='57.85' y='290.87' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='33.66px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='57.85' y='189.79' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='39.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='57.85' y='88.72' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='34.84px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='171.48' y='360.23' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>12345</text>
|
||||||
|
<text x='352.65' y='360.23' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>67890</text>
|
||||||
|
<text x='533.82' y='360.23' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>13579</text>
|
||||||
|
<text x='352.65' y='372.82' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='25.72px' lengthAdjust='spacingAndGlyphs'>Seed</text>
|
||||||
|
<text transform='translate(13.05,186.01) rotate(-90)' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='58.72px' lengthAdjust='spacingAndGlyphs'>Architecture</text>
|
||||||
|
<rect x='272.30' y='386.06' width='160.71' height='40.46' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
<text x='277.78' y='410.07' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='73.41px' lengthAdjust='spacingAndGlyphs'>Rows captured</text>
|
||||||
|
<image width='70.87' height='14.17' x='356.66' y='391.54' preserveAspectRatio='none' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAABCAYAAABkOJMpAAAAfklEQVQ4ja2OURKAIAhEn+fpBN2+k0kfWZMIiE0fzizuW9hy7JtQQABKe4A4WrOP1p61Q3teJsOtZKI7AZ/l3F6zPY5eYbtcpofXX+nlWz9xQsJ794x6J9lpr9ncdqZYNYee0f/yS8eP/piP+C+zYN+z/G42/qqRqbf34itwAsyhkfmCoyqHAAAAAElFTkSuQmCC'/>
|
||||||
|
<polyline points='356.78,402.88 356.78,405.71 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='371.49,402.88 371.49,405.71 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='386.21,402.88 386.21,405.71 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='400.92,402.88 400.92,405.71 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='415.64,402.88 415.64,405.71 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='356.78,394.37 356.78,391.54 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='371.49,394.37 371.49,391.54 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='386.21,394.37 386.21,391.54 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='400.92,394.37 400.92,391.54 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='415.64,394.37 415.64,391.54 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<text x='356.78' y='418.76' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='6.12px' lengthAdjust='spacingAndGlyphs'>0</text>
|
||||||
|
<text x='371.49' y='418.76' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100</text>
|
||||||
|
<text x='386.21' y='418.76' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>200</text>
|
||||||
|
<text x='400.92' y='418.76' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>300</text>
|
||||||
|
<text x='415.64' y='418.76' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>400</text>
|
||||||
|
<text x='352.65' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='329.50px' lengthAdjust='spacingAndGlyphs'>3x3 Latin square: 3 seeds x 3 ISAs, 30 reps x 16 L8 configs per cell (480 rows/cell)</text>
|
||||||
|
<text x='352.65' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='334.00px' lengthAdjust='spacingAndGlyphs'>EXEC-DOE Campaign Completeness — Stadium Substrate</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,92 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #FFFFFF;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpNTQuNzh8NjQyLjUyfDI0LjI5fDM1MS42Ng=='>
|
||||||
|
<rect x='54.78' y='24.29' width='587.74' height='327.38' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpNTQuNzh8NjQyLjUyfDI0LjI5fDM1MS42Ng==)'>
|
||||||
|
<polyline points='54.78,290.28 642.52,290.28 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='54.78,187.97 642.52,187.97 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='54.78,85.67 642.52,85.67 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='164.98,351.66 164.98,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='348.65,351.66 348.65,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='532.32,351.66 532.32,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<rect x='73.15' y='136.82' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='440.49' y='136.82' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='256.82' y='136.82' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='73.15' y='239.13' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='440.49' y='239.13' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='256.82' y='239.13' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='73.15' y='34.52' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='440.49' y='34.52' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<rect x='256.82' y='34.52' width='183.67' height='102.30' style='stroke-width: 3.20; stroke: #FFFFFF; stroke-linecap: butt; stroke-linejoin: miter; fill: #2CA02C;' />
|
||||||
|
<text x='164.98' y='192.08' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='532.32' y='192.08' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='348.65' y='192.08' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='164.98' y='294.39' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='532.32' y='294.39' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='348.65' y='294.39' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='164.98' y='89.78' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='532.32' y='89.78' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
<text x='348.65' y='89.78' text-anchor='middle' style='font-size: 11.95px; font-weight: bold;fill: #1A1A1A; font-family: "Liberation Sans";' textLength='43.16px' lengthAdjust='spacingAndGlyphs'>480/480</text>
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='49.85' y='293.31' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='26.89px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='49.85' y='191.00' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='31.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='49.85' y='88.70' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='27.88px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='164.98' y='362.65' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>12345</text>
|
||||||
|
<text x='348.65' y='362.65' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>67890</text>
|
||||||
|
<text x='532.32' y='362.65' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>13579</text>
|
||||||
|
<text x='348.65' y='374.78' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='25.72px' lengthAdjust='spacingAndGlyphs'>Seed</text>
|
||||||
|
<text transform='translate(13.05,187.97) rotate(-90)' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='58.72px' lengthAdjust='spacingAndGlyphs'>Architecture</text>
|
||||||
|
<text x='273.78' y='411.06' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='73.41px' lengthAdjust='spacingAndGlyphs'>Rows captured</text>
|
||||||
|
<image width='70.87' height='14.17' x='352.66' y='393.50' preserveAspectRatio='none' xlink:href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAABCAYAAABkOJMpAAAAfklEQVQ4ja2OURKAIAhEn+fpBN2+k0kfWZMIiE0fzizuW9hy7JtQQABKe4A4WrOP1p61Q3teJsOtZKI7AZ/l3F6zPY5eYbtcpofXX+nlWz9xQsJ794x6J9lpr9ncdqZYNYee0f/yS8eP/piP+C+zYN+z/G42/qqRqbf34itwAsyhkfmCoyqHAAAAAElFTkSuQmCC'/>
|
||||||
|
<polyline points='352.78,404.84 352.78,407.68 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='367.49,404.84 367.49,407.68 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='382.21,404.84 382.21,407.68 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='396.92,404.84 396.92,407.68 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='411.64,404.84 411.64,407.68 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='352.78,396.34 352.78,393.50 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='367.49,396.34 367.49,393.50 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='382.21,396.34 382.21,393.50 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='396.92,396.34 396.92,393.50 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<polyline points='411.64,396.34 411.64,393.50 ' style='stroke-width: 0.38; stroke: #FFFFFF; stroke-linecap: butt;' />
|
||||||
|
<text x='352.78' y='419.21' text-anchor='middle' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='4.89px' lengthAdjust='spacingAndGlyphs'>0</text>
|
||||||
|
<text x='367.49' y='419.21' text-anchor='middle' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>100</text>
|
||||||
|
<text x='382.21' y='419.21' text-anchor='middle' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>200</text>
|
||||||
|
<text x='396.92' y='419.21' text-anchor='middle' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>300</text>
|
||||||
|
<text x='411.64' y='419.21' text-anchor='middle' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>400</text>
|
||||||
|
<text x='348.65' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='329.50px' lengthAdjust='spacingAndGlyphs'>3x3 Latin square: 3 seeds x 3 ISAs, 30 reps x 16 L8 configs per cell (480 rows/cell)</text>
|
||||||
|
<text x='348.65' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold; font-family: "Liberation Sans";' textLength='334.00px' lengthAdjust='spacingAndGlyphs'>EXEC-DOE Campaign Completeness — Stadium Substrate</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.8 KiB |
@@ -0,0 +1,77 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpNjguOTR8NjQyLjUyfDI0LjI5fDM4Ny4yNw=='>
|
||||||
|
<rect x='68.94' y='24.29' width='573.58' height='362.98' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpNjguOTR8NjQyLjUyfDI0LjI5fDM4Ny4yNw==)'>
|
||||||
|
<rect x='68.94' y='24.29' width='573.58' height='362.98' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
<polyline points='68.94,387.27 642.52,387.27 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='68.94,296.52 642.52,296.52 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='68.94,205.78 642.52,205.78 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='68.94,115.03 642.52,115.03 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='68.94,24.29 642.52,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='176.48,387.27 176.48,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='355.73,387.27 355.73,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='534.97,387.27 534.97,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<line x1='176.48' y1='205.78' x2='176.48' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='176.48' y1='205.78' x2='176.48' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='109.27,205.78 109.27,205.78 243.70,205.78 243.70,205.78 109.27,205.78 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.85;' />
|
||||||
|
<line x1='109.27' y1='205.78' x2='243.70' y2='205.78' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
<line x1='355.73' y1='205.78' x2='355.73' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='355.73' y1='205.78' x2='355.73' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='288.51,205.78 288.51,205.78 422.95,205.78 422.95,205.78 288.51,205.78 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.85;' />
|
||||||
|
<line x1='288.51' y1='205.78' x2='422.95' y2='205.78' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
<line x1='534.97' y1='205.78' x2='534.97' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='534.97' y1='205.78' x2='534.97' y2='205.78' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='467.76,205.78 467.76,205.78 602.19,205.78 602.19,205.78 467.76,205.78 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.85;' />
|
||||||
|
<line x1='467.76' y1='205.78' x2='602.19' y2='205.78' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='64.01' y='391.05' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='45.94px' lengthAdjust='spacingAndGlyphs'>52428.95</text>
|
||||||
|
<text x='64.01' y='300.31' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='45.94px' lengthAdjust='spacingAndGlyphs'>52428.98</text>
|
||||||
|
<text x='64.01' y='209.56' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='45.94px' lengthAdjust='spacingAndGlyphs'>52429.00</text>
|
||||||
|
<text x='64.01' y='118.82' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='45.94px' lengthAdjust='spacingAndGlyphs'>52429.03</text>
|
||||||
|
<text x='64.01' y='28.07' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='45.94px' lengthAdjust='spacingAndGlyphs'>52429.05</text>
|
||||||
|
<text x='176.48' y='399.77' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='33.66px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='176.48' y='411.65' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='40.97px' lengthAdjust='spacingAndGlyphs'>(x86-64)</text>
|
||||||
|
<text x='355.73' y='399.77' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='39.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='355.73' y='411.65' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='54.38px' lengthAdjust='spacingAndGlyphs'>(ARMv8-A)</text>
|
||||||
|
<text x='534.97' y='399.77' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='34.84px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='534.97' y='411.65' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='51.14px' lengthAdjust='spacingAndGlyphs'>(RV64GC)</text>
|
||||||
|
<text x='355.73' y='424.24' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='132.14px' lengthAdjust='spacingAndGlyphs'>Instruction-Set Architecture</text>
|
||||||
|
<text transform='translate(13.05,205.78) rotate(-90)' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='105.84px' lengthAdjust='spacingAndGlyphs'>fit_q (Q16 fixed-point)</text>
|
||||||
|
<text x='355.73' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='334.42px' lengthAdjust='spacingAndGlyphs'>Kruskal-Wallis fit_q ~ arch: H=NaN, p=NaN (all 4,320 rows, 3 seeds pooled per ISA)</text>
|
||||||
|
<text x='355.73' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='216.22px' lengthAdjust='spacingAndGlyphs'>Inference-Fit Distribution Across ISAs</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.1 KiB |
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #FFFFFF;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpNTkuNjd8NjQyLjUyfDI0LjI5fDM5MS42MQ=='>
|
||||||
|
<rect x='59.67' y='24.29' width='582.85' height='367.33' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpNTkuNjd8NjQyLjUyfDI0LjI5fDM5MS42MQ==)'>
|
||||||
|
<polyline points='59.67,391.61 642.52,391.61 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='59.67,299.78 642.52,299.78 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='59.67,207.95 642.52,207.95 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='59.67,116.12 642.52,116.12 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='59.67,24.29 642.52,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='168.96,391.61 168.96,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='351.10,391.61 351.10,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='533.24,391.61 533.24,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<line x1='168.96' y1='207.95' x2='168.96' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='168.96' y1='207.95' x2='168.96' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='100.65,207.95 100.65,207.95 237.26,207.95 237.26,207.95 100.65,207.95 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.85;' />
|
||||||
|
<line x1='100.65' y1='207.95' x2='237.26' y2='207.95' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
<line x1='351.10' y1='207.95' x2='351.10' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='351.10' y1='207.95' x2='351.10' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='282.79,207.95 282.79,207.95 419.40,207.95 419.40,207.95 282.79,207.95 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.85;' />
|
||||||
|
<line x1='282.79' y1='207.95' x2='419.40' y2='207.95' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
<line x1='533.24' y1='207.95' x2='533.24' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<line x1='533.24' y1='207.95' x2='533.24' y2='207.95' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt;' />
|
||||||
|
<polygon points='464.93,207.95 464.93,207.95 601.54,207.95 601.54,207.95 464.93,207.95 ' style='stroke-width: 1.07; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.85;' />
|
||||||
|
<line x1='464.93' y1='207.95' x2='601.54' y2='207.95' style='stroke-width: 2.13; stroke: #333333; stroke-linecap: butt; stroke-linejoin: miter;' />
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='54.74' y='394.64' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='36.67px' lengthAdjust='spacingAndGlyphs'>52428.95</text>
|
||||||
|
<text x='54.74' y='302.81' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='36.67px' lengthAdjust='spacingAndGlyphs'>52428.98</text>
|
||||||
|
<text x='54.74' y='210.98' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='36.67px' lengthAdjust='spacingAndGlyphs'>52429.00</text>
|
||||||
|
<text x='54.74' y='119.14' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='36.67px' lengthAdjust='spacingAndGlyphs'>52429.03</text>
|
||||||
|
<text x='54.74' y='27.31' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='36.67px' lengthAdjust='spacingAndGlyphs'>52429.05</text>
|
||||||
|
<text x='168.96' y='402.60' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='26.89px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='168.96' y='412.10' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='32.73px' lengthAdjust='spacingAndGlyphs'>(x86-64)</text>
|
||||||
|
<text x='351.10' y='402.60' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='31.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='351.10' y='412.10' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='43.50px' lengthAdjust='spacingAndGlyphs'>(ARMv8-A)</text>
|
||||||
|
<text x='533.24' y='402.60' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='27.88px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='533.24' y='412.10' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='40.91px' lengthAdjust='spacingAndGlyphs'>(RV64GC)</text>
|
||||||
|
<text x='351.10' y='424.24' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='132.14px' lengthAdjust='spacingAndGlyphs'>Instruction-Set Architecture</text>
|
||||||
|
<text transform='translate(13.05,207.95) rotate(-90)' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='105.84px' lengthAdjust='spacingAndGlyphs'>fit_q (Q16 fixed-point)</text>
|
||||||
|
<text x='351.10' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='334.42px' lengthAdjust='spacingAndGlyphs'>Kruskal-Wallis fit_q ~ arch: H=NaN, p=NaN (all 4,320 rows, 3 seeds pooled per ISA)</text>
|
||||||
|
<text x='351.10' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold; font-family: "Liberation Sans";' textLength='216.22px' lengthAdjust='spacingAndGlyphs'>Inference-Fit Distribution Across ISAs</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,81 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpNDEuMzh8NjQyLjUyfDI0LjI5fDM2My4wNg=='>
|
||||||
|
<rect x='41.38' y='24.29' width='601.15' height='338.77' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpNDEuMzh8NjQyLjUyfDI0LjI5fDM2My4wNg==)'>
|
||||||
|
<rect x='41.38' y='24.29' width='601.15' height='338.77' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
<polyline points='41.38,347.66 642.52,347.66 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='41.38,285.06 642.52,285.06 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='41.38,222.47 642.52,222.47 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='41.38,159.87 642.52,159.87 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='41.38,97.27 642.52,97.27 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='41.38,34.68 642.52,34.68 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='154.09,363.06 154.09,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='341.95,363.06 341.95,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<polyline points='529.81,363.06 529.81,24.29 ' style='stroke-width: 1.07; stroke: #1E1E1E; stroke-linecap: butt;' />
|
||||||
|
<rect x='133.74' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='509.45' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='321.60' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='86.77' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='462.49' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='274.63' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='180.70' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<rect x='556.42' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<rect x='368.56' y='39.68' width='40.70' height='307.98' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='36.44' y='351.44' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='6.12px' lengthAdjust='spacingAndGlyphs'>0</text>
|
||||||
|
<text x='36.44' y='288.85' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='12.25px' lengthAdjust='spacingAndGlyphs'>50</text>
|
||||||
|
<text x='36.44' y='226.25' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>100</text>
|
||||||
|
<text x='36.44' y='163.65' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>150</text>
|
||||||
|
<text x='36.44' y='101.06' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>200</text>
|
||||||
|
<text x='36.44' y='38.46' text-anchor='end' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='18.38px' lengthAdjust='spacingAndGlyphs'>250</text>
|
||||||
|
<text x='154.09' y='375.56' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>12345</text>
|
||||||
|
<text x='341.95' y='375.56' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>67890</text>
|
||||||
|
<text x='529.81' y='375.56' text-anchor='middle' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='30.62px' lengthAdjust='spacingAndGlyphs'>13579</text>
|
||||||
|
<text x='341.95' y='388.15' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='25.72px' lengthAdjust='spacingAndGlyphs'>Seed</text>
|
||||||
|
<text transform='translate(13.05,193.67) rotate(-90)' text-anchor='middle' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='67.28px' lengthAdjust='spacingAndGlyphs'>Mean win_div</text>
|
||||||
|
<rect x='235.75' y='401.39' width='212.39' height='25.13' style='stroke-width: 1.07; stroke: none; fill: #0D0D0D;' />
|
||||||
|
<text x='241.23' y='417.74' style='font-size: 11.00px;fill: #CCCCCC; font-family: "Liberation Sans";' textLength='17.75px' lengthAdjust='spacingAndGlyphs'>ISA</text>
|
||||||
|
<rect x='265.17' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='323.96' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='388.87' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<text x='284.12' y='417.74' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='33.66px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='342.90' y='417.74' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='39.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='407.82' y='417.74' style='font-size: 11.00px;fill: #AAAAAA; font-family: "Liberation Sans";' textLength='34.84px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='341.95' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='285.50px' lengthAdjust='spacingAndGlyphs'>9 cells, 480 runs each, Stadium substrate (post item-4.6 quota-grant fix)</text>
|
||||||
|
<text x='341.95' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold;fill: #FFFFFF; font-family: "Liberation Sans";' textLength='243.20px' lengthAdjust='spacingAndGlyphs'>Mean Window-Diversity per Campaign Cell</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.9 KiB |
@@ -0,0 +1,79 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' ?>
|
||||||
|
<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='648.00pt' height='432.00pt' viewBox='0 0 648.00 432.00'>
|
||||||
|
<g class='svglite'>
|
||||||
|
<defs>
|
||||||
|
<style type='text/css'><![CDATA[
|
||||||
|
.svglite line, .svglite polyline, .svglite polygon, .svglite path, .svglite rect, .svglite circle {
|
||||||
|
fill: none;
|
||||||
|
stroke: #000000;
|
||||||
|
stroke-linecap: round;
|
||||||
|
stroke-linejoin: round;
|
||||||
|
stroke-miterlimit: 10.00;
|
||||||
|
}
|
||||||
|
.svglite text {
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
.svglite g.glyphgroup path {
|
||||||
|
fill: inherit;
|
||||||
|
stroke: none;
|
||||||
|
}
|
||||||
|
]]></style>
|
||||||
|
</defs>
|
||||||
|
<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA='>
|
||||||
|
<rect x='0.00' y='0.00' width='648.00' height='432.00' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<rect x='0.00' y='0.000000000000057' width='648.00' height='432.00' style='stroke-width: 1.07; stroke: none; fill: #FFFFFF;' />
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id='cpMzcuNjd8NjQyLjUyfDI0LjI5fDM2NS4wMg=='>
|
||||||
|
<rect x='37.67' y='24.29' width='604.85' height='340.74' />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path='url(#cpMzcuNjd8NjQyLjUyfDI0LjI5fDM2NS4wMg==)'>
|
||||||
|
<polyline points='37.67,349.54 642.52,349.54 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='37.67,286.58 642.52,286.58 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='37.67,223.62 642.52,223.62 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='37.67,160.66 642.52,160.66 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='37.67,97.70 642.52,97.70 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='37.67,34.74 642.52,34.74 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='151.08,365.02 151.08,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='340.10,365.02 340.10,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<polyline points='529.11,365.02 529.11,24.29 ' style='stroke-width: 1.07; stroke: #E5E5E5; stroke-linecap: butt;' />
|
||||||
|
<rect x='130.60' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='508.63' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='319.62' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='83.35' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='461.38' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='272.37' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='177.86' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<rect x='555.89' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<rect x='366.87' y='39.77' width='40.95' height='309.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
</g>
|
||||||
|
<g clip-path='url(#cpMC4wMHw2NDguMDB8MC4wMHw0MzIuMDA=)'>
|
||||||
|
<text x='32.74' y='352.56' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='4.89px' lengthAdjust='spacingAndGlyphs'>0</text>
|
||||||
|
<text x='32.74' y='289.60' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='9.78px' lengthAdjust='spacingAndGlyphs'>50</text>
|
||||||
|
<text x='32.74' y='226.64' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>100</text>
|
||||||
|
<text x='32.74' y='163.68' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>150</text>
|
||||||
|
<text x='32.74' y='100.72' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>200</text>
|
||||||
|
<text x='32.74' y='37.76' text-anchor='end' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='14.67px' lengthAdjust='spacingAndGlyphs'>250</text>
|
||||||
|
<text x='151.08' y='376.01' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>12345</text>
|
||||||
|
<text x='340.10' y='376.01' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>67890</text>
|
||||||
|
<text x='529.11' y='376.01' text-anchor='middle' style='font-size: 8.80px;fill: #4D4D4D; font-family: "Liberation Sans";' textLength='24.45px' lengthAdjust='spacingAndGlyphs'>13579</text>
|
||||||
|
<text x='340.10' y='388.15' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='25.72px' lengthAdjust='spacingAndGlyphs'>Seed</text>
|
||||||
|
<text transform='translate(13.05,194.66) rotate(-90)' text-anchor='middle' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='67.28px' lengthAdjust='spacingAndGlyphs'>Mean win_div</text>
|
||||||
|
<text x='250.25' y='417.74' style='font-size: 11.00px; font-family: "Liberation Sans";' textLength='17.75px' lengthAdjust='spacingAndGlyphs'>ISA</text>
|
||||||
|
<rect x='274.19' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #E07B39; fill-opacity: 0.92;' />
|
||||||
|
<rect x='326.21' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #4A90D9; fill-opacity: 0.92;' />
|
||||||
|
<rect x='383.12' y='407.58' width='12.76' height='12.76' style='stroke-width: 1.07; stroke: none; stroke-linecap: butt; stroke-linejoin: miter; fill: #50C878; fill-opacity: 0.92;' />
|
||||||
|
<text x='293.13' y='416.98' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='26.89px' lengthAdjust='spacingAndGlyphs'>amd64</text>
|
||||||
|
<text x='345.15' y='416.98' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='31.78px' lengthAdjust='spacingAndGlyphs'>aarch64</text>
|
||||||
|
<text x='402.07' y='416.98' style='font-size: 8.80px; font-family: "Liberation Sans";' textLength='27.88px' lengthAdjust='spacingAndGlyphs'>riscv64</text>
|
||||||
|
<text x='340.10' y='23.35' text-anchor='middle' style='font-size: 9.00px;fill: #666666; font-family: "Liberation Sans";' textLength='285.50px' lengthAdjust='spacingAndGlyphs'>9 cells, 480 runs each, Stadium substrate (post item-4.6 quota-grant fix)</text>
|
||||||
|
<text x='340.10' y='14.98' text-anchor='middle' style='font-size: 12.00px; font-weight: bold; font-family: "Liberation Sans";' textLength='243.20px' lengthAdjust='spacingAndGlyphs'>Mean Window-Diversity per Campaign Cell</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.5 KiB |
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
|
|||||||
|
"arch","seed","n_rows","n_distinct_run_id","l8_modes","mean_win_div","mean_fit_q","mean_bc_mean_q","mean_bb_mean_q"
|
||||||
|
"aarch64","12345",480,480,1,246,52429,0,0
|
||||||
|
"aarch64","13579",480,480,1,246,52429,0,0
|
||||||
|
"aarch64","67890",480,480,1,246,52429,0,0
|
||||||
|
"amd64","12345",480,480,1,246,52429,0,0
|
||||||
|
"amd64","13579",480,480,1,246,52429,0,0
|
||||||
|
"amd64","67890",480,480,1,246,52429,0,0
|
||||||
|
"riscv64","12345",480,480,1,246,52429,0,0
|
||||||
|
"riscv64","13579",480,480,1,246,52429,0,0
|
||||||
|
"riscv64","67890",480,480,1,246,52429,0,0
|
||||||
|
@@ -0,0 +1,32 @@
|
|||||||
|
Kruskal-Wallis: fit_q ~ arch
|
||||||
|
|
||||||
|
Kruskal-Wallis rank sum test
|
||||||
|
|
||||||
|
data: fit_q by arch
|
||||||
|
Kruskal-Wallis chi-squared = NaN, df = 2, p-value = NA
|
||||||
|
|
||||||
|
|
||||||
|
Kruskal-Wallis: win_div ~ arch
|
||||||
|
|
||||||
|
Kruskal-Wallis rank sum test
|
||||||
|
|
||||||
|
data: win_div by arch
|
||||||
|
Kruskal-Wallis chi-squared = NaN, df = 2, p-value = NA
|
||||||
|
|
||||||
|
|
||||||
|
Kruskal-Wallis: fit_q ~ seed
|
||||||
|
|
||||||
|
Kruskal-Wallis rank sum test
|
||||||
|
|
||||||
|
data: fit_q by seed
|
||||||
|
Kruskal-Wallis chi-squared = NaN, df = 2, p-value = NA
|
||||||
|
|
||||||
|
|
||||||
|
Kruskal-Wallis: win_div ~ seed
|
||||||
|
|
||||||
|
Kruskal-Wallis rank sum test
|
||||||
|
|
||||||
|
data: win_div by seed
|
||||||
|
Kruskal-Wallis chi-squared = NaN, df = 2, p-value = NA
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user