Repository navigation
Release 0.64.0: NPU decode-step export with block-quantized weights, LFM2 - #530
Merged
Merged
Conversation
…ngine 0.63.0 Version 0.64.0 in gradle.properties, the README release paragraph and the BOM snippets in README and docs; the LFM2 README names engine 0.63.0. The CHANGELOG Unreleased section becomes 0.64.0 with the LFM2 modules (#527), the engine pin, the llama test tolerance and the dependency updates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Against engine 0.63.0, which adds block-quantized weights to StableHLO export (SKaiNET-developers/SKaiNET#1478, SKaiNET-developers/SKaiNET#1479) and fixes Unicode Split in the JVM tokenizer (SKaiNET-developers/SKaiNET#1477).
Headline: one decode step of a KV-cache decoder as an NPU graph with block-quantized weights. FunctionGemma 270M's decode step runs on the Torq NPU of an SL2610 in one dispatch: 162 ms per step, against about 610 ms per token on the CPU path, with the same top-1 (#529). Plus the LFM2 model family and its chat frontend (#527).
Added
DecodeStepExport(llm-core, jvm):BlockQuantMatmulFusionPass;forwardEmbeddedWithPastonGemmaModelandDecoderKvModel.llm-inference:lfm2: the dense LFM2 hybrid (short conv + GQA), verified checkpoint loading, and a fixed-shape StableHLO export. Validated against LFM2.5-350M.llm-runtime:klfm2: the LFM2 chat frontend. Pinned metadata, verified chat templates, greedy streaming generation, and an IREE path.Changed
sk.ainet.lang.nn.dsl.decoder:RopeTables,RopeCosSin,ChunkContext,KvStepOutput,buildRopeCosSin. They replace the Gemma andDecoderKvModelnested classes. Code that constructsChunkContextdirectly needs one change; everything else is additive.ForwardScopeSteadyStateTestnow allows 4 ulp of each step's largest logit, because 0.63.0 changes the accumulation order.Release steps
0.64.0on develop.🤖 Generated with Claude Code