Skip to content

About

HIVE ( Hierarchical , Inference , Versatile Engine ) — llama.cpp fork for Stable-DiffCoder block-causal diffusion inference

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

llama.cpp

llama

HIVE — Hierarchical Inference Versatile Engine

HIVE (Hierarchical Inference Versatile Engine) is our local inference stack. This repo is its llama.cpp fork for diffusion language models (dLLMs): fast quantized GGUF inference on CPU/GPU, no PyTorch.

Diffusion LLMs unmask tokens in blocks over multiple steps (unlike standard left-to-right models). Upstream llama.cpp supports Dream, LLaDA, and RND1 via llama-diffusion-cli. This fork adds stable-diffcoder for Stable-DiffCoder — block-causal attention and KV-window decode (~5× faster). --diffusion-resident applies to all supported dLLMs in this build.

Experimental disclosure: HIVE patches (stable-diffcoder, KV-window, resident mode, latent I/O) are under active development. APIs, performance, and correctness may change between releases. Not recommended for production without your own validation. Upstream llama.cpp diffusion support is likewise evolving.

Setup: docs/STABLE-DIFFCODER.md

Supported diffusion LLMs (dLLMs)

llama-diffusion-cli only loads GGUFs whose metadata names a diffusion arch llama.cpp knows about (general.architecture). It won't run arbitrary dLLMs from Hugging Face unless they match one of these:

GGUF arch Model family Notes
dream Dream (Qwen2-based) Timestep scheduling (--diffusion-eps). See examples.
llada LLaDA Fully non-causal; block scheduling (--diffusion-block-length).
llada-moe LLaDA MoE Same diffusion path as llada.
rnd1 RND1 Entropy / timestep scheduling.
stable-diffcoder Stable-DiffCoder (HIVE) Block-causal + KV window — recommended for DiffCoder weights.

What works

You have… Works?
Dream / LLaDA / RND1 GGUF, arch tag already correct Yes — see examples/diffusion/README.md
Stable-DiffCoder GGUF tagged llama (the usual mradermacher release) Yes — scripts/retag_gguf_diffusion.py --target-arch stable-diffcoder
Stable-DiffCoder re-tagged as llada only Runs, but the non-causal mask can duplicate tokens (total total, etc.)
dLLM with no llama.cpp arch (CoDA, one-off HF exports, …) No
GGUF still tagged autoregressive llama No — diffusion path never engages

HIVE additions by model

Feature Dream / LLaDA / RND1 stable-diffcoder
llama-diffusion-cli Yes (upstream) Yes
--diffusion-resident Yes Yes
Block-causal mask + KV-window decode No Yes
--diffusion-hidden-out / --diffusion-control-prefix No Yes

Other dLLMs: Resident mode is arch-agnostic today. Block-causal attention, KV caching, and latent I/O require a model trained with frozen blocks across denoise steps — then add an arch module (same pattern as src/models/stable-diffcoder.cpp). Fully non-causal models (Dream, LLaDA, RND1) cannot use KV-window as implemented; wrong mask on block-causal weights produces duplicated tokens.

Quick start

A few options to get llama.cpp installed on your machine:

Once installed:

# Download and run a model directly from Hugging Face
llama cli -hf ggml-org/Qwen3.5-0.8B-GGUF

# Launch OpenAI-compatible API server
llama serve -hf ggml-org/Qwen3.5-0.8B-GGUF
VLM session with `llama cli` VLM session with llama cli Built-in web UI against `llama serve` running Qwen 3.6 Built-in web UI against llama serve

Description

The main goal of llama.cpp is to enable LLM (and VLM) inference with minimal setup and state-of-the-art performance on a wide range of hardware - locally and in the cloud.

  • Plain C/C++ implementation without any dependencies
  • Apple silicon is a first-class citizen - optimized via ARM NEON, Accelerate and Metal frameworks
  • AVX, AVX2, AVX512 and AMX support for x86 architectures
  • RVV, ZVFH, ZFH, ZICBOP and ZIHINTPAUSE support for RISC-V architectures
  • 1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, and 8-bit integer quantization for faster inference and reduced memory use
  • Custom CUDA kernels for running LLMs on NVIDIA GPUs (support for AMD GPUs via HIP and Moore Threads GPUs via MUSA)
  • Vulkan and SYCL backend support
  • CPU+GPU hybrid inference to partially accelerate models larger than the total VRAM capacity

The llama.cpp project is build on top of the ggml library.

Supported backends

Backend Target devices
BLAS All
BLIS All
CANN Ascend NPU
CUDA Nvidia GPU
HIP AMD GPU
Hexagon [In Progress] Snapdragon
IBM zDNN IBM Z & LinuxONE
MUSA Moore Threads GPU
Metal Apple Silicon
OpenCL Adreno GPU
OpenVINO [In Progress] Intel CPUs, GPUs, and NPUs
RPC All
SYCL Intel GPU
VirtGPU VirtGPU APIR
Vulkan GPU
WebGPU All
ZenDNN AMD CPU

Documentation

Tools

Development

Contributing

  • Contributors can open PRs
  • Collaborators will be invited based on contributions
  • Maintainers can push to branches in the llama.cpp repo and merge PRs into the master branch
  • Any help with managing issues, PRs and projects is very appreciated!
  • Read the CONTRIBUTING.md for more information

Acknowledgements

  • yhirose/cpp-httplib - Single-header HTTP server, used by llama-server - MIT license
  • stb-image - Single-header image format decoder, used by multimodal subsystem - Public domain
  • nlohmann/json - Single-header JSON library, used by various tools/examples - MIT License
  • miniaudio.h - Single-header audio format decoder, used by multimodal subsystem - Public domain
  • subprocess.h - Single-header process launching solution for C and C++ - Public domain

About

HIVE ( Hierarchical , Inference , Versatile Engine ) — llama.cpp fork for Stable-DiffCoder block-causal diffusion inference

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages