{
  "name": "grouped-nf4-gemm",
  "canonical_package": "grouped-nf4-gemm",
  "aliases": [
    "nf4gemm",
    "gnf4",
    "grouped-mxfp4-gemm"
  ],
  "import_names": [
    "nf4_grouped",
    "mxfp4_grouped",
    "int4_b32",
    "fp8_paged_attn",
    "fp8_kv",
    "nvme_arena",
    "nvme_reader",
    "nvme_residency",
    "nvme_bake_nf4",
    "mxfp4_loader",
    "gptq_pack",
    "nf4_pack_ref",
    "mxfp4_pack_ref",
    "verify_provenance"
  ],
  "summary": "Triton kernels for 4-bit MoE inference: grouped NF4/MXFP4 GEMM, INT4 GEMV, FP8 paged attention, and CPU/NVMe expert streaming.",
  "system_manifest": {
    "role": "kernels",
    "owns": [
      "grouped packed GEMM (NF4 and native MXFP4) and its dgrad",
      "decode GEMV (int4-b32, MXFP4) and split-K reduce",
      "FP8 paged attention and the fp8 KV appends",
      "decode glue kernels (rope, norm and residual folds, swiglu, combine)",
      "pack and pure-torch reference operations, GPTQ packing, provenance verification",
      "host/NVMe primitives (arena, reader, row tier, bake, residency primitives)",
      "kernel-level measurement and the claims register for kernel-level numbers"
    ],
    "relationship": "one system, two independently released packages: the runtime package depends on the kernel package through its optional `fast` extra; the kernel package never depends on the runtime package",
    "dependency_direction": [
      "experts4bit-qlora -> grouped-nf4-gemm"
    ],
    "related_package": "experts4bit-qlora",
    "url": "https://cerinamroth.com/ml/system-manifest.json",
    "provenance_url": "https://cerinamroth.com/ml/system-manifest.provenance.json",
    "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918"
  },
  "freshness": {
    "source": {
      "repository": "pjordanandrsn/grouped-nf4-gemm",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "version": "0.30.2"
    },
    "publication": {
      "latest_pypi_version": "0.30.2",
      "fresh": true,
      "state": "CURRENT",
      "checked_at": "2026-09-06T04:07:55Z"
    },
    "generated_at": "2026-09-06T04:07:55Z"
  },
  "problems_solved": [
    "A per-expert 4-bit MoE loop pays a launch per active expert per projection, and wherever that loop dequantises (bitsandbytes releases before 0.50.0, cells outside its packed gemm_4bit inference forward, the conventional 4-bit backward) it also writes and re-reads a bf16 copy of each expert; compute the grouped expert GEMM directly on the NF4-packed weights in one launch instead.",
    "Serve or train a MoE whose experts are released as MXFP4 (gpt-oss, DeepSeek-V4, Kimi lineage) directly from the checkpoint's own bytes, without re-quantising them.",
    "Single-token (decode) expert and attention projections on 4-bit weights are bandwidth-bound; an int4 GEMV with 32-wide scales and a calibrated packer serves them near the memory ceiling.",
    "A 4-bit MoE serving path needs a paged decode attention over an fp8 KV cache -- sliding windows, attention sinks, a custom scale, per-layer KV geometry -- computed with fp8 tensor-core dots on the cards that have them.",
    "The same paged decode attention over the fp8 KV cache computed with f32 dots: the default on sm_80-sm_88 (no fp8 tensor-core dot), the fallback wherever the fp8 constraints fail with GNF4_ATTN_COMPUTE unset, and every explicit f32 request.",
    "The non-GEMM part of a batch-1 decode step is a tail of small launches (RMSNorm, residual add, rotary, router softmax and top-k, activation, top-k combine, split-K reduce); fold each into one launch.",
    "The expert weights do not fit in VRAM, or not even in host RAM: stream them from pinned host memory or from an on-disk expert arena on NVMe.",
    "Prove that the quantised bytes a kernel serves are the checkpoint's released bytes, unchanged, before quoting any result."
  ],
  "install": {
    "grouped-nf4-gemm": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "native-mxfp4-moe-inference": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "int4-decode-gemv": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "fp8-paged-attention-fp8-compute": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "fp8-paged-attention-f32-compute": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "decode-glue-kernels": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "stream-experts-from-host-or-nvme": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      },
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "primary": false
      }
    ],
    "verify-checkpoint-provenance": [
      {
        "purpose": "kernel package",
        "command": "pip install grouped-nf4-gemm",
        "primary": true
      }
    ]
  },
  "install_routes": {
    "primary": {
      "purpose": "kernel package",
      "command": "pip install grouped-nf4-gemm",
      "capabilities": [
        "grouped-nf4-gemm",
        "native-mxfp4-moe-inference",
        "int4-decode-gemv",
        "fp8-paged-attention-fp8-compute",
        "fp8-paged-attention-f32-compute",
        "decode-glue-kernels",
        "stream-experts-from-host-or-nvme",
        "verify-checkpoint-provenance"
      ]
    },
    "alternatives": [
      {
        "purpose": "through the model consumer",
        "command": "pip install \"experts4bit-qlora[fast]\"",
        "capabilities": [
          "grouped-nf4-gemm",
          "native-mxfp4-moe-inference",
          "int4-decode-gemv",
          "fp8-paged-attention-fp8-compute",
          "fp8-paged-attention-f32-compute",
          "decode-glue-kernels",
          "stream-experts-from-host-or-nvme"
        ]
      }
    ],
    "environment": {
      "os": [
        "Linux"
      ],
      "python": [
        ">=3.11 tested in CI (pyproject says >=3.9; 3.9/3.10 are not tested)"
      ],
      "accelerator": [
        "NVIDIA CUDA GPU for the serving tiers and for the default NF4 quantise bake (nvme_bake_nf4.bake_nf4 with quantize_fn=None); the relocation bake and verify (nvme_arena.bake / bake_expert_tensors / verify) need no GPU",
        "NVIDIA CUDA GPU, sm_80 or newer (sm_120 is the primary serving target)",
        "NVIDIA CUDA GPU, sm_80 or newer (the composition was measured on the RTX 5090, sm_120)",
        "NVIDIA CUDA GPU, sm_80 or newer; this is the path sm_80-sm_88 take by default. Its reference tests were run on an RTX 5090 (sm_120) with the mode forced; no registered cell exists on sm_80-sm_88",
        "NVIDIA CUDA GPU, sm_89 or newer (the fp8 tensor-core dot); measured on the RTX 5090 (sm_120) only -- sm_89 and sm_90 meet the requirement but no registered cell was run there",
        "none: pure torch (a CUDA GPU is optional)"
      ],
      "special_requirements": [
        "a local NVMe or fast block device for the arena; O_DIRECT reads",
        "bitsandbytes and CUDA for the NF4 quantise bake (nvme_bake_nf4.bake_nf4 with the default quantiser); the geometry/manifest path is pure torch when a quantize_fn is injected",
        "macOS/Windows: the pure-torch surface (pack references, dequant, provenance, arena bake/verify) imports and runs without triton via _triton_shim; the Triton kernels need a CUDA GPU; macOS and Windows are not exercised by CI",
        "pinned host RAM sized from measured free memory (capacity_for_bytes)",
        "shape constraints, all from fp8_paged_attn.fp8_compute_unsupported (the single predicate the default selector and the path's own asserts share): v_groups == 1; k_groups in (1, 2, 4, 8, 16); head_dim // k_groups >= 32; q in bf16 or fp16; split branch: ktile >= 32 when the caller supplies it; packed branch (pack_heads=True): block_tokens * n_kv_heads >= 32. A call that fails any of these with GNF4_ATTN_COMPUTE unset takes the f32 path (its own entry)",
        "the open item is on torch 2.8.0+cu128 / triton 3.4.0 -- the package floor -- so no torch/Triton pair inside the supported range is registered as passing this path's reference tests",
        "torch>=2.8",
        "torch>=2.8 (pre-releases accepted)",
        "triton>=3.4 (Linux-only distribution)"
      ]
    }
  },
  "entrypoints": [
    "arena_experts:ArenaExpertSource",
    "cli:python -m nvme_arena",
    "cli:python -m nvme_bake_nf4",
    "cli:python -m verify_provenance",
    "flag:GNF4_ATTN_COMPUTE",
    "fp8_kv:fp8_kv_append_t1",
    "fp8_kv:quantize_kv_fp8",
    "fp8_paged_attn:compute_counts",
    "fp8_paged_attn:fp8_compute_unsupported",
    "fp8_paged_attn:fp8_paged_decode_attention",
    "fp8_paged_attn:paged_attn_available",
    "fp8_paged_attn:paged_attn_ref",
    "gptq_pack:HessianAccumulator",
    "gptq_pack:gptq_pack_int4_b32",
    "int4_b32:combine_rows",
    "int4_b32:gemm_int4_b32_grouped_captured",
    "int4_b32:gemv_int4_b32",
    "int4_b32:quant_x_rows",
    "int4_b32:reduce_partials",
    "int4_b32:rmsnorm_resid_rows",
    "int4_b32:rmsnorm_rows",
    "int4_b32:rope_heads",
    "int4_b32:rope_norm_heads",
    "int4_b32:router_epilogue",
    "int4_b32:scaled_resid_add_rows",
    "int4_b32:swiglu_rows",
    "int4_pack_ref:dequant_int4_ref",
    "int4_pack_ref:pack_int4_b32",
    "mxfp4_grouped:gemm_mxfp4_grouped",
    "mxfp4_grouped:gemv_mxfp4_b32",
    "mxfp4_loader:file_tensor_sha256",
    "mxfp4_loader:provenance_table",
    "mxfp4_loader:to_kernel_shapes",
    "mxfp4_loader:verify_arena_matches",
    "mxfp4_native_load:build_native_qlora_model",
    "mxfp4_pack_ref:dequant_mxfp4",
    "mxfp4_pack_ref:quantize_pack_mxfp4",
    "mxfp4_qlora",
    "mxfp4_residency:Mxfp4NvmeResidency",
    "nf4_grouped:build_group_tiles_device",
    "nf4_grouped:dequant_ref",
    "nf4_grouped:dgrad_4bit_grouped",
    "nf4_grouped:gemm_4bit_grouped",
    "nf4_grouped:gemm_4bit_grouped_captured",
    "nf4_grouped:repack_from_bnb",
    "nf4_pack_ref:quantize_pack_nf4",
    "nf4_qlora:fused_grouped_lora",
    "nf4_qlora:gemm_4bit_grouped_train",
    "nvme_arena:bake",
    "nvme_arena:bake_expert_tensors",
    "nvme_arena:verify",
    "nvme_bake_nf4:bake_nf4",
    "nvme_reader:ArenaReader",
    "nvme_reader:alloc_landing",
    "nvme_residency:ColdTier",
    "nvme_residency:capacity_for_bytes",
    "row_pool:RowPool",
    "verify_provenance:main"
  ],
  "supported": {
    "modes": [
      "benchmark",
      "calibration",
      "inference",
      "offload",
      "packing",
      "serving",
      "streaming",
      "training",
      "verification"
    ],
    "formats": [
      "bf16",
      "fp8",
      "int4",
      "mxfp4",
      "nf4"
    ],
    "model_families": [
      "DeepSeek-V4 lineage",
      "Kimi K3 lineage (reference decode)",
      "Qwen3-235B-A22B (host-RAM flagship)",
      "any checkpoint whose experts the bake can enumerate",
      "any expert or projection weight packed with pack_int4_b32 / gptq_pack_int4_b32 (driven by experts4bit-qlora's serve lanes)",
      "any fused-expert MoE whose experts are packed in the bitsandbytes NF4 gemm_4bit layout (Qwen3-MoE, OLMoE, Mixtral, GraniteMoe, Gemma-4 text tower via experts4bit-qlora)",
      "any safetensors checkpoint; MXFP4 expert tensors for gpt-oss / DeepSeek-V4 / Kimi lineage",
      "driven by experts4bit-qlora's paged engine for Qwen3-MoE, OLMoE, GraniteMoe, gpt-oss, Gemma-4, Mixtral",
      "gpt-oss (20b, 120b)",
      "gpt-oss / DeepSeek-V4 / Kimi lineage MXFP4 arenas"
    ],
    "environment": {
      "accelerator": [
        "NVIDIA CUDA GPU, sm_80 or newer (sm_120 is the primary serving target)"
      ],
      "os": [
        "Linux"
      ],
      "python": ">=3.11 tested in CI (pyproject says >=3.9; 3.9/3.10 are not tested)",
      "special_requirements": [
        "triton>=3.4 (Linux-only distribution)",
        "torch>=2.8 (pre-releases accepted)"
      ]
    }
  },
  "limitations": [
    "Loses to a CUDA-graphed per-expert baseline at some decode shapes (claim gnf4.kernel.graphed-baseline-decode-loses); shapes below the routing threshold go back to the reference path (docs/STATUS.md)",
    "CUDA + Triton only; calling the kernel on CPU raises and names dequant_ref",
    "The fidelity claim is measured against fp32 accumulation on NVIDIA tensor cores; other backends must re-measure (docs/PORTABILITY.md)",
    "Every speed figure is per card -- the census is sm_86, the head-to-head and the real-finetune cells are RTX 4090 / H100, the torch._grouped_mm cell is RTX 5090 -- and none is an architecture-wide statement; the registered comparator is this repository's own per-expert dequantize-then-GEMM loop, and no registered cell times bitsandbytes' own packed 2-D inference forward (0.50.0 and later)",
    "A uniform int4 grid cannot represent e2m1 levels: do not quantise-bake an already-MXFP4 checkpoint to NF4 or int4 (README)",
    "gemv_mxfp4_b32 re-streams weights per row: it is a decode lever for a handful of rows; batched rows use the grouped GEMM or the consumer's NF4 path",
    "No ROCm/XPU",
    "The claims here are fidelity and provenance results from single runs per card (a rented H200 pod for serving, an L40S and an A2000 for training, the K3 oracle on CPU); the MXFP4 GEMM has no speed census of its own and gemv_mxfp4_b32 is inside no registered claim",
    "The int4-b32 GEMV and the calibrated packer are measured-private (claims gnf4.serve.int4-b32-gemv, gnf4.serve.gptq-pack-int4-b32): the receipts live in the consumer's private audit tree",
    "Split-K on the decode GEMV was refuted once and ships dormant (claim gnf4.retired.splitk-gemv records the refutation); the shipped plan is the measured one",
    "Whether int4 experts pass a quality gate is the consumer's per-family question (experts4bit-qlora docs/STATUS.md): small-active-parameter models fail it with round-to-nearest packing",
    "The single-stream decode anchor (claim gnf4.serve.decode-anchor-5090) is a consumer-measured anchor of the serving class on a knob-off basis, not a measurement of this lane, and is not cited here as its evidence",
    "One card class measured: both claims were run on the RTX 5090 (sm_120). The sm_89+ requirement is the kernel's precondition, not a measured statement about Ada or Hopper parts",
    "Adds one e4m3 rounding on q and one on p, so its test bound is wider than the f32 path's (kernel/test_fp8_paged_attn.py)",
    "pack_heads=True falls back to the split fp8 kernel with a one-time RuntimeWarning where the packed tile exceeds the card's shared memory",
    "Served-path parity (Granite, gpt-oss, Gemma-4) is measured in experts4bit-qlora's private receipts; the evidence here is kernel-level parity against paged_attn_ref",
    "KV budgets in docs/context-budgets.md are rung-one (A2000) numbers; pending rows must not be promoted",
    "Open, #319 (claim gnf4.open.f32-compute-modes-triton34, status open, so it backs nothing): on torch 2.8.0+cu128 / triton 3.4.0, on unmodified main, the split and packed f32 modes miss their fp32 reference beyond the registered tolerance in a subset of the paged-attention tests; the claim carries the numbers and the issue. A kernel that imports and launches is not numerically supported; this entry stays unsupported until the issue closes and the register carries a passing cell",
    "A lane on this path cannot be gated with -x on those torch/Triton pairs; gate the fp8 modes with -k \"f8dot or pf8\" (README, docs/STATUS.md)",
    "Explicit GNF4_ATTN_COMPUTE=f32 or compute='f32' selects this path on any card, sm_89+ included: the explicit request is honoured, never downgraded to fp8",
    "The composition timing and the paired perplexity deltas are measured-private (claim gnf4.serve.decode-glue-kernels): real runs through the consumer on the RTX 5090 whose receipts live in a private audit tree; what is checkable here is each kernel's parity test",
    "int4_b32 imports triton at module level and is not importable without it",
    "reduce_partials (0.29.0) and combine_rows (0.30.0) are inside no registered claim: capability without a published measurement",
    "NVMe is a batch tier: per-token latency is bounded by the device link (claim gnf4.nvme.tier-batch-only)",
    "Expert prefetch closed negative over four arcs (claim gnf4.flagship.prefetch-closed-negative)",
    "The cold-engine 'free floor' premise was refuted (claim gnf4.cold-engine.phase0-premise-refuted); read docs/INDEX.md before quoting any cold-engine number",
    "This entry is the primitive layer (arena, reader, row tier, low-level residency); which bytes live where and the end-to-end run of a MoE larger than VRAM are experts4bit-qlora's pages run-moe-larger-than-vram (decision/router) and offload-moe-experts-to-cpu-or-nvme (model-level integration)",
    "A quantize-at-bake arena (nvme_bake_nf4) is a documented two-hop transform: its manifest's bake_mode says it is bit-identical to the quantiser's output, not to a bf16 release",
    "Making the verifier pass on non-matching bytes is the highest-severity class in SECURITY.md; report privately"
  ],
  "non_goals": [
    "dense (non-MoE) GEMMs: use cuBLAS, torch, or bitsandbytes' own 4-bit path -- since 0.50.0 its supported ordinary 2-D inference cells compute from the packed weights directly (torch.ops.bitsandbytes.gemm_4bit); there is no grouped routed-MoE contract upstream, which is what this package is",
    "a serving engine or a vLLM replacement: this is a kernel package driven by experts4bit-qlora",
    "operating systems other than Linux for the kernels (triton is Linux-only); ROCm/XPU are port targets, not supported",
    "models that already fit in bf16 with headroom: the grouped kernel loses at small shapes and to a CUDA-graphed per-expert loop at some decode shapes (claims gnf4.kernel.graphed-baseline-decode-loses)",
    "silent fallbacks: nothing falls back silently on CPU — nf4_grouped.gemm_4bit_grouped and dgrad_4bit_grouped refuse CPU tensors with an error that names dequant_ref; gemm_mxfp4_grouped and the int4_b32 kernels carry no device guard and fail inside the Triton launch, and the fp8_kv appends and the paged attention refuse with a CUDA+Triton message that names no reference"
  ],
  "capability_status": {
    "grouped-nf4-gemm": "supported",
    "native-mxfp4-moe-inference": "supported",
    "int4-decode-gemv": "measured-private",
    "fp8-paged-attention-fp8-compute": "supported",
    "fp8-paged-attention-f32-compute": "unsupported",
    "decode-glue-kernels": "measured-private",
    "stream-experts-from-host-or-nvme": "supported",
    "verify-checkpoint-provenance": "supported"
  },
  "claim_tiers": {
    "confirmed": 11,
    "measured": 9,
    "measured-private": 3,
    "projected": 1,
    "open": 3,
    "superseded": 1,
    "retired": 2
  },
  "active_claim_ids": [
    "gnf4.kernel.fused-more-accurate-than-dequant-bf16",
    "gnf4.kernel.decode-speed-census",
    "gnf4.kernel.graphed-baseline-decode-loses",
    "gnf4.mxfp4.serve-tax-deleted",
    "gnf4.flagship.235b-phaseA",
    "gnf4.nvme.tier-batch-only"
  ],
  "solutions": [
    {
      "slug": "fp8-paged-attention-for-moe-serving",
      "title": "How do I run paged decode attention over an FP8 KV cache for a quantized MoE serving path, with sliding windows, attention sinks and a custom scale?",
      "summary": "fp8_paged_decode_attention runs paged flash-decode over an E4M3 KV cache with windows, sinks and a custom scale; the fp8 compute path is supported on sm_89+, the f32 path is open under #319.",
      "url": "https://cerinamroth.com/ml/solutions/fp8-paged-attention-for-moe-serving/"
    },
    {
      "slug": "int4-decode-gemv",
      "title": "How do I run a single-token INT4 decode GEMV over routed MoE experts, and pack calibrated (GPTQ) weights for it?",
      "summary": "gemv_int4_b32 runs the batch-1 int4-b32 decode GEMV with exact integer accumulation, and gptq_pack_int4_b32 packs calibrated weights onto the same bytes; its numbers are measured-private.",
      "url": "https://cerinamroth.com/ml/solutions/int4-decode-gemv/"
    },
    {
      "slug": "native-mxfp4-moe-inference",
      "title": "How do I run MoE expert inference natively on MXFP4 (e2m1 + e8m0) weights, straight from the released checkpoint bytes?",
      "summary": "gemm_mxfp4_grouped multiplies gpt-oss and Kimi-class experts on their released e2m1 blocks and e8m0 scales, with no requantization to NF4 and no bf16 materialization.",
      "url": "https://cerinamroth.com/ml/solutions/native-mxfp4-moe-inference/"
    },
    {
      "slug": "nf4-grouped-gemm-without-bf16-materialization",
      "title": "How do I run a grouped GEMM directly on NF4 packed MoE expert weights, without dequantizing to bf16 first?",
      "summary": "gemm_4bit_grouped runs the routed MoE expert GEMM on bitsandbytes NF4 packed weights in one Triton launch, decoding nibbles in registers with fp32 accumulation and no bf16 expert tensor.",
      "url": "https://cerinamroth.com/ml/solutions/nf4-grouped-gemm-without-bf16-materialization/"
    },
    {
      "slug": "stream-moe-experts-from-host-or-nvme",
      "title": "How do I run a MoE whose experts do not fit in VRAM, streaming them from pinned host RAM or an NVMe arena?",
      "summary": "The kernel-side storage primitives for experts that do not fit VRAM: the NVMe arena bake and O_DIRECT reader, the pinned-DRAM row tier and low-level residency, and the GPU-driven host gather.",
      "url": "https://cerinamroth.com/ml/solutions/stream-moe-experts-from-host-or-nvme/"
    },
    {
      "slug": "verify-quantized-checkpoint-provenance",
      "title": "How do I verify that the quantized expert bytes I serve or train on are the released checkpoint bytes?",
      "summary": "file_tensor_sha256, provenance_table and verify_arena_matches hash safetensors byte ranges against the loaded and baked bytes, and verify_provenance re-derives a run's hash table.",
      "url": "https://cerinamroth.com/ml/solutions/verify-quantized-checkpoint-provenance/"
    }
  ],
  "source_repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
  "pypi_project": "https://pypi.org/project/grouped-nf4-gemm/",
  "source_commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
  "commit_date": "2026-09-05",
  "repository_version": "0.30.2",
  "pypi_version": "0.30.2",
  "publication": "published",
  "synced_at": "2026-09-06T00:07:26Z",
  "pinned_urls": {
    "commit": "https://github.com/pjordanandrsn/grouped-nf4-gemm/commit/e2af4cfb91b2c29968989c5254bff55aa7da3347",
    "tree": "https://github.com/pjordanandrsn/grouped-nf4-gemm/tree/e2af4cfb91b2c29968989c5254bff55aa7da3347",
    "capabilities": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/capabilities.json",
    "claims": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/claims.json",
    "status": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/STATUS.md",
    "solutions_index": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/SOLUTIONS.md",
    "pyproject": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/pyproject.toml",
    "system_manifest": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/system-manifest.json"
  },
  "current_main_urls": {
    "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
    "capabilities": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/main/docs/capabilities.json",
    "claims": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/main/docs/claims.json",
    "status": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/main/docs/STATUS.md",
    "solutions_index": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/main/docs/SOLUTIONS.md"
  },
  "current_main_label": "latest on main — unpinned; not the source of any fact rendered here",
  "generated_from": [
    {
      "path": "docs/KERNEL_CONTRACT.md",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "5da876b1d668619da9c5a40823a9744590d28e851c150649402e6caaf925d600"
    },
    {
      "path": "docs/SOLUTIONS.md",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "45ac3f52382e5e9822c9d5b7f5b33ea28ca4b7c4bd72e7571b29ec73287065e1"
    },
    {
      "path": "docs/STATUS.md",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "9f84889d0290cc6ec2b06134e25e34c939f770aa3c9ef76f600a69d43ca264bf"
    },
    {
      "path": "docs/capabilities.json",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "438a74a5da1c695346c291adbf9f6f90879c710efb1162c4243022bac9c0bafa"
    },
    {
      "path": "docs/claims.json",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "8bfe6bb5d20b928f49a9b735844216b4b16790a90b3652213f90f9249afbc0e4"
    },
    {
      "path": "docs/system-manifest.json",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918"
    },
    {
      "path": "pyproject.toml",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "generation_schema": "1.2",
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "sha256": "a4027cfcdec5143b842b8f9f3b82998825d39a91daa76be78c3aee86d4f7adfb"
    }
  ],
  "sources": [
    {
      "repository": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "commit": "e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "commit_date": "2026-09-05",
      "package": "grouped-nf4-gemm",
      "package_version": "0.30.2",
      "published_version": "0.30.2",
      "publication": "published",
      "documents_used": [
        "docs/capabilities.json",
        "docs/claims.json",
        "docs/solutions/fp8-paged-attention-for-moe-serving.md",
        "docs/solutions/int4-decode-gemv.md",
        "docs/solutions/native-mxfp4-moe-inference.md",
        "docs/solutions/nf4-grouped-gemm-without-bf16-materialization.md",
        "docs/solutions/stream-moe-experts-from-host-or-nvme.md",
        "docs/solutions/verify-quantized-checkpoint-provenance.md",
        "docs/system-manifest.json",
        "pyproject.toml"
      ],
      "registers_used": [
        "capabilities",
        "claims"
      ],
      "synced_at": "2026-09-06T00:07:26Z",
      "pinned_tree": "https://github.com/pjordanandrsn/grouped-nf4-gemm/tree/e2af4cfb91b2c29968989c5254bff55aa7da3347",
      "current_main": "https://github.com/pjordanandrsn/grouped-nf4-gemm",
      "current_main_label": "latest on main — unpinned; not the source of any fact rendered here",
      "system_manifest": {
        "url": "https://cerinamroth.com/ml/system-manifest.json",
        "provenance_url": "https://cerinamroth.com/ml/system-manifest.provenance.json",
        "sha256": "196cb55a41e890842f258305f307b873d55639cc617cd4ae61c771a063204918",
        "pinned": "https://github.com/pjordanandrsn/grouped-nf4-gemm/blob/e2af4cfb91b2c29968989c5254bff55aa7da3347/docs/system-manifest.json"
      }
    },
    {
      "repository": "https://github.com/Cerin-Amroth/cerinamroth-site",
      "commit": null,
      "package_version": null,
      "documents_used": [
        "scripts/build_ml_site.py"
      ],
      "registers_used": [],
      "synced_at": null,
      "sections_owned": [
        "direct-answer",
        "smallest-verified-example"
      ],
      "kind": "site",
      "note": "site-authored prose; cites the registers above and copies no numbers"
    }
  ],
  "canonical_url": "https://cerinamroth.com/ml/grouped-nf4-gemm/"
}
