Skip to content

Releases: vladimirrott/mojo-dllm

Release list

mojo-dllm 0.1.0

Choose a tag to compare

@vladimirrott vladimirrott released this 04 Oct 04:22

First release: CPU inference for two diffusion language models from GGUF.
Measured speed against llama.cpp and diffuse-cpp is in
docs/benchmarks.md; agreement with llama.cpp is in
docs/correctness.md.

Added

  • LLaDA-8B and Dream-7B from Q4_K_M GGUF files (F32, Q4_K and Q6_K tensors).
  • GGUF v2/v3 reader over a memory map, with mojo-dllm inspect.
  • Int8-activation GEMM over weights repacked 8 rows per register, using
    AVX-VNNI when present, with a work-claiming thread pool for hybrid CPUs.
  • Bidirectional attention with grouped-query heads; NORM and NEOX RoPE; Q/K/V
    bias; logits computed only for the positions a step samples.
  • Byte-level BPE tokenizers (bailingmoe, qwen2) matching llama-tokenize
    id for id on a 36-case multilingual corpus each.
  • LLaDA's block sampler (low-confidence or random remasking, Gumbel
    temperature) and Dream's timestep sampler (entropy, maskgit_plus,
    topk_margin).
  • mojo-dllm run, tokenize, inspect and logits.
  • Benchmark, parity and quality harnesses, with every published number
    rendered from their result files.
  • Local-first CI (scripts/ci-local.sh, git hooks) mirrored in GitHub
    Actions; mdBook documentation.

Measured (LLaDA-8B-Instruct Q4_K_M, i5-13420H, 12 threads, 32 steps)

Runtime ms / step tokens / s peak RSS
mojo-dllm 3,005 1.33 5.9 GB
llama.cpp llama-diffusion-cli 5,807 0.69 8.4 GB

Medians of 9 runs from bench/results/2026-10-03-cpu-llada.json; the full tables, Dream-7B and diffuse-cpp included, are in docs/benchmarks.md.

Requirements

Linux on x86-64 with AVX2, about 6 GB free memory, and pixi. Build from source: pixi install && pixi run build. No binaries are attached: the Mojo runtime libraries a build links against ship under Modular's own terms (see NOTICE).