Versionshinweise / v0.1.44.1

Strata 0.1.44.1 Neueste

Downloads

Versionshinweise

A hotfix for 0.1.44: PCs with an older CPU start again, CUDA 12.0 / 12.1 toolkits can build the engine, and Apple M2 Macs give correct answers. Answers are the same as 0.1.44 (byte-identical in our identity tests on every GPU machine we tested). Update with UPDATE.bat (Linux: ./update.sh); setup replaces the engine with 0.1.44.1.

Fixes

  • CPUs without AVX2 (Xeon X5670 and older, Sandy/Ivy Bridge): the engine stopped at start with nothing in the log (#2324, thanks almirjakubaitis). 0.1.44's NVFP4 CPU code built a small lookup table when the program started, in two files that are compiled for AVX2 and AVX-512. The compiler used AVX and FMA instructions for that table, and a start-up routine runs on every CPU before the engine can check which one it has, so a CPU without those instructions died with an illegal instruction before it wrote a line. The table is now made at compile time, and the setting it read at start is read on first use, behind the CPU check. We reproduced the crash (a CPU emulator set to Westmere and Sandy Bridge) and checked that the fixed engine starts on both, that the table is bit-identical (256 of 256 values), and that the NVFP4 AVX2 rows still match ggml bit for bit. The build checks (tools/check_isa_guard.py) now also fail a start-up routine with AVX instructions in these files, which they did not look for.
  • The server called this crash "the engine stopped while the GPU runtime was starting" and tried again three times (#2324). The retry was meant for an AMD driver race. It now applies only when the engine exits without a crash signal (a crash, such as an illegal instruction, a bad memory access or the out-of-memory killer, repeats), and the message says only what is known: the engine's exit status (killed by signal 4 (SIGILL); on Windows the NTSTATUS code, such as a missing DLL), the CPU's AVX / AVX2 / FMA / F16C flags after an illegal instruction, and whether the log holds any line from the engine itself. It names the GPU runtime only when the runtime wrote its own error.
  • Linux with CUDA Toolkit 12.0 / 12.1: the engine did not compile (#2322, thanks whitespades; the fix is nekomario28's PR #2327). q36_engine.cu used __ushort_as_half, which these toolkits only allow in device code, in a host function (the loader that widens fp16 weights). The PR widens the bits by hand, as the BF16 loader next to it does; we checked it against the shared converter and the CPU's F16C instruction for all 65,536 inputs (0 differences). We built the whole tree (all 408 targets, tests included) with CUDA 12.1.1 and 12.0.1 and GCC 12.4, the reporter's setup: the same two errors before, none after.
  • Apple M2 (and other chips where a Metal kernel gets fewer registers): garbage answers, MTP accepting nothing (#2323, thanks Excavatory, who found the cause and sent the fix). The gdn_step kernel needs 512 threads, but the compiler gave the multi-token variants only 448 on an M2 Max, so they were silently never run: every verify window and prompt chunk of two tokens or more used stale numbers. The kernels now ask the compiler to fit their launch size (512, 1024 for the 8-token variant). And every Metal dispatch now checks the pipeline's thread limit against the launch size and stops the engine with a clear message (kernel, limit, needed size, GPU) instead of running garbage. Also from the same report: the long-prompt kernel qsa_prompt.metal did not compile with the macOS 26.3 headers; it does now. On an M4 the answers and speed are unchanged (Q2_0, byte-identical, 200 tokens, 2 prompts, with and without MTP). We have no M2: Excavatory, please try this release and tell us if gdn_parity and your answers are right.
  • Running setup again keeps your installed size. 0.1.44 could switch it to the new IQ3_S default (about 10-15% slower than IQ3_XXS, and about 7 GB more RAM); setup now pre-selects the size you have, and the three environment entries it writes stay yours unless the config is an Unsloth one. If setup already switched yours: START-HERE.bat --setup --model IQ3_XXS restores it.
  • Codex / the Responses API honours the config's `reasoning_effort`, and `reasoning_effort: false` means off. The OpenAI and Anthropic routes already did; the Responses route ignored the key.

Strata is free and open source. If it runs well on your PC, a coffee keeps the work on it going:

Buy Me A Coffee

Vollständig auf GitHub

Ältere Version: v0.1.44