You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split out from #272 — the eager-path scope of that issue is done (the SmolLm2InferenceSpike.kt commonTest reproducer, AndroidSmolLm2E2eTest.kt,
and the feature/smoll disposition are all resolved). This issue tracks the
one item that's still open: the compiled path.
Ask
Add the SmolLM2-135M-Instruct compiled leg — DSL → nn-DAG → StableHLO → IREE
— following the :llm-runtime:gemma-iree precedent:
A gemma3 (or smollm2) → StableHLO export on the host side, matching :llm-inference:gemma's existing gemma3 → StableHLO export that produces
the .vmfb + .irpa pair.
A :llm-runtime:smollm2-iree-shaped module (or extend gemma-iree if the
architecture is close enough) with the on-device decode loop — IreeRuntime + a *Decoder, mirroring GemmaDecoder/GemmaKvDecoder in llm-runtime/gemma-iree/src/nativeMain.
SmolLM2-135M-Instruct (138 MiB, GGUF Q8_0) is already the standard
cross-target reproducer per #272 — small enough for CI, phones and
simulators, llama-architecture. Using the same checkpoint for the compiled
leg gives an apples-to-apples eager-vs-compiled comparison per target instead
of introducing a second model just for this path.
gemma-iree precedent: llm-runtime/gemma-iree (IreeRuntime.kt, GemmaDecoder.kt, GemmaKvDecoder.kt in src/nativeMain), paired with the
host-side gemma3 → StableHLO export in :llm-inference:gemma.
Split out from #272 — the eager-path scope of that issue is done (the
SmolLm2InferenceSpike.ktcommonTest reproducer,AndroidSmolLm2E2eTest.kt,and the
feature/smolldisposition are all resolved). This issue tracks theone item that's still open: the compiled path.
Ask
Add the SmolLM2-135M-Instruct compiled leg — DSL → nn-DAG → StableHLO → IREE
— following the
:llm-runtime:gemma-ireeprecedent:gemma3(orsmollm2) → StableHLO export on the host side, matching:llm-inference:gemma's existing gemma3 → StableHLO export that producesthe
.vmfb+.irpapair.:llm-runtime:smollm2-iree-shaped module (or extendgemma-ireeif thearchitecture is close enough) with the on-device decode loop —
IreeRuntime+ a*Decoder, mirroringGemmaDecoder/GemmaKvDecoderinllm-runtime/gemma-iree/src/nativeMain.vs. compiled numbers are directly comparable per target (JVM, Android,
iOS simulator/device, linuxX64/Arm64, macosArm64).
Why this model
SmolLM2-135M-Instruct (138 MiB, GGUF Q8_0) is already the standard
cross-target reproducer per #272 — small enough for CI, phones and
simulators, llama-architecture. Using the same checkpoint for the compiled
leg gives an apples-to-apples eager-vs-compiled comparison per target instead
of introducing a second model just for this path.
Context
field report (context in SmolLM2-135M as the standard cross-target reproducer: commonTest inference spike + showcase for eager and DSL → nn-DAG → StableHLO → IREE #272).
gemma-ireeprecedent:llm-runtime/gemma-iree(IreeRuntime.kt,GemmaDecoder.kt,GemmaKvDecoder.ktinsrc/nativeMain), paired with thehost-side
gemma3→ StableHLO export in:llm-inference:gemma.