Fix runmem threshold unit bug; re-run all memory tiers enforced (native, v1, v2, v2 forced); add native data and forced-vs-designed explanation
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- README.md +59 -46
- flint-epq.patch +4 -3
- results/logs/common/mem_enforced_2g_arena128_summary.txt +9 -0
- results/logs/common/mem_enforced_summary.txt +60 -0
- results/logs/native/mem_enforced_native_16g_run1.log +1 -0
- results/logs/native/mem_enforced_native_16g_run2.log +1 -0
- results/logs/native/mem_enforced_native_16g_run3.log +1 -0
- results/logs/native/mem_enforced_native_2g_run1.log +1 -0
- results/logs/native/mem_enforced_native_2g_run2.log +1 -0
- results/logs/native/mem_enforced_native_2g_run3.log +1 -0
- results/logs/native/mem_enforced_native_32g_run1.log +37 -0
- results/logs/native/mem_enforced_native_32g_run2.log +37 -0
- results/logs/native/mem_enforced_native_32g_run3.log +37 -0
- results/logs/native/mem_enforced_native_4g_run1.log +1 -0
- results/logs/native/mem_enforced_native_4g_run2.log +1 -0
- results/logs/native/mem_enforced_native_4g_run3.log +1 -0
- results/logs/native/mem_enforced_native_8g_run1.log +1 -0
- results/logs/native/mem_enforced_native_8g_run2.log +1 -0
- results/logs/native/mem_enforced_native_8g_run3.log +1 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run3.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run1.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run2.log +0 -0
- results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run3.log +0 -0
- results/logs/{common → superseded_runmem_threshold_bug}/mem_summary.txt +0 -0
README.md
CHANGED
|
@@ -14,12 +14,13 @@ tags:
|
|
| 14 |
|
| 15 |
CPU expert paging for the Unsloth `flint-UD-Q4_K_XL.gguf` checkpoint. Routed gate/up/down expert weights stay on disk and are copied into a bounded RAM arena as needed. Flint's router, selected-expert weights, shared expert, attention and dense layers remain on the upstream llama.cpp graph.
|
| 16 |
|
| 17 |
-
|
| 18 |
|
|
|
|
| 19 |
- **v1**: expert paging with the per-expert custom op ("mode C"). `SDQ_PRELOAD=0 SDQ_ROW_PARALLEL=0`.
|
| 20 |
-
- **v2**: v1 plus preload of all experts into the arena and row-parallel decode for gated (gate/up/down) experts. `SDQ_PRELOAD=1 SDQ_ROW_PARALLEL=1`, arena ≥ 28.6 GiB.
|
| 21 |
-
|
| 22 |
-
|
| 23 |
|
| 24 |
## Source model
|
| 25 |
|
|
@@ -35,17 +36,17 @@ System information recorded on 2026-10-23:
|
|
| 35 |
|---|---|
|
| 36 |
| CPU | Intel Xeon Platinum 8559C, 2 sockets × 48 cores, SMT enabled (192 host logical CPUs) |
|
| 37 |
| CPU features | AVX2, AVX-512, VNNI, BF16; AMX available on host but disabled for this build |
|
| 38 |
-
| Container CPU quota | 16 CPUs (`cpu.max` = 1,600,000 / 100,000)
|
| 39 |
| Host memory | 2.0 TiB reported by `free` |
|
| 40 |
| Container memory limit | 104,000,000,000 bytes (about 96.9 GiB), cgroup v2 |
|
| 41 |
| Container swap limit | 2,936,848,384 bytes (about 2.74 GiB); measured test processes used 0 swap |
|
| 42 |
| GPU | No GPU used; CPU-only build and inference |
|
| 43 |
| OS / kernel | Amazon Linux 2023 x86_64, Linux 6.18.48 |
|
| 44 |
-
| llama.cpp | `970b51ce7c9ba5fff0726c5e9994f1c2f0e4eedc` (`970b51c`) + `flint-epq.patch` (sha256 `
|
| 45 |
|
| 46 |
## Build
|
| 47 |
|
| 48 |
-
Start from llama.cpp commit `970b51ce7c9ba5fff0726c5e9994f1c2f0e4eedc`, apply `flint-epq.patch`, then build CPU tools.
|
| 49 |
|
| 50 |
```bash
|
| 51 |
git clone https://github.com/ggml-org/llama.cpp
|
|
@@ -77,7 +78,7 @@ SDQ_PAGER=1 SDQ_PREFETCH=0 SDQ_ARENA_MB=29400 SDQ_PRELOAD=1 SDQ_ROW_PARALLEL=1 \
|
|
| 77 |
-p 'Explain in one sentence why the sky is blue.' -n 32 -t 16 --temp 0 --single-turn --simple-io
|
| 78 |
```
|
| 79 |
|
| 80 |
-
`SDQ_PAGER=0` selects the native llama.cpp MoE path. `SDQ_ARENA_MB` sets the expert cache size. `SDQ_STATS_FILE=/path/to/stats.jsonl` writes JSON statistics.
|
| 81 |
|
| 82 |
## Numerical validation
|
| 83 |
|
|
@@ -93,60 +94,72 @@ Reference: native llama.cpp (`SDQ_PAGER=0`) on the same binary. Text: the first
|
|
| 93 |
| Decode KL vs native (`-ub 1`, 16 threads, 2 chunks) | — | 0.044057; top-1 92.5 % | 0.044057; top-1 92.5 % |
|
| 94 |
| **Control:** native `-ub 64` vs native `-ub 1` (only float order changes) | — | — | mean KLD 0.034464; top-1 90.2 % |
|
| 95 |
| Decode v2 vs v1 (`-ub 1`, 16 threads) | — | — | KLD 1e-6 (max 3.8e-5); top-1 100 % |
|
|
|
|
| 96 |
| Layer-wise MoE output, layers 2–6, EPQ vs native (same input) | — | max relative diff ≤ 1.6e-5 | — |
|
| 97 |
|
| 98 |
Findings:
|
| 99 |
|
| 100 |
- **v2 row-parallel is numerically equivalent to v1** in decode (KL 1e-6, top-1 100 %) and identical to v1 in prefill (prefill does not use row-parallel). It is not bit-identical.
|
| 101 |
-
- **EPQ is not bit-identical to native.** Float summation order differs, and 8-bit activation quantization amplifies the difference through the layers. The native `-ub 1` vs `-ub 64` control gives a KL divergence of the same magnitude (0.034 vs 0.044).
|
| 102 |
-
- **Greedy text identity is fragile.** At 8 threads the 24-token output matches native exactly; at 16 threads it diverges after 12 characters, for v1 and v2 alike.
|
| 103 |
|
| 104 |
-
## Memory benchmark
|
| 105 |
|
| 106 |
-
`bench.sh <GiB> <pager 0|1>` runs a fixed prompt and samples process-tree RSS every 20 ms. If sampled RSS exceeds the
|
| 107 |
|
| 108 |
-
|
| 109 |
|
| 110 |
-
|
| 111 |
-
- **v2 as designed**: `SDQ_PRELOAD=1 SDQ_ROW_PARALLEL=1`
|
| 112 |
-
- **v2 forced (ablation)**: as v2, plus `SDQ_ROWPAR_MAX_MISS=100000`, which lets row-parallel run even when some needed experts are not resident
|
| 113 |
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
|
| 119 |
-
|
|
|
|
|
|
|
|
|
|
| 120 |
|
| 121 |
-
|
| 122 |
-
|---:|---|---:|---:|---:|---:|---:|
|
| 123 |
-
| 2 GiB | v1 | 256 MiB (105) | 2.014 GiB | 6.9 t/s | 3.9 t/s | 0 / 516 |
|
| 124 |
-
| 2 GiB | v2 as designed | 256 MiB (105) | 2.014 GiB | 6.9 t/s | 3.9 t/s | 0 / 516 |
|
| 125 |
-
| 2 GiB | v2 forced | 256 MiB (105) | 2.009 GiB | 6.9 t/s | 3.9 t/s | 425 / 91 |
|
| 126 |
-
| 4 GiB | v1 | 1 GiB (420) | 2.765 GiB | 7.1 t/s | 4.4 t/s | 0 / 516 |
|
| 127 |
-
| 4 GiB | v2 as designed | 1 GiB (420) | 2.765 GiB | 7.1 t/s | 4.6 t/s | 0 / 516 |
|
| 128 |
-
| 4 GiB | v2 forced | 1 GiB (420) | 2.759 GiB | 7.2 t/s | 4.8 t/s | 425 / 91 |
|
| 129 |
-
| 8 GiB | v1 | 3 GiB (1,260) | 4.766 GiB | 9.4 t/s | 4.4 t/s | 0 / 516 |
|
| 130 |
-
| 8 GiB | v2 as designed | 3 GiB (1,260) | 4.766 GiB | 9.6 t/s | 4.7 t/s | 0 / 516 |
|
| 131 |
-
| 8 GiB | v2 forced | 3 GiB (1,260) | 4.759 GiB | 9.6 t/s | 5.0 t/s | 425 / 91 |
|
| 132 |
-
| 16 GiB | v1 | 10 GiB (4,201) | 11.767 GiB | 12.5 t/s | 5.2 t/s | 0 / 516 |
|
| 133 |
-
| 16 GiB | v2 as designed | 10 GiB (4,201) | 11.767 GiB | 13.0 t/s | 5.3 t/s | 12 / 504 |
|
| 134 |
-
| 16 GiB | v2 forced | 10 GiB (4,201) | 11.760 GiB | 12.6 t/s | 5.3 t/s | 425 / 91 |
|
| 135 |
-
| 32 GiB | v1 | 18 GiB (7,561 of 12,032) | 19.766 GiB | 12.0 t/s | 5.2 t/s | 0 / 516 |
|
| 136 |
-
| 32 GiB | v2 as designed | 28.7 GiB (12,061, all experts) | 30.473 GiB | 35.0 t/s | 14.2 t/s | 425 / 91 |
|
| 137 |
-
| 32 GiB | v2 forced | 18 GiB (7,561 of 12,032) | 19.759 GiB | 11.1 t/s | 5.8 t/s | 425 / 91 |
|
| 138 |
|
| 139 |
-
|
| 140 |
|
| 141 |
-
- **
|
| 142 |
-
- **
|
| 143 |
-
- **Forced row-parallel (ablation):** generation rises about 9–14 % at 4, 8 and 32 GiB (4.8, 5.0, 5.8 t/s vs 4.4, 4.4, 5.2). These gains are at the edge of the run-to-run noise and need more runs before they are claimed. Output is numerically unchanged: decode-mode KL at a 1 GiB forced arena is 0.044057, identical at reported precision to v1 with a full arena (see `results/logs/v2/kl_decode_ub1_t16_forced_rowpar_1g_vs_native.log`).
|
| 144 |
|
| 145 |
-
|
| 146 |
|
| 147 |
-
## Throughput (
|
| 148 |
|
| 149 |
-
Separate workload from the memory tiers: context 512, batch 128, ubatch 32, 32 generated tokens, 16 threads, 3 runs each (median).
|
| 150 |
|
| 151 |
| Configuration | Prompt | Generation | Peak RSS | Logs |
|
| 152 |
|---|---:|---:|---:|---|
|
|
@@ -155,7 +168,7 @@ Separate workload from the memory tiers: context 512, batch 128, ubatch 32, 32 g
|
|
| 155 |
| v1, arena 28.7 GiB, no preload | 12.3 t/s | 5.5 t/s | 30.51 GiB | `results/logs/v1/perf_c512_v1_arena28g_*` |
|
| 156 |
| **v2**, arena 28.7 GiB, preload + row-parallel | **32.4 t/s** | **16.2 t/s** | 30.50 GiB | `results/logs/v2/perf_c512_v2_arena28g_*` |
|
| 157 |
|
| 158 |
-
v2 generates about 2.9× faster than v1 and about 75 % of native generation speed. The prompt phase is also faster in v2
|
| 159 |
|
| 160 |
## Version coverage
|
| 161 |
|
|
|
|
| 14 |
|
| 15 |
CPU expert paging for the Unsloth `flint-UD-Q4_K_XL.gguf` checkpoint. Routed gate/up/down expert weights stay on disk and are copied into a bounded RAM arena as needed. Flint's router, selected-expert weights, shared expert, attention and dense layers remain on the upstream llama.cpp graph.
|
| 16 |
|
| 17 |
+
Three configurations are measured throughout:
|
| 18 |
|
| 19 |
+
- **native**: unmodified llama.cpp MoE path (`SDQ_PAGER=0`), the reference.
|
| 20 |
- **v1**: expert paging with the per-expert custom op ("mode C"). `SDQ_PRELOAD=0 SDQ_ROW_PARALLEL=0`.
|
| 21 |
+
- **v2**: v1 plus preload of all experts into the arena and row-parallel decode for gated (gate/up/down) experts. `SDQ_PRELOAD=1 SDQ_ROW_PARALLEL=1`, arena ≥ 28.6 GiB. Two sub-variants:
|
| 22 |
+
- **v2 as designed**: row-parallel runs only when every needed expert is resident (default guard).
|
| 23 |
+
- **v2 forced**: `SDQ_ROWPAR_MAX_MISS=100000`, row-parallel runs even when some needed experts are missing (ablation; see below).
|
| 24 |
|
| 25 |
## Source model
|
| 26 |
|
|
|
|
| 36 |
|---|---|
|
| 37 |
| CPU | Intel Xeon Platinum 8559C, 2 sockets × 48 cores, SMT enabled (192 host logical CPUs) |
|
| 38 |
| CPU features | AVX2, AVX-512, VNNI, BF16; AMX available on host but disabled for this build |
|
| 39 |
+
| Container CPU quota | 16 CPUs (`cpu.max` = 1,600,000 / 100,000). All memory and throughput runs used 16 threads |
|
| 40 |
| Host memory | 2.0 TiB reported by `free` |
|
| 41 |
| Container memory limit | 104,000,000,000 bytes (about 96.9 GiB), cgroup v2 |
|
| 42 |
| Container swap limit | 2,936,848,384 bytes (about 2.74 GiB); measured test processes used 0 swap |
|
| 43 |
| GPU | No GPU used; CPU-only build and inference |
|
| 44 |
| OS / kernel | Amazon Linux 2023 x86_64, Linux 6.18.48 |
|
| 45 |
+
| llama.cpp | `970b51ce7c9ba5fff0726c5e9994f1c2f0e4eedc` (`970b51c`) + `flint-epq.patch` (sha256 `b8a4e77af3743bd35bd4c14258c70c12031e60ba264f95ab93593519ea0ab08c`) |
|
| 46 |
|
| 47 |
## Build
|
| 48 |
|
| 49 |
+
Start from llama.cpp commit `970b51ce7c9ba5fff0726c5e9994f1c2f0e4eedc`, apply `flint-epq.patch`, then build CPU tools. The patch was verified on a fresh checkout.
|
| 50 |
|
| 51 |
```bash
|
| 52 |
git clone https://github.com/ggml-org/llama.cpp
|
|
|
|
| 78 |
-p 'Explain in one sentence why the sky is blue.' -n 32 -t 16 --temp 0 --single-turn --simple-io
|
| 79 |
```
|
| 80 |
|
| 81 |
+
`SDQ_PAGER=0` selects the native llama.cpp MoE path. `SDQ_ARENA_MB` sets the expert cache size. `SDQ_STATS_FILE=/path/to/stats.jsonl` writes JSON statistics. At exit the program prints `MoE op 路徑計數:row-parallel N 次,mode C M 次`, which shows which path each MoE op used.
|
| 82 |
|
| 83 |
## Numerical validation
|
| 84 |
|
|
|
|
| 94 |
| Decode KL vs native (`-ub 1`, 16 threads, 2 chunks) | — | 0.044057; top-1 92.5 % | 0.044057; top-1 92.5 % |
|
| 95 |
| **Control:** native `-ub 64` vs native `-ub 1` (only float order changes) | — | — | mean KLD 0.034464; top-1 90.2 % |
|
| 96 |
| Decode v2 vs v1 (`-ub 1`, 16 threads) | — | — | KLD 1e-6 (max 3.8e-5); top-1 100 % |
|
| 97 |
+
| Decode, v2 forced with 1 GiB arena vs native | — | — | 0.044057; identical to v1 at reported precision |
|
| 98 |
| Layer-wise MoE output, layers 2–6, EPQ vs native (same input) | — | max relative diff ≤ 1.6e-5 | — |
|
| 99 |
|
| 100 |
Findings:
|
| 101 |
|
| 102 |
- **v2 row-parallel is numerically equivalent to v1** in decode (KL 1e-6, top-1 100 %) and identical to v1 in prefill (prefill does not use row-parallel). It is not bit-identical.
|
| 103 |
+
- **EPQ is not bit-identical to native.** Float summation order differs, and 8-bit activation quantization amplifies the difference through the layers. The native `-ub 1` vs `-ub 64` control gives a KL divergence of the same magnitude (0.034 vs 0.044). This is a measured conclusion from these runs, not a proof of exact equivalence.
|
| 104 |
+
- **Greedy text identity is fragile.** At 8 threads the 24-token output matches native exactly; at 16 threads it diverges after 12 characters, for v1 and v2 alike.
|
| 105 |
|
| 106 |
+
## Memory benchmark (RSS watchdog, enforced)
|
| 107 |
|
| 108 |
+
`bench.sh <GiB> <pager 0|1>` runs a fixed prompt and samples process-tree RSS every 20 ms. If sampled RSS exceeds the tier, the watchdog kills the run (exit −9). This is a sampled watchdog, not a kernel/cgroup hard limit: RSS may briefly exceed the threshold between samples, and it counts file-backed pages as reported by `/proc`. `tools/runmem_cgroup.py` (cgroup-v2 `MemoryMax`) is included but **untested in this environment**.
|
| 109 |
|
| 110 |
+
> **Correction.** The threshold check in `tools/runmem.py` compared `VmRSS` in kB against GiB in bytes, so the watchdog never fired. Every "PASS, under threshold" statement in earlier versions of this card was therefore unverified. The peak RSS values were measured correctly. The check is fixed in this patch, and all tier results below are re-run with enforcement. The earlier tables are in `results/logs/superseded_runmem_threshold_bug/`.
|
| 111 |
|
| 112 |
+
Settings: context 128, batch 32, ubatch 16, 8 generated tokens, 16 threads, prefetch off. Each row is the median of 3 runs. "killed" means the watchdog terminated all 3 runs. Path counts are RP (row-parallel) / mode C ops.
|
|
|
|
|
|
|
| 113 |
|
| 114 |
+
Native llama.cpp needs about 24.3 GiB, so it cannot run below 32 GiB under this watchdog. For 2 GiB, the 256 MiB arena from the earlier table sits right at the threshold (peak 2.000–2.001 GiB) and is killed, so the table adds a 128 MiB arena row that passes.
|
| 115 |
+
|
| 116 |
+
| Tier | Configuration | Arena (slots) | Result | Peak RSS | Prompt | Generation | RP / mode C |
|
| 117 |
+
|---:|---|---:|---|---:|---:|---:|---:|
|
| 118 |
+
| 2 GiB | native | — | killed (peak 2.2–3.0 GiB at kill) | — | — | — | — |
|
| 119 |
+
| 2 GiB | v1 | 256 MiB (105) | killed | 2.000–2.001 GiB at kill | — | — | 0 / 516 |
|
| 120 |
+
| 2 GiB | v2 as designed | 256 MiB (105) | killed | 2.000–2.001 GiB at kill | — | — | 0 / 516 |
|
| 121 |
+
| 2 GiB | v2 forced | 256 MiB (105) | killed | 2.001 GiB at kill | — | — | 425 / 91 |
|
| 122 |
+
| 2 GiB | v1 | 128 MiB (52) | pass | 1.887 GiB | 6.3 t/s | 3.9 t/s | 0 / 516 |
|
| 123 |
+
| 2 GiB | v2 as designed | 128 MiB (52) | pass | 1.886 GiB | 6.1 t/s | 3.8 t/s | 0 / 516 |
|
| 124 |
+
| 2 GiB | v2 forced | 128 MiB (52) | pass | 1.883 GiB | 6.1 t/s | 3.9 t/s | 425 / 91 |
|
| 125 |
+
| 4 GiB | native | — | killed (peak 4.1–4.3 GiB at kill) | — | — | — | — |
|
| 126 |
+
| 4 GiB | v1 | 1 GiB (420) | pass | 2.765 GiB | 6.5 t/s | 4.7 t/s | 0 / 516 |
|
| 127 |
+
| 4 GiB | v2 as designed | 1 GiB (420) | pass | 2.765 GiB | 7.1 t/s | 4.8 t/s | 0 / 516 |
|
| 128 |
+
| 4 GiB | v2 forced | 1 GiB (420) | pass | 2.759 GiB | 7.0 t/s | 4.7 t/s | 425 / 91 |
|
| 129 |
+
| 8 GiB | native | — | killed (peak 8.1–8.2 GiB at kill) | — | — | — | — |
|
| 130 |
+
| 8 GiB | v1 | 3 GiB (1,260) | pass | 4.766 GiB | 8.8 t/s | 4.8 t/s | 0 / 516 |
|
| 131 |
+
| 8 GiB | v2 as designed | 3 GiB (1,260) | pass | 4.765 GiB | 9.3 t/s | 4.9 t/s | 0 / 516 |
|
| 132 |
+
| 8 GiB | v2 forced | 3 GiB (1,260) | pass | 4.759 GiB | 9.1 t/s | 5.3 t/s | 425 / 91 |
|
| 133 |
+
| 16 GiB | native | — | killed (peak 16.0–16.5 GiB at kill) | — | — | — | — |
|
| 134 |
+
| 16 GiB | v1 | 10 GiB (4,201) | pass | 11.766 GiB | 11.2 t/s | 5.5 t/s | 0 / 516 |
|
| 135 |
+
| 16 GiB | v2 as designed | 10 GiB (4,201) | pass | 11.766 GiB | 12.1 t/s | 5.5 t/s | 12 / 504 |
|
| 136 |
+
| 16 GiB | v2 forced | 10 GiB (4,201) | pass | 11.760 GiB | 12.6 t/s | 5.5 t/s | 425 / 91 |
|
| 137 |
+
| 32 GiB | native | — | pass | 24.286 GiB | 50.3 t/s | 21.8 t/s | — |
|
| 138 |
+
| 32 GiB | v1 | 18 GiB (7,561 of 12,032) | pass | 19.765 GiB | 11.3 t/s | 5.7 t/s | 0 / 516 |
|
| 139 |
+
| 32 GiB | v2 as designed | 28.7 GiB (12,061, all experts) | pass | 30.473 GiB | 34.7 t/s | 14.6 t/s | 425 / 91 |
|
| 140 |
+
| 32 GiB | v2 forced | 18 GiB (7,561 of 12,032) | pass | 19.759 GiB | 12.7 t/s | 5.2 t/s | 425 / 91 |
|
| 141 |
+
|
| 142 |
+
Throughput is noisy: single runs vary by about ±15 %, and one v1 4 GiB run produced 2.6 t/s. Read the speed columns as approximate.
|
| 143 |
+
|
| 144 |
+
### What the enforced results show
|
| 145 |
|
| 146 |
+
- **Native llama.cpp is killed at 2, 4, 8 and 16 GiB.** It runs only with at least 24.3 GiB. EPQ is the only one of the two that runs under the lower tiers.
|
| 147 |
+
- **At the 2 GiB tier the expert arena must be about 128 MiB.** With 256 MiB the process peaks at 2.000–2.001 GiB and is killed.
|
| 148 |
+
- **v2 as designed differs from v1 only at 32 GiB with the full arena.** At 2–8 GiB no layer has all its experts resident, so v2 runs mode C (0 RP ops). At 16 GiB, 12 of 516 ops were row-parallel, which makes no measurable difference. At 32 GiB, v2 generates 14.6 t/s against 5.7 t/s for v1 (about 2.6×).
|
| 149 |
+
- **Forced row-parallel shows no reliable speed gain.** Its medians are within run-to-run noise of v1 and v2 at every tier. The +9–14 % gains reported in the previous version of this card came from the unenforced runs and are retracted. Output is numerically unchanged (decode KL 0.044057 at a 1 GiB forced arena).
|
| 150 |
|
| 151 |
+
## Forced vs as designed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
|
| 153 |
+
Row-parallel decode computes all experts for a layer in one pass across all threads. That is only efficient when every expert it needs is already in the arena:
|
| 154 |
|
| 155 |
+
- **As designed** (`SDQ_ROWPAR_MAX_MISS=0`, the default). A layer uses row-parallel only if every needed expert is resident. Otherwise it falls back to mode C, which reads each expert from SSD while computing the previous one, so I/O and compute overlap.
|
| 156 |
+
- **Forced** (`SDQ_ROWPAR_MAX_MISS=100000`). A decode op uses row-parallel whenever the number of needed experts is below the thread count, even if some experts are missing. Missing experts are then loaded with blocking reads inside row-parallel setup before compute starts, so I/O and compute no longer overlap.
|
|
|
|
| 157 |
|
| 158 |
+
The forced mode trades that overlap for a larger parallel region. In these runs the trade is neutral: the forced variant does 425 row-parallel ops at every tier and gives the same speed within noise. It is an ablation, not a recommended setting. A workload with many misses could be slower than mode C, which this card does not measure.
|
| 159 |
|
| 160 |
+
## Throughput (native, v1, v2)
|
| 161 |
|
| 162 |
+
Separate workload from the memory tiers: context 512, batch 128, ubatch 32, 32 generated tokens, 16 threads, 3 runs each (median). No watchdog was applied to these runs.
|
| 163 |
|
| 164 |
| Configuration | Prompt | Generation | Peak RSS | Logs |
|
| 165 |
|---|---:|---:|---:|---|
|
|
|
|
| 168 |
| v1, arena 28.7 GiB, no preload | 12.3 t/s | 5.5 t/s | 30.51 GiB | `results/logs/v1/perf_c512_v1_arena28g_*` |
|
| 169 |
| **v2**, arena 28.7 GiB, preload + row-parallel | **32.4 t/s** | **16.2 t/s** | 30.50 GiB | `results/logs/v2/perf_c512_v2_arena28g_*` |
|
| 170 |
|
| 171 |
+
v2 generates about 2.9× faster than v1 and about 75 % of native generation speed in this workload. The prompt phase is also faster in v2, likely because the preload removes SSD reads during prefill; this was not measured separately.
|
| 172 |
|
| 173 |
## Version coverage
|
| 174 |
|
flint-epq.patch
CHANGED
|
@@ -4688,10 +4688,10 @@ index 0000000..b109f33
|
|
| 4688 |
|
| 4689 |
diff --git a/tools/runmem.py b/tools/runmem.py
|
| 4690 |
new file mode 100644
|
| 4691 |
-
index 0000000..
|
| 4692 |
--- /dev/null
|
| 4693 |
+++ b/tools/runmem.py
|
| 4694 |
-
@@ -0,0 +1,
|
| 4695 |
+#!/usr/bin/env python3
|
| 4696 |
+"""Sample process-tree RSS/swap while running a command."""
|
| 4697 |
+
|
|
@@ -4746,7 +4746,8 @@ index 0000000..765be84
|
|
| 4746 |
+ pass
|
| 4747 |
+ peak_rss = max(peak_rss, rss)
|
| 4748 |
+ peak_swap = max(peak_swap, swap)
|
| 4749 |
-
+
|
|
|
|
| 4750 |
+ exceeded = True
|
| 4751 |
+ process.send_signal(signal.SIGKILL)
|
| 4752 |
+ break
|
|
|
|
| 4688 |
|
| 4689 |
diff --git a/tools/runmem.py b/tools/runmem.py
|
| 4690 |
new file mode 100644
|
| 4691 |
+
index 0000000..9d5e96c
|
| 4692 |
--- /dev/null
|
| 4693 |
+++ b/tools/runmem.py
|
| 4694 |
+
@@ -0,0 +1,80 @@
|
| 4695 |
+#!/usr/bin/env python3
|
| 4696 |
+"""Sample process-tree RSS/swap while running a command."""
|
| 4697 |
+
|
|
|
|
| 4746 |
+ pass
|
| 4747 |
+ peak_rss = max(peak_rss, rss)
|
| 4748 |
+ peak_swap = max(peak_swap, swap)
|
| 4749 |
+
+ # VmRSS 以 kB 為單位,門檻須換算成 kB(1 GiB = 1024 * 1024 kB)
|
| 4750 |
+
+ if args.rss_limit_gib is not None and rss > args.rss_limit_gib * (1024 ** 2):
|
| 4751 |
+ exceeded = True
|
| 4752 |
+ process.send_signal(signal.SIGKILL)
|
| 4753 |
+ break
|
results/logs/common/mem_enforced_2g_arena128_summary.txt
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
v1 2 GiB arena128 run1 | Prompt: 6.7 t/s | Generation: 3.9 | peak "peak_gib": 1.887 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 2 |
+
v2 2 GiB arena128 run1 | Prompt: 6.1 t/s | Generation: 3.8 | peak "peak_gib": 1.887 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 3 |
+
v2forced 2 GiB arena128 run1 | Prompt: 4.1 t/s | Generation: 3.9 | peak "peak_gib": 1.883 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 4 |
+
v1 2 GiB arena128 run2 | Prompt: 6.1 t/s | Generation: 3.9 | peak "peak_gib": 1.887 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 5 |
+
v2 2 GiB arena128 run2 | Prompt: 6.8 t/s | Generation: 3.9 | peak "peak_gib": 1.886 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 6 |
+
v2forced 2 GiB arena128 run2 | Prompt: 6.2 t/s | Generation: 3.8 | peak "peak_gib": 1.883 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 7 |
+
v1 2 GiB arena128 run3 | Prompt: 6.3 t/s | Generation: 3.9 | peak "peak_gib": 1.887 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 8 |
+
v2 2 GiB arena128 run3 | Prompt: 6.1 t/s | Generation: 3.8 | peak "peak_gib": 1.886 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 9 |
+
v2forced 2 GiB arena128 run3 | Prompt: 6.1 t/s | Generation: 3.9 | peak "peak_gib": 1.883 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
results/logs/common/mem_enforced_summary.txt
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
native 2 GiB run1 | | peak "peak_gib": 3.039 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 2 |
+
native 2 GiB run2 | | peak "peak_gib": 2.422 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 3 |
+
native 2 GiB run3 | | peak "peak_gib": 2.214 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 4 |
+
v1 2 GiB run1 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 5 |
+
v1 2 GiB run2 | | peak "peak_gib": 2.0 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 6 |
+
v1 2 GiB run3 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 7 |
+
v2 2 GiB run1 | | peak "peak_gib": 2.0 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 8 |
+
v2 2 GiB run2 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 9 |
+
v2 2 GiB run3 | | peak "peak_gib": 2.0 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 10 |
+
v2forced 2 GiB run1 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 11 |
+
v2forced 2 GiB run2 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 12 |
+
v2forced 2 GiB run3 | | peak "peak_gib": 2.001 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 13 |
+
native 4 GiB run1 | | peak "peak_gib": 4.195 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 14 |
+
native 4 GiB run2 | | peak "peak_gib": 4.123 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 15 |
+
native 4 GiB run3 | | peak "peak_gib": 4.274 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 16 |
+
v1 4 GiB run1 | Prompt: 7.4 t/s | Generation: 4.7 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 17 |
+
v1 4 GiB run2 | Prompt: 5.9 t/s | Generation: 2.6 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 18 |
+
v1 4 GiB run3 | Prompt: 6.5 t/s | Generation: 4.7 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 19 |
+
v2 4 GiB run1 | Prompt: 7.3 t/s | Generation: 4.8 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 20 |
+
v2 4 GiB run2 | Prompt: 7.1 t/s | Generation: 4.8 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 21 |
+
v2 4 GiB run3 | Prompt: 7.0 t/s | Generation: 4.6 | peak "peak_gib": 2.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 22 |
+
v2forced 4 GiB run1 | Prompt: 7.2 t/s | Generation: 4.8 | peak "peak_gib": 2.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 23 |
+
v2forced 4 GiB run2 | Prompt: 7.0 t/s | Generation: 4.7 | peak "peak_gib": 2.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 24 |
+
v2forced 4 GiB run3 | Prompt: 7.0 t/s | Generation: 4.7 | peak "peak_gib": 2.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 25 |
+
native 8 GiB run1 | | peak "peak_gib": 8.143 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 26 |
+
native 8 GiB run2 | | peak "peak_gib": 8.08 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 27 |
+
native 8 GiB run3 | | peak "peak_gib": 8.179 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 28 |
+
v1 8 GiB run1 | Prompt: 8.5 t/s | Generation: 4.8 | peak "peak_gib": 4.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 29 |
+
v1 8 GiB run2 | Prompt: 9.7 t/s | Generation: 5.1 | peak "peak_gib": 4.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 30 |
+
v1 8 GiB run3 | Prompt: 8.8 t/s | Generation: 4.8 | peak "peak_gib": 4.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 31 |
+
v2 8 GiB run1 | Prompt: 9.3 t/s | Generation: 4.7 | peak "peak_gib": 4.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 32 |
+
v2 8 GiB run2 | Prompt: 8.4 t/s | Generation: 4.9 | peak "peak_gib": 4.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 33 |
+
v2 8 GiB run3 | Prompt: 9.7 t/s | Generation: 5.0 | peak "peak_gib": 4.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 34 |
+
v2forced 8 GiB run1 | Prompt: 8.5 t/s | Generation: 4.8 | peak "peak_gib": 4.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 35 |
+
v2forced 8 GiB run2 | Prompt: 9.7 t/s | Generation: 5.3 | peak "peak_gib": 4.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 36 |
+
v2forced 8 GiB run3 | Prompt: 9.1 t/s | Generation: 5.4 | peak "peak_gib": 4.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 37 |
+
native 16 GiB run1 | | peak "peak_gib": 16.544 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 38 |
+
native 16 GiB run2 | | peak "peak_gib": 16.025 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 39 |
+
native 16 GiB run3 | | peak "peak_gib": 16.306 | exceeded "limit_exceeded": true | exit "exit": -9 |
|
| 40 |
+
v1 16 GiB run1 | Prompt: 11.2 t/s | Generation: 5.5 | peak "peak_gib": 11.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 41 |
+
v1 16 GiB run2 | Prompt: 11.4 t/s | Generation: 5.6 | peak "peak_gib": 11.767 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 42 |
+
v1 16 GiB run3 | Prompt: 10.9 t/s | Generation: 5.5 | peak "peak_gib": 11.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 43 |
+
v2 16 GiB run1 | Prompt: 11.9 t/s | Generation: 5.4 | peak "peak_gib": 11.767 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 12 次,mode C 504 次
|
| 44 |
+
v2 16 GiB run2 | Prompt: 12.1 t/s | Generation: 5.5 | peak "peak_gib": 11.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 12 次,mode C 504 次
|
| 45 |
+
v2 16 GiB run3 | Prompt: 12.8 t/s | Generation: 5.6 | peak "peak_gib": 11.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 12 次,mode C 504 次
|
| 46 |
+
v2forced 16 GiB run1 | Prompt: 12.6 t/s | Generation: 5.5 | peak "peak_gib": 11.76 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 47 |
+
v2forced 16 GiB run2 | Prompt: 11.3 t/s | Generation: 5.4 | peak "peak_gib": 11.76 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 48 |
+
v2forced 16 GiB run3 | Prompt: 13.1 t/s | Generation: 5.7 | peak "peak_gib": 11.76 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 49 |
+
native 32 GiB run1 | Prompt: 46.9 t/s | Generation: 21.8 | peak "peak_gib": 24.286 | exceeded "limit_exceeded": false | exit "exit": 0 |
|
| 50 |
+
native 32 GiB run2 | Prompt: 50.3 t/s | Generation: 21.6 | peak "peak_gib": 24.286 | exceeded "limit_exceeded": false | exit "exit": 0 |
|
| 51 |
+
native 32 GiB run3 | Prompt: 60.5 t/s | Generation: 28.8 | peak "peak_gib": 24.286 | exceeded "limit_exceeded": false | exit "exit": 0 |
|
| 52 |
+
v1 32 GiB run1 | Prompt: 11.8 t/s | Generation: 5.9 | peak "peak_gib": 19.766 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 53 |
+
v1 32 GiB run2 | Prompt: 11.1 t/s | Generation: 5.7 | peak "peak_gib": 19.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 54 |
+
v1 32 GiB run3 | Prompt: 11.3 t/s | Generation: 5.4 | peak "peak_gib": 19.765 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 0 次,mode C 516 次
|
| 55 |
+
v2 32 GiB run1 | Prompt: 34.6 t/s | Generation: 16.5 | peak "peak_gib": 30.473 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 56 |
+
v2 32 GiB run2 | Prompt: 36.3 t/s | Generation: 14.6 | peak "peak_gib": 30.473 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 57 |
+
v2 32 GiB run3 | Prompt: 34.7 t/s | Generation: 13.8 | peak "peak_gib": 30.473 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 58 |
+
v2forced 32 GiB run1 | Prompt: 13.3 t/s | Generation: 5.2 | peak "peak_gib": 19.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 59 |
+
v2forced 32 GiB run2 | Prompt: 12.7 t/s | Generation: 5.4 | peak "peak_gib": 19.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
| 60 |
+
v2forced 32 GiB run3 | Prompt: 12.6 t/s | Generation: 5.2 | peak "peak_gib": 19.759 | exceeded "limit_exceeded": false | exit "exit": 0 | 路徑計數:row-parallel 425 次,mode C 91 次
|
results/logs/native/mem_enforced_native_16g_run1.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 17348012, "peak_gib": 16.544, "limit_gib": 16.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 1.72, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=10240", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_16g_run2.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 16803060, "peak_gib": 16.025, "limit_gib": 16.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 1.55, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=10240", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_16g_run3.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 17097556, "peak_gib": 16.306, "limit_gib": 16.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 1.46, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=10240", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_2g_run1.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 3186608, "peak_gib": 3.039, "limit_gib": 2.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.52, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=256", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_2g_run2.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 2539860, "peak_gib": 2.422, "limit_gib": 2.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.52, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=256", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_2g_run3.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 2321728, "peak_gib": 2.214, "limit_gib": 2.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.53, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=256", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_32g_run1.log
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
|
| 3 |
+
Loading model...
|
| 4 |
+
|
| 5 |
+
▄▄ ▄▄
|
| 6 |
+
██ ██
|
| 7 |
+
██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄
|
| 8 |
+
██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██
|
| 9 |
+
██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀
|
| 10 |
+
██ ██
|
| 11 |
+
▀▀ ▀▀
|
| 12 |
+
|
| 13 |
+
build : b1-970b51c
|
| 14 |
+
model : /tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf
|
| 15 |
+
ftype : Q4_K - Medium
|
| 16 |
+
modalities : text
|
| 17 |
+
|
| 18 |
+
available commands:
|
| 19 |
+
/exit or Ctrl+C stop or exit
|
| 20 |
+
/regen regenerate the last response
|
| 21 |
+
/clear clear the chat history
|
| 22 |
+
/read <file> add a text file
|
| 23 |
+
/glob <pattern> add text files using globbing pattern
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
> Explain in one sentence why the sky is blue.
|
| 28 |
+
|
| 29 |
+
[Start thinking]
|
| 30 |
+
|
| 31 |
+
The user is asking for a one
|
| 32 |
+
|
| 33 |
+
[ Prompt: 46.9 t/s | Generation: 21.8 t/s ]
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
Exiting...
|
| 37 |
+
RUNMEM {"peak_kb": 25465768, "peak_gib": 24.286, "limit_gib": 32.0, "limit_exceeded": false, "swap_kb": 0, "wall_s": 3.97, "exit": 0, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=18432", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_32g_run2.log
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
|
| 3 |
+
Loading model...
|
| 4 |
+
|
| 5 |
+
▄▄ ▄▄
|
| 6 |
+
██ ██
|
| 7 |
+
██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄
|
| 8 |
+
██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██
|
| 9 |
+
██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀
|
| 10 |
+
██ ██
|
| 11 |
+
▀▀ ▀▀
|
| 12 |
+
|
| 13 |
+
build : b1-970b51c
|
| 14 |
+
model : /tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf
|
| 15 |
+
ftype : Q4_K - Medium
|
| 16 |
+
modalities : text
|
| 17 |
+
|
| 18 |
+
available commands:
|
| 19 |
+
/exit or Ctrl+C stop or exit
|
| 20 |
+
/regen regenerate the last response
|
| 21 |
+
/clear clear the chat history
|
| 22 |
+
/read <file> add a text file
|
| 23 |
+
/glob <pattern> add text files using globbing pattern
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
> Explain in one sentence why the sky is blue.
|
| 28 |
+
|
| 29 |
+
[Start thinking]
|
| 30 |
+
|
| 31 |
+
The user is asking for a one
|
| 32 |
+
|
| 33 |
+
[ Prompt: 50.3 t/s | Generation: 21.6 t/s ]
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
Exiting...
|
| 37 |
+
RUNMEM {"peak_kb": 25465372, "peak_gib": 24.286, "limit_gib": 32.0, "limit_exceeded": false, "swap_kb": 0, "wall_s": 3.82, "exit": 0, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=18432", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_32g_run3.log
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
|
| 3 |
+
Loading model...
|
| 4 |
+
|
| 5 |
+
▄▄ ▄▄
|
| 6 |
+
██ ██
|
| 7 |
+
██ ██ ▀▀█▄ ███▄███▄ ▀▀█▄ ▄████ ████▄ ████▄
|
| 8 |
+
██ ██ ▄█▀██ ██ ██ ██ ▄█▀██ ██ ██ ██ ██ ██
|
| 9 |
+
██ ██ ▀█▄██ ██ ██ ██ ▀█▄██ ██ ▀████ ████▀ ████▀
|
| 10 |
+
██ ██
|
| 11 |
+
▀▀ ▀▀
|
| 12 |
+
|
| 13 |
+
build : b1-970b51c
|
| 14 |
+
model : /tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf
|
| 15 |
+
ftype : Q4_K - Medium
|
| 16 |
+
modalities : text
|
| 17 |
+
|
| 18 |
+
available commands:
|
| 19 |
+
/exit or Ctrl+C stop or exit
|
| 20 |
+
/regen regenerate the last response
|
| 21 |
+
/clear clear the chat history
|
| 22 |
+
/read <file> add a text file
|
| 23 |
+
/glob <pattern> add text files using globbing pattern
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
> Explain in one sentence why the sky is blue.
|
| 28 |
+
|
| 29 |
+
[Start thinking]
|
| 30 |
+
|
| 31 |
+
The user is asking for a one
|
| 32 |
+
|
| 33 |
+
[ Prompt: 60.5 t/s | Generation: 28.8 t/s ]
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
Exiting...
|
| 37 |
+
RUNMEM {"peak_kb": 25465896, "peak_gib": 24.286, "limit_gib": 32.0, "limit_exceeded": false, "swap_kb": 0, "wall_s": 3.61, "exit": 0, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=18432", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_4g_run1.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 4399196, "peak_gib": 4.195, "limit_gib": 4.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.65, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=1024", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_4g_run2.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 4323576, "peak_gib": 4.123, "limit_gib": 4.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.61, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=1024", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_4g_run3.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 4481508, "peak_gib": 4.274, "limit_gib": 4.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.66, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=1024", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_8g_run1.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 8538404, "peak_gib": 8.143, "limit_gib": 8.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 1.01, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=3072", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_8g_run2.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 8472136, "peak_gib": 8.08, "limit_gib": 8.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.95, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=3072", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/native/mem_enforced_native_8g_run3.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
RUNMEM {"peak_kb": 8576276, "peak_gib": 8.179, "limit_gib": 8.0, "limit_exceeded": true, "swap_kb": 0, "wall_s": 0.98, "exit": -9, "cmd": ["env", "SDQ_PAGER=0", "SDQ_PREFETCH=0", "SDQ_ARENA_MB=3072", "SDQ_PRELOAD=0", "SDQ_ROW_PARALLEL=0", "/tmp/opencode/flint-work/llama.cpp/build/bin/llama-cli", "-m", "/tmp/opencode/flint-work/llama.cpp/models/flint-UD-Q4_K_XL.gguf", "-c", "128", "-b", "32", "-ub", "16", "-p", "Explain in one sentence why the sky is blue.", "-n", "8", "-t", "16", "--temp", "0", "-st", "--simple-io"], "method": "procfs-rss-watchdog"}
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_16g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_2g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_32g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_4g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_default_8g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_16g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_2g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_32g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_4g_run3.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run1.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run2.log
RENAMED
|
File without changes
|
results/logs/{v2 → superseded_runmem_threshold_bug}/mem_forced_8g_run3.log
RENAMED
|
File without changes
|
results/logs/{common → superseded_runmem_threshold_bug}/mem_summary.txt
RENAMED
|
File without changes
|