Version 1.0.5.0
What's Changed
- Stop flagging every other token after a think block as thinking by @MBrekhof in #11
- Dequantize each weight column once per prefill, not once per row by @MBrekhof in #10
- Store the LM head verbatim [vocab, in]; stop transposing it on load and mis-sizing it from our own exports by @MBrekhof in #14
- Await the producer when a data-loading enumeration is abandoned early by @MBrekhof in #16
- Keep block activations alive until the block context is disposed by @MBrekhof in #17
- IAcceleratorPlugin: a plugin seam for accelerator-backed training by @MBrekhof in #18
- Sanitise every block scale in the quantization agreement fixture by @MBrekhof in #19
- Publish the activation factory's last-hit slot as one atomic pair by @MBrekhof in #20
- Remove the per-column GPU inference path by @MBrekhof in #21
- Block the F32 matmul over rows, the way the F16 prefill kernel already is by @MBrekhof in #22
- Unpack Q4_K, Q6_K and Q5_0 weights with vector ops, not through a stack buffer by @MBrekhof in #24
- Widen the quantized prefill microkernel to a 4x3 output tile by @MBrekhof in #25
- Wire LoRA into the training path: per-layer adapters, frozen base, merge for export by @MBrekhof in #26
- Route the training LM head and trainable linear backward through the matmul kernel by @MBrekhof in #27
- Ship the GPU training engine as an accelerator plugin, with attention on cuBLAS by @MBrekhof in #28
- Stop SharpMindChatClient leaking tool-call markup and dropping returned calls by @MBrekhof in #29
- Default ToolsFolder instead of resolving PluginsFolder twice by @MBrekhof in #30
- Fix OpenAI server answering a prompt the caller never sent by @MBrekhof in #32
- Cover BuildCompactToolList's compaction path with a regression test by @MBrekhof in #33
- Make the server's startup preload actually run by @MBrekhof in #34
- Warm the matmul kernels during the server's startup preload (1.67x on the first request) by @MBrekhof in #35
Full Changelog: v1.0.4.0...v1.0.5.0