Commit Graph

  • 8920bd493b shape engine: the owner's approved lines (11-08), the update label Model engine, a test that pins them; at install Control checks strata --geometry against the signed manifest's shape and refuses a mismatch (an engine from before the flag is accepted) Niko1221 2026-11-08 20:56:46 +01:00
  • febc0226f5 strata --geometry: prints the name of the model shape the kernels are compiled for (the geometry header's kGeometryName; flash_next for the default build). One host line beside --families; no compile flag, no kernel changes. Niko1221 2026-11-08 20:56:46 +01:00
  • 82d3a03458 NVFP4-QAD is sized by the pack that runs (76.8 GB), not by its 102.2 GB checkpoint minus the table Niko1221 2026-11-08 20:50:57 +01:00
  • f16e297e5e Fit label: size is the download minus the lookup table's file; DeepSeek shows its whole size; no card or a small Mac says "may run slower" Niko1221 2026-11-08 20:50:11 +01:00
  • a16f3fe39e One fit label for every model: "fits" or "may run slower" (a V100 32 GB with 31 GB of RAM no longer says "too big" for the Unsloth sets) Niko1221 2026-11-08 19:08:30 +01:00
  • a1b9cc89ac A data folder on an external drive is no longer refused as a system folder (Linux) Niko1221 2026-11-08 18:11:01 +01:00
  • b5f5e38a44 feed model install gate: a stand-in nvidia-smi on a box with no NVIDIA card (setup's step 1), so the Linux CPU runners can run it Niko1221 2026-11-08 20:50:40 +01:00
  • 6dba262794 shape engine: the lines a person reads name the model's title (Q4 Lite Shape), not the geometry (q4_lite); one switch (shape_engine.USE_TITLE) puts the geometry name back. strata components engine and the JSON keep the shape Niko1221 2026-11-08 20:41:51 +01:00
  • a65e14cc05 Leave the engine version bump (0.1.59) out of this branch: the 0.2.13 release candidate bumps every version in one commit; STRATA_CMAKE_EXTRA stays Niko1221 2026-11-08 20:40:03 +01:00
  • 201ee46b46 UPDATES.md and ENGINE-COMPONENT.md: the shape_engines feed member and package_engine.py --shape Niko1221 2026-11-08 20:31:11 +01:00
  • 8a9feaedde A new-shape Qwen4 model ships with its own engine component (strata-q4-<shape>), picked by the model, next to the Strata engine Niko1221 2026-11-08 20:18:24 +01:00
  • a04860fadf DFlash2 defaults: conf 0.55 on the large-VRAM Blackwell class for IQ3_S only (the measured set); window 8 stays for every set there Niko1221 2026-11-08 20:13:27 +01:00
  • 6ec4d68ab2 DFlash2 per-device defaults (11-08 CONF-SWEEP): Strix Halo window 5 -> 8; Blackwell cc 12.0 with >= 48 GB conf 0.35 -> 0.55 and window 6 -> 8 Niko1221 2026-11-08 20:04:02 +01:00
  • 60d0f66de7 feed model install gate: the engine step runs serve.server with the run config Niko1221 2026-11-08 19:32:34 +01:00
  • 1ecb9de791 UPDATES.md: the feed-model install gate Niko1221 2026-11-08 19:29:19 +01:00
  • 51b75ea25f tools/test_feed_model_install_realfile.py: the install gate as a test of tools/check (py-tools) Niko1221 2026-11-08 19:29:09 +01:00
  • c47e9b9929 tools/feed_model_install_gate.py: a feed model installed from a real synthetic file through setup (release gate G2) Niko1221 2026-11-08 19:26:19 +01:00
  • 35b776c34d Owner's wording for the two new setup lines; the plan line for a drafter-none feed model (G14); make_model_release plan: right boxes, no app rebuild for case A (G12); tests Niko1221 2026-11-08 19:19:41 +01:00
  • 132c5809b8 Merge f-q4-p8-fixes: engine 0.1.59 and STRATA_CMAKE_EXTRA in the Linux packaging scripts Niko1221 2026-11-08 19:16:57 +01:00
  • e6569ae4df Merge f-q4-p8-fixes-a: the Qwen4 rehearsal's setup and feed fixes F1-F5 Niko1221 2026-11-08 19:16:47 +01:00
  • 3289d8280d Merge f-0213-pr5531 (9947e7d6f): community PR #5531 by pjgmobile for #5327 - on Linux the expert arena loads again when free pages, droppable file cache or a reserved hugetlb pool can serve a RAM shortfall (their measure: 1M ctx 47 -> 124 tok/s); review fixes: mlocked file pages are not droppable, stricter hugetlb credit (keeps #4051's refusal); plain warning text, stdout only with --serve; normal starts unchanged (tokens and output identical) Niko1221 2026-11-08 19:07:24 +01:00
  • 9947e7d6f5 docs/DETAILS.md: the #4051 section no longer says the load never refuses; says when the experts load anyway (#5327) Niko1221 2026-11-08 19:02:59 +01:00
  • b12773820f #5327: the owner's wording for the "loads anyway" warning, and the RAM notices on stdout in --serve mode only Niko1221 2026-11-08 19:02:58 +01:00
  • 458c312c9c settings register: STRATA_ARENA_FILE_CACHE (#5327), which the settings-register check asks for Niko1221 2026-11-08 17:41:35 +01:00
  • 4890fd9539 #5327 review: the arena shortfall credit leaves out locked file pages, reserved huge pages, a non-2 MiB pool and a pool smaller than the padded mapping Niko1221 2026-11-08 17:39:12 +01:00
  • 41e20da530 #5327: correct the comments - MemAvailable does not credit "only about half" of the page cache (it counts nearly all of it, minus the low watermark); the false alarm this fixes is the reserved hugetlb pool, which MemAvailable does not count at all. The file-cache credit stays as a small secondary margin. Comments only, no code change. pjgmobile 2026-11-07 21:43:09 +00:00
  • 28bd0185f9 #5327: on Linux an expert-arena shortfall the file cache can serve loads through it again - the 0.1.55 warn-and-proceed (free pages + Cached+Buffers+SReclaimable-Shmem-Dirty cover the need: MemAvailable credits only half the cache), said loudly on stdout as well, because a service setup never sees stderr; the #4846 refusal stays for shortfalls it cannot serve (#4051's anonymous RAM), under a cgroup limit, and on Windows, and STRATA_ARENA_FILE_CACHE=0 turns the credit off; tests pjgmobile 2026-11-07 20:48:32 +00:00
  • ee1b382e9c feed models: qwen4exp sizes are read in place with a RAM budget (budget True) like the built-in Unsloth sizes; the low-RAM mode wrote a second 77 GB copy of the experts on a 64 GB PC; q4geo_synth --tokenizer-from Niko1221 2026-11-08 15:44:25 +01:00
  • 88ea8e2a02 setup: a feed model of another shape (layers x experts) than the shipped expert profile gets a neutral profile; the engine refused the shipped one Niko1221 2026-11-08 15:35:27 +01:00
  • 508e6999ab Merge f-own-1a (451f3e8a6): own-stack phase 1A and cleanup 5.4; the ggml/MMQ sources the engines build are vendored in third_party/strata-ggml (frozen at the pin, manifest and check), default engine builds need no llama.cpp download, the TQ overlay is plain files, CMakeLists.txt is split into cmake/backends/*; every engine unchanged (CUDA/HIP gfx1201/gfx1151/SYCL device code identical, SYCL 22/22 checksums, Metal 104/105 objects with only __TIME__ differing, CUDA tokens 26/26); release scripts still pass -DSTRATA_GGML_DIR (owner go 11-08) Niko1221 2026-11-08 15:28:57 +01:00
  • 451f3e8a60 tests/terminal/test_engine_manifest: read the CUDA architecture default from cmake/backends/cuda.cmake Niko1221 2026-11-08 15:28:10 +01:00
  • 03882d09db feed models: drafter none leaves the Flash-Next MTP draft layer out (setup fetched it for every qwen4exp model) Niko1221 2026-11-08 15:23:11 +01:00
  • b40d65ea4c setup: a feed model without a picture reader no longer stops install with KeyError 'mmproj' (found installing a feed qwen4exp model from a test feed) Niko1221 2026-11-08 15:18:18 +01:00
  • f223047daa make_model_release: write the model's entry in the feed's schema (models/<id>.entry.json) with the values it cannot know as [FILL: ...]; build-feed --models refuses an entry that still has one Niko1221 2026-11-08 14:57:07 +01:00
  • eddbf228dc Engine version 0.1.59 (CMake project and Metal host) and STRATA_CMAKE_EXTRA in the Linux packaging build scripts (a new model shape: -DSTRATA_GEOMETRY_FILE) Niko1221 2026-11-08 14:46:43 +01:00
  • e66450705e tools/test_gfx906_build_files: read the cmake/*.cmake files the CMakeLists.txt blocks moved to Niko1221 2026-11-08 13:41:59 +01:00
  • 1115121839 CMake: the K-quant MMQ comments say what the engine does (default on NVIDIA 8.0+ and Linux gfx12) Niko1221 2026-11-08 13:09:35 +01:00
  • 974c0e3467 tools/check: the docs step also runs check_vendored.py (third_party/strata-ggml manifest) Niko1221 2026-11-08 12:35:17 +01:00
  • 8b16677015 Split CMakeLists.txt by backend: cmake/backends/{cpu,cuda,hip,sycl,metal}.cmake, strata_ggml.cmake Niko1221 2026-11-08 12:31:07 +01:00
  • 19418261e9 Give the quant header Strata's name as a forwarder, nothing else moves Niko1221 2026-11-08 12:42:17 +01:00
  • bc83c088de Fold the trellis MMQ overlay into plain files of the vendored ggml-cuda Niko1221 2026-11-08 12:28:08 +01:00
  • 067b4dda5f Vendor the ggml sources the engines build into third_party/strata-ggml Niko1221 2026-11-08 12:05:46 +01:00
  • fdb376f398 qwen4_intake: the Metal and SYCL down-expert lists follow main's f-q4-kquant (Metal adds Q3_K/Q4_K/Q5_K/Q6_K/IQ3_S, SYCL Q5_K/Q6_K); test_metal_lists and test_sycl_lists read the sources again Niko1221 2026-11-08 13:36:58 +01:00
  • 5c2e80ff43 settings register: the line numbers of two STRATA_ reads that the feed-models merge moved (setup.py, strata_cli/launch/screens.py); --check clean Niko1221 2026-11-08 11:52:17 +01:00
  • 0fdfa40b47 Merge f-q4-feedmodels (d4b72bc90): the signed feed's optional models member (strata_control/feed.py, feed_models.py), setup tables and prescan, tools/strata_mcp.py catalog, packaging/feed_tool.py --models/model-files/verify-feed, the app family menu (Qwen4 prep) Niko1221 2026-11-08 11:50:30 +01:00
  • 97a50dc24c Merge f-q4-intake (37e91bfdb): tools/qwen4_intake.py, the tokenizer refuses an unknown pre-tokenizer, the server's tool-call parser follows the chat template (serve/toolformat.py), packaging/make_model_release.py dry run (Qwen4 prep) Niko1221 2026-11-08 11:50:24 +01:00
  • 7f46672a48 Merge f-q4-metal (ed1f58d27): the Mac (Metal) engine follows the compiled geometry (q4_lite/q4_mid/q4_big kernel parity 40/40, gate 2 like CUDA), plus the PLE row-buffer fix in src/program/generate.cpp (sized by the compiled hidden size, not 2560; it overran 24 KB at hidden 4096 and crashed Metal serve); default build unchanged (CUDA SASS 3573/3573 and 160/160 host objects, HIP gfx1201/gfx1151 string offsets only, SYCL 129/129 objects and 22/22 checksums, Metal per-token functions identical, UD-Q4_K_XL 10/10 tokens, CUDA IQ3_S 26/26 tokens) (Qwen4 prep) Niko1221 2026-11-08 10:13:39 +01:00
  • db137d917a Merge f-q4-sycl (41717f29c): the Intel Arc (SYCL) engine follows the compiled geometry, so q4_lite/q4_mid/q4_big build; default build unchanged (CUDA SASS 3573/3573, HIP gfx1201 3920/3920, gfx1151 string offsets only, Metal 85/85 objects, SYCL 22/22 checksums); A750 gate 2 q4_lite 0.00021 vs floor 0.00017; one conflict with f-clean-6-0 in sycl/src/prefill/prefill.cpp resolved as tested by Q4-SYMERGE (Qwen4 prep) Niko1221 2026-11-08 09:42:22 +01:00
  • 0bf2efe331 Merge f-clean-6-0 (646826312): Intel Arc output is repeatable run to run; skinny bf16 GEMMs (outputs <= 64) run on a fixed-order kernel instead of oneMKL, which is not bit-repeatable for them (STRATA_SYCL_BF16_DET=0 restores oneMKL); A750 50/50 runs identical with the gate recipe, prefill 0.995-1.004; owner OK'd it as the default 11-08 (cleanup 6.0) Niko1221 2026-11-08 09:09:52 +01:00
  • ed1f58d275 settings register: regenerated after the rebase onto 09eb82791 (STRATA_METAL_MSL_DUMP, research; source line numbers) Niko1221 2026-11-08 09:05:16 +01:00
  • dcaf4755c1 ple_direct_rows_per_s: the probe's output buffer is PLE_N_HEADS x PLE_HEAD_DIM floats a token, not 2560 (heap overflow of 24 KB at hidden 4096; on Metal it corrupted Apple's shader-cache objects and the first window of strata --serve at q4_big died in MTLCompilerFSCache::getElementImpl) Niko1221 2026-11-08 08:56:54 +01:00
  • a875d702cf Metal window_probe: --session N carves the engine's session state (session_init) before the window comes up Niko1221 2026-11-08 04:39:51 +01:00
  • 7893d4972e Metal tests: msl_dump keeps --touch, --map and the pipelines after all libraries (restored after the revert) Niko1221 2026-11-08 04:14:47 +01:00
  • 97a1df1b30 Revert "Metal: -DSTRATA_METAL_PRELUDE_SALT adds one comment line to the kernel prelude (separate compile-cache keys for a build)" Niko1221 2026-11-08 04:14:40 +01:00
  • c3bdd42dc2 Metal: window_probe runs the decode window without the engine (init, windows, the gate-2 requests) Niko1221 2026-11-08 04:14:34 +01:00
  • 496a5382e4 Metal: -DSTRATA_METAL_PRELUDE_SALT adds one comment line to the kernel prelude (separate compile-cache keys for a build) Niko1221 2026-11-08 03:44:04 +01:00
  • 906aa63c75 Metal: a crash also prints the open descriptors, their limit and the process's memory; msl_dump --wrap / --map hold a model like the engine Niko1221 2026-11-08 03:43:29 +01:00
  • 021e07be72 Metal tests: msl_dump --pipes also builds a few pipelines of the core library Niko1221 2026-11-08 03:34:16 +01:00
  • a78b2d6278 Metal tests: geo_check prints the shape a build is compiled for and asserts a default build's constants are Flash-Next's Niko1221 2026-11-08 03:05:15 +01:00
  • a479b17a15 Metal: the selection budget follows idx_top_k; msl_text_check preprocesses with clang; geo_pins counts the pins Niko1221 2026-11-08 03:02:00 +01:00
  • 943e67ea98 Metal tests: the parity programs take their shape from the compiled geometry Niko1221 2026-11-08 03:02:00 +01:00
  • ab5a09b6ff Metal engine: sizes and loop bounds come from kCompiledGeometry; Window::init checks all 19 fields Niko1221 2026-11-08 02:59:51 +01:00
  • e172375b25 Metal kernels: query and kv heads, experts per token, hc norm and up widths come from the compiled geometry through the #define prelude Niko1221 2026-11-08 02:59:51 +01:00
  • 0ff18ef93d Metal: the engine's kernel libraries in one header, STRATA_METAL_MSL_DUMP, msl_dump and msl_text_check Niko1221 2026-11-08 02:34:03 +01:00
  • 269f33859b fused_gr: the dynamic-shared-memory opt-in of the single-token down kernel is set once per device, not once per process (a layer split runs it on several cards); doc_pages lists the .md files git knows about, so an ignored build tree's llama.cpp copy is not link-checked Niko1221 2026-11-08 08:46:50 +01:00
  • 2b36e8a027 Merge f-clean-3 (321794636): docs and history (cleanup step 3, items 3.0-3.10); release manifest and capability table with checks, history/ with pointers, link check, tools/ split, bench index; owner OK'd the wording 11-08 Niko1221 2026-11-08 08:35:12 +01:00
  • 321794636c READMEs: DeepSeek on Mac reads pictures too (dropped 'text only'); the 7 translations now name Strix Halo and the Mac like the English page; MAC.md and MODELS.md say the same in plain words Niko1221 2026-11-08 08:34:44 +01:00
  • 41717f29c1 qsa_real_shapes() takes the compiled geometry; gdn_parity's prefill cases and native_grouped_parity follow the build's shape Niko1221 2026-11-08 07:00:42 +01:00
  • 09eb827914 Merge f-q4-hipkg2 (da7b1d022): the AMD prompt-expert kernels (F16 K-quant, native-format fused IQ, Q2 blobs) follow the compiled geometry; default build unchanged (HIP gfx1201 182/182 and gfx1151 194/194 touched functions, CUDA SASS 3573/3573 and 160/160 host objects, SYCL 129/129 objects and 22/22 checksums, Metal 85/85 objects); HIP q4_lite gate 2 0.000183 vs floor 0.000173 (Qwen4 prep) Niko1221 2026-11-08 06:15:05 +01:00
  • 8893ba5eec SYCL dq_dense_parity: the dense GEMV checks also run at n_in 2048 and 3072 (the hidden widths of q4_lite and q4_mid) Niko1221 2026-11-08 05:41:56 +01:00
  • b72b451529 SYCL parity programs: gr, gr_multi, cvec, gdn, s2_expert_grouped, native_expert and native_grouped take the compiled shape Niko1221 2026-11-08 05:35:50 +01:00
  • e1e9d6ff95 SYCL prompt path: split_q, gate_attn and kv_append take the query head count from the geometry Niko1221 2026-11-08 05:32:21 +01:00
  • 30fabc8ac9 SYCL engine: top-k, layer count and the PLE probe follow the geometry; STRATA_LOGITS_DUMP for the gate-2 judge Niko1221 2026-11-08 05:14:34 +01:00
  • c598662834 SYCL prompt path: prefill.cpp, kernels.dp.cpp and the Xe GDN recurrence take the model shape from the compiled geometry Niko1221 2026-11-08 05:14:34 +01:00
  • b9de2cdb8c SYCL PLE post-ops, PLE key, native MoE combine and S2 grouped experts take their widths from the compiled geometry Niko1221 2026-11-08 05:14:11 +01:00
  • 3b64e076c8 SYCL attention: the decode and the three prompt kernels take the heads per KV head from the compiled geometry Niko1221 2026-11-08 05:14:10 +01:00
  • 5306fee502 SYCL fused_gr: the hyper-connection read takes n_embd, hc and hc_lr from the compiled geometry Niko1221 2026-11-08 05:14:04 +01:00
  • da7b1d022e Strata Q2 blob fused experts (moe_fused.cu CUDA and gfx11 kernels) and their parity test follow the compiled geometry Niko1221 2026-11-08 01:16:50 +01:00
  • 2351f2cccb Strata Q2 blob (prompt path): blob_dequant and strata_q2_kernel take the row lengths, scale counts and offsets from the compiled geometry Niko1221 2026-11-08 01:16:50 +01:00
  • 6e4ef31e47 q4geo_synth: --exact-bf16 / --exact-parts and --router-scale Niko1221 2026-11-08 00:34:53 +01:00
  • 78c27655c8 prefill_fused_iq_test follows the compiled geometry and gets --edge; q4geo_synth gets the AMD fused recipes and --small-ple Niko1221 2026-11-08 00:37:18 +01:00
  • b273c8006e HIP/CUDA native-format prompt experts (moe_fused_iq.cu): K of gate/up and down, the weight-row counts, the grids and the down store stride follow the compiled geometry Niko1221 2026-11-08 00:37:12 +01:00
  • 3d209733d2 HIP F16 K-quant prompt experts: the work-item counts, activation strides and down stride follow the compiled geometry Niko1221 2026-11-08 00:28:28 +01:00
  • 4dad59ab37 Merge f-q4-geometry (fc1c4e429): the model shape is fixed at build time (-DSTRATA_GEOMETRY / -DSTRATA_GEOMETRY_FILE); the default Flash-Next build is unchanged (CUDA SASS 3573/3573, HIP gfx1201 3920/3920, gfx1151 path-string offsets only, SYCL 22/22 checksums, Metal 10/10 tokens, CUDA 130/130 tokens); Qwen4 test shapes q4_lite/q4_mid/q4_big pass logits gate 2 on CUDA (Qwen4 prep) Niko1221 2026-11-08 04:48:39 +01:00
  • fc1c4e4295 fused_gr: the Q8_0 up read walks hc_lr in as many 128-value steps as it needs Niko1221 2026-11-08 02:05:36 +01:00
  • d10a8cd7e1 fused_gr: the Q8_0 hyper-connection read takes its chunk width from n_embd Niko1221 2026-11-08 01:40:56 +01:00
  • 646826312a SYCL: debug-only hash dumps to find where two runs of the same prompt first differ (all off unless set) Niko1221 2026-11-08 04:10:03 +01:00
  • 0f3ae296bf SYCL: the prompt path's skinny bf16 GEMMs run on a fixed-order kernel, because oneMKL's result changes from launch to launch for them Niko1221 2026-11-08 04:09:38 +01:00
  • cb73b620a2 host: ending a child that never started no longer signals the caller's own process group on macOS Niko1221 2026-11-08 01:41:16 +01:00
  • 61632296f3 tests/terminal: the wizard size test waits for the layout to settle instead of a fixed 0.3 s Niko1221 2026-11-08 01:18:28 +01:00
  • 1631a9fde8 Merge f-clean-7 (045843071): the app loads screens, languages, Prism and Time-skip on first use; main chunk 3,123,528 -> 755,418 B, start screen 248.5 -> 143.4 ms (p2006 Chrome, median of 10); nothing users see changes (cleanup step 7) Niko1221 2026-11-08 00:59:48 +01:00
  • 0458430719 app: load the Time-skip panel and its progress card when a chat has a Time-skip run Niko1221 2026-11-08 00:40:54 +01:00
  • 204a503d05 app: load the code-colouring grammars after the first screen Niko1221 2026-11-08 00:34:59 +01:00
  • c9e9f133ef app: load a language's strings when that language is used, not all nine at start Niko1221 2026-11-08 00:22:38 +01:00
  • 38ab10e03e qsa_decode_attn: the q8_v3 value loop compiles for any heads-per-KV-head G Niko1221 2026-11-08 00:00:24 +01:00
  • 03dd20f82b app: load the screens after Chat, and the Settings and set-up dialogs, on first use Niko1221 2026-11-08 00:02:15 +01:00
  • d3f696fe4e Tests: the df2ux launch-plan fixtures say NVIDIA too, not whatever Intel Arc the box has (2 failures on p1006) Niko1221 2026-11-07 23:56:25 +01:00
  • 3d26434f21 tools/: 27 untested, undocumented experiment scripts move to research/tools (3 folders, a README each saying what and when); two machine-local DFlash2 analysis scripts move to history/tools; documented, tested and packaged tools stay; tools/dflash2 files a training branch changes are left Niko1221 2026-11-07 22:42:55 +01:00
  • ff6cd56cb3 root: chat.py and highlight.py move to tools/ (docs updated); the user entry points (setup, START-HERE, UPDATE, strata.py, BENCH.bat and bench.sh, which docs and setup name) stay Niko1221 2026-11-07 22:38:52 +01:00
  • 242e8f333e bench/results: an index page (one row per result folder, built by tools/bench_results_index.py and checked in tools/check docs); the results stay in place Niko1221 2026-11-07 22:38:26 +01:00