kern-qwen38-sm103

Kernel artifacts and manifests for running Qwen3.8-27B (plain decode and its DFlash2 speculative draft) on one GB300 (sm_103a) with kern, a model-agnostic GPU runtime. The runtime contains no model; everything it needs to know about this one is in the manifest.

Layout

  • cubins/<name>-<sha12>.cubin — every device module the manifests pin, one flat content-addressed directory. The runtime resolves modules by sha256 only; the name is a label and the sha prefix keeps every version of a kernel side by side. New builds are added, nothing is renamed or removed.
  • manifests/qwen3.8-27b.json — the decode manifest (prefill, decode, decode_batch programs; full attention on TRTLLM-GEN, GDN layers on vLLM's Triton kernels plus kern's fused decode kernels). decode and decode_batch declare graph (driven through a captured CUDA graph); prefill runs launch by launch, up to 8192 tokens a chunk (tokens).
  • manifests/qwen3.8-27b-dflash2.json — the same model with its DFlash2 draft: draft, verify and round programs, zero extra runtime code.

Both manifests match examples/ in the kern repository at the commit named in each upload's commit message. They are manifest schema 5 and need kern v0.2.0 or newer (curl -fsSL https://kern-baa.pages.dev/install.sh | sh installs kern and kern-serve together); v0.1.0 refuses the file.

Not hosted here

  • Weights and tokenizer. They are the models' own Hugging Face checkpoints, unmodified: Qwen/Qwen3.8-27B and, for the draft, incoai/Qwen3.8-27B-DFlash2. Each weight buffer in the manifest names the checkpoint tensors (or the rectangles of them) that fill it, so the runtime assembles qkv / gate_up and the draft's fused buffers straight from the safetensors shards, and a load program computes the rest (rope tables, Gemma norm offsets) on the device.

Run

hf download Pegainfer/kern-qwen38-sm103 --local-dir kern-qwen38
hf download Qwen/Qwen3.8-27B --local-dir qwen3.8-27b                  # the weights, as published
kern run --manifest kern-qwen38/manifests/qwen3.8-27b.json \
         --kernels  kern-qwen38/cubins \
         --weights  qwen3.8-27b \
         --gpu 0 --prompt "The capital of France is" --steps 32

For the speculative manifest add the draft checkpoint as a second --weights (hf download incoai/Qwen3.8-27B-DFlash2 --local-dir dflash2, then --weights qwen3.8-27b --weights dflash2); its 8-row draft / verify round is the default step.

The same three flags serve it over an OpenAI-compatible endpoint:

kern-serve --manifest kern-qwen38/manifests/qwen3.8-27b.json --kernels kern-qwen38/cubins \
           --weights qwen3.8-27b --served-model-name qwen3.8-27b

kern test --reference <other manifest> attests one manifest against another on logits; kern bench measures programs in isolation.

Provenance and licenses

artifacts origin license
argmax, attn_prep, copy_rows, dflash_conv, dflash_select, embedding, gdn_advance, gdn_decode, gemm16, gemma_rms_norm, line_copy, sigmoid_mul, silu_mul, spec_round, topk_row, weight_prep kern's handwritten kernels, tools/kernels-src/*.cu in the kern repo, nvcc -cubin -arch=sm_103a same as kern
chunk_h, chunk_o, cumsum, kkt, recompute, solve_tril, post_conv, conv_fwd, conv_update_spec, recurrent_spec, layer_norm, mrope, cache, reduce, unified, unified_noncausal, d_cache, d_rms_norm, d_rope, vllm_activation captured from vLLM 0.28's Triton JIT and CUDA extension on GB300 (the GDN ops are the flash-linear-attention kernels vLLM vendors) Apache-2.0 (vLLM); the vendored FLA ops are MIT
fmhaSm100fKernel_…SwapsAbForGen (×2), fmhaSm103aKernel_…PersistentContext NVIDIA TensorRT-LLM's generated attention kernels (trtllm-gen), copied byte for byte from NVIDIA's public artifactory pin 158f6fa11ef139a098cfddcdddce73ca99d164ad/fmha/trtllm-gen/ (the same files FlashInfer downloads and ships in flashinfer-cubin, and TensorRT-LLM checks into its tree); sha256 pinned in the kern repo's tools/trtllm-gen/artifacts.json Apache-2.0: the LICENSE NVIDIA publishes next to the cubins, copied to licenses/LICENSE.trtllm-gen.txt

Toolchain of the handwritten kernels the base manifest pins (attn_prep, gdn_decode, gemm16, gemma_rms_norm-92dda…, sigmoid_mul-2b07…, silu_mul, weight_prep): CUDA 13.0 nvcc (cuda_13.0.r13.0/compiler.36424714_0). A different nvcc yields a different cubin and therefore a different sha; the manifest pins the build that was present when it was generated, and whether two builds agree numerically is kern test's verdict, not the name's. The older handwritten builds were made before the toolchain was recorded.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support