Run Entrit d2 models with llama.cpp

This installs llama.cpp, the free program that runs AI models on your own computer, with Entrit's d2 kernel added. Our d2 models store each weight as one of 9 levels, and stock llama.cpp can't read that format. The install script downloads llama.cpp, adds our kernel, and builds it for your graphics card. With no graphics card it still builds and runs, but on the processor alone a 27B model takes minutes per word, so plan on a graphics card for these models.

You'll type a few commands into a terminal. You don't need to know how to program.

Which models it runs

Model File to download Runs here?
Qwen3.8-27B d2 Qwen3.8-27B-d2-D2NL.gguf (15.3 GB) yes
Muse-Glimmer-30B d2 — no: llama.cpp doesn't support this architecture yet. Use transformers.
DeepSeek-V4-Flash d2 — no: needs DeepSeek's own inference code.

What you need

  • A Mac with Apple Silicon (M1 or newer), or a Linux PC. Windows works through WSL (see the end of this page).
  • About 5 GB of free disk space for the program, plus room for the model.
  • Enough memory for the model. Qwen3.8-27B needs a graphics card with 24 GB (RTX 3090, 4090, or similar), or a Mac with at least 32 GB.
  • Internet, for the first install.

Step 1: Open a terminal

  • Mac: press Cmd-Space, type Terminal, press Enter.
  • Linux: press Ctrl-Alt-T.

Every grey box below is a command. Copy it, paste it into the terminal, and press Enter.

Step 2: Install the build tools (once)

Mac:

xcode-select --install

A window pops up. Click Install and wait for it to finish. Then install Homebrew (a tool installer) if you don't have it, from https://brew.sh, and run:

brew install cmake

Linux (Ubuntu or Debian):

sudo apt update && sudo apt install -y build-essential cmake curl patch

Then add the part for your graphics card:

Your graphics card Extra command
NVIDIA Install the CUDA Toolkit from https://developer.nvidia.com/cuda-downloads
AMD or Intel sudo apt install -y libvulkan-dev glslc
None nothing; the processor version works but is far too slow for a 27B model

Step 3: Download and install

mkdir ~/entrit-llama && cd ~/entrit-llama
curl -fsSLO https://huggingface.co/Entrit/llama.cpp-d2nl/resolve/main/install.sh
bash install.sh

The first two lines make a folder and download the installer into it. The installer then downloads the rest of our files and llama.cpp, finds your graphics card, and builds for it. The first build takes 5 to 20 minutes. At the end you should see:

==> Self-test: Entrit kernel on ... vs the CPU
PASS
==> Done

PASS means our kernel gives the same answers on your graphics card as on the processor.

Step 4: Download a model

./get-model.sh Entrit/Qwen3.8-27B-d2-GGUF Qwen3.8-27B-d2-D2NL.gguf

It's 15 GB, so give it a while. If the download stops, run the same command again and it picks up where it left off.

Step 5: Chat with it

./run.sh models/Qwen3.8-27B-d2-D2NL.gguf

Wait until the terminal says server is listening. Then open http://localhost:8080 in your web browser and type a message. To stop, go back to the terminal and press Ctrl-C.

Other programs can talk to it too. It answers the OpenAI chat API at http://localhost:8080/v1.

Updating

When we release a new version of the kernel:

cd ~/entrit-llama
./install.sh --update

It downloads the newest files and rebuilds. Your downloaded models stay where they are.

If something goes wrong

What you see What to do
'cmake' is missing (or c++, curl, patch) Do Step 2 again.
could not download ... Check your internet connection and try again.
Vulkan needs glslc Run sudo apt install -y libvulkan-dev glslc, or install the Vulkan SDK from https://vulkan.lunarg.com
configure failed or build failed Open build-config.log or build.log. The last 30 lines usually say what is missing.
the kernel patch did not apply Run ./install.sh --update to get matching files.
The self-test doesn't say PASS Open an issue on this page's Community tab with build.log and the name of your graphics card.
out of memory, or the model loads very slowly The model is too big for your card. Add -ngl 30 to put only part of it on the graphics card: ./run.sh models/<file>.gguf -ngl 30
It picked the wrong backend Choose one yourself: ./install.sh --backend vulkan (or cuda, metal, hip, cpu)

Windows

Install WSL, which gives you Linux inside Windows. Open PowerShell as administrator and run wsl --install, restart, then open "Ubuntu" from the Start menu. From there, follow the Linux steps. NVIDIA cards work inside WSL with NVIDIA's normal Windows driver.

How it works

d2 stores each weight as one of 9 levels, {0, ±1, ±2.83, ±5.20, ±8}, times one scale per group of 64 weights. The kernel adds a GGUF type, D2NL, that holds the level index in the same 4-bit block llama.cpp uses for its IQ4_NL type, and expands it through a 16-entry int8 table:

level   0    ±1    ±2.828   ±5.196   ±8
int8    0   ±11    ±31      ±57      ±88      (10.981 × level, within 0.19% of each level)

So every IQ4_NL code path serves D2NL with the table swapped in: dp4a and int8 tensor cores on NVIDIA, Vulkan shaders on AMD and Intel, Metal on Apple, and plain C on the processor. The AMD ROCm route (--backend hip) builds from the CUDA code but hasn't been tested; use --backend vulkan if it gives you trouble.

File What it does
install.sh downloads llama.cpp, adds our kernel, builds, runs the self-test
get-model.sh downloads a model from Hugging Face into models/
run.sh starts the chat server
patches/entrit-d2nl.diff our changes to llama.cpp
LLAMA_CPP_VERSION the exact llama.cpp version our changes apply to (from PrismML-Eng/llama.cpp)

After installing, the folder also holds llama.cpp/ (the source), build/ (the program) and models/. You can delete llama.cpp/ and build/ at any time; ./install.sh makes them again.

License and notice

The patch and scripts are released under the MIT License, the same as llama.cpp. The d2 codec is the subject of pending patent applications by Entrit Systems. Contact: eric@entrit.io

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