Skip to main content

SnowLLM

A local LLM inference framework, hand-tuned for the Ryzen AI Max APU.

SnowLLM is fast with:

  • Kernels hand-tuned for the Ryzen AI Max series
  • Compute precision chosen for what the hardware runs fastest
  • Tuned for low-concurrency inference
  • Speculative decoding

Performance

On one Ryzen AI Max+ 395, Qwen3.6-35B-A3B-FP8, 8K in / 1K out, with speculative decoding (MTP) on:

Users Context Output tok/s Prefill tok/s TTFT
1 8K 76.7 3467 2.1 s
4 8K 176.9 3430 5.3 s
1 200K 49.3 1227 168.4 s

See BENCHMARK.md for details.

Accuracy: 91.7% avg@4 on AIME 2026 (±4.2), vs. Qwen's reported 92.7 at avg@8.

Support matrix

Tested only on the Ryzen AI Max+ 395; the rest of the Ryzen AI 300 series (same gfx1151) should work but unverified. The only supported model today is Qwen3.6-35B-A3B-FP8.

Requirements

  • Linux x86_64, AMD gfx1151 (Ryzen AI Max 300 series — Strix Halo)
  • ROCm 7.x.
  • Python ≥ 3.10, and a ROCm build of PyTorch — see below.

Install

torch must be installed from AMD's index:

# https://rocm.docs.amd.com/projects/ai-ecosystem/en/latest/frameworks/pytorch/install.html
pip install --index-url https://repo.amd.com/rocm/whl-multi-arch/ \
    "torch[device-gfx1151]==2.12.0+rocm7.14.0"
pip install snowllm snowllm-kernels

Get a model

snowllm loads a local Hugging Face safetensors checkpoint:

hf download Qwen/Qwen3.6-35B-A3B-FP8 --local-dir ~/models/Qwen3.6-35B-A3B-FP8

Run

snowllm ~/models/Qwen3.6-35B-A3B-FP8

Common flags (snowllm --help lists every option):

Flag What it does
--max-num-seqs Concurrency ceiling, up to 256. A memory choice, not a kernel limit: each request pins linear-attention state for its whole life.
--max-model-len Context length, e.g. 32k. KV is provisioned worst-case over it.
--max-num-batched-tokens Tokens per launch, i.e. the prefill chunk. auto sizes it to the memory left after the context pools.
--num-spec Speculative depth. The optimum is workload-dependent; 2 is a robust default.
--kv-cache-dtype bf16 or int8. int8 halves KV bytes: more decode throughput at long context, less prefill.
--limit-mm-per-prompt Images one request may carry.

Roadmap

  • More models
  • Tensor parallelism at any degree
  • Adaptive KV cache pool
  • NPU/GPU co-working prefill
  • Native INT4 quantization

License

  • SnowLLM: Apache-2.0
  • SnowLLM-Kernels: All rights reserved

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snowllm-0.1.0-py3-none-any.whl (74.0 kB view details)

Uploaded Python 3

File details

Details for the file snowllm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: snowllm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 74.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for snowllm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b540130acee8d7e80769af9fc927cb165b80d37c553f02acc32b6d8d793ed3a
MD5 b63caacc331b20f181a3729cc4add1df
BLAKE2b-256 a0d530128ebc2d8095c9ba1a0446b10b63b6e6a64487d8087e9ebcc8ca8fd73c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page