Instructions to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16 # Run inference directly in the terminal: llama cli -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16 # Run inference directly in the terminal: llama cli -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16 # Run inference directly in the terminal: ./llama-cli -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Use Docker
docker model run hf.co/pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
- LM Studio
- Jan
- vLLM
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
- Ollama
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Ollama:
ollama run hf.co/pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
- Unsloth Studio
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN to start chatting
- Pi
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Docker Model Runner:
docker model run hf.co/pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
- Lemonade
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Run and chat with the model
lemonade run user.grug-35b-v2-ROCmFP4-STRIX_LEAN-F16
List all available models
lemonade list
- Hermes Agent
How to use pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default pugant/grug-35b-v2-ROCmFP4-STRIX_LEAN:F16
Run Hermes
hermes
- Atomic Chat
grug-35b-v2 — ROCmFP4-STRIX_LEAN (Strix Halo / gfx1151)
Version 1.0 — 2026-08-11
TL;DR
grug-35b-v2 (35B params, 3B active per token, Qwen3.5-VL-MoE family) quantized to Q4_0_ROCMFP4_STRIX_LEAN (type 106 preset, ~4.29 BPW). Tuned for AMD Strix Halo (gfx1151 / RDNA 3.5) with the charlie12345/ROCmFPX fork of llama.cpp. Runs the full vision + text multimodal model in ~17.3 GiB.
⚠️ Critical warnings — read before downloading
- Requires
charlie12345/ROCmFPXfork of llama.cpp (built via thekyuz0/amd-strix-halo-toolboxescontainer). The type 106 (Q4_0_ROCMFP4_STRIX_LEAN) tensor format is INVALID in stock llama.cpp — it will refuse to load. See Usage below. - Profiled for gfx1151 only (Strix Halo / Ryzen AI Max+ 395, RDNA 3.5). Not tested on other GPUs.
- FP4 here is software on RDNA 3.5 (no FP4 silicon units): the win is bandwidth / memory, not raw compute throughput. The Strix Halo ceiling on this MoE is bandwidth-bound, which is exactly where FP4 helps.
Benchmarks
Tested on Strix Halo (AMD Ryzen AI Max+ 395, 128 GB LPDDR5X). Methodology: llama-bench -ngl 999 -fa on -p 512 -n 128 -mmap 0.
| Model | Quant | Size | tg128 (tok/s) | pp512 (tok/s) |
|---|---|---|---|---|
| grug-35b-v2 | ROCmFP4-STRIX_LEAN | 17.31 GiB | 70.92 | 1418 |
| grug-35b-v2 | Q4_K_M (baseline) | 19.70 GiB | 61.18 | — |
| Qwen3.6-35B-A3B (production ref) | ROCmFP4-STRIX_LEAN | 17.31 GiB | 63 | — |
Speed-up: +16% vs Q4_K_M (70.92 vs 61.18 tok/s tg128) at −12% size (17.31 vs 19.70 GiB). +12% vs the production Qwen3.6-35B-A3B reference.
System configuration at bench time
Declared for reproducibility:
- Bare metal host: Bosgame BeyondMax Series (
bosgame-m5), Ubuntu 24.04.4 LTS, kernel 7.0.0-28-generic - CPU power profile:
balanced(powerprofilesctl get) — default, NOT forced toperformance. Representative of an out-of-the-box setup. - CPU scaling driver:
amd-pstate-epp, scaling_governorperformance(amd-pstate-epp default), EPPperformance - IOMMU / iGPU power: auto (no manual tuning)
Note: tok/s above were measured on a non-tuned system (power profile balanced). Users who set powerprofilesctl set performance may see slightly higher numbers.
Quantization details
Preset Q4_0_ROCMFP4_STRIX_LEAN (GGUF file_type 106, ~4.29 bits/weight):
- Attention K/V (
blk.*.attn_qkv.weight,blk.*.attn_v.weight) →q4_0_rocmfp4(high-precision path for attention state) - Token embeddings (
token_embd.weight) →Q5_K(preserve vocab fidelity) - Expert FFN (
blk.*.ffn_*_exps.weight) →q4_0_rocmfp4_fast(max speed path; the bulk of MoE weights) - Other tensors → F32 / Q4_0_ROCMFP4_FAST as appropriate
Reference fork: charlie12345/ROCmFPX commit 00d5452.
imatrix methodology
Generated with llama-imatrix (256 chunks, 16 threads, CPU-only). Calibration text from ProCreations/grug-think-v3-10k — public Apache-2.0 dataset, not gated: anyone can download it to replicate. Many thanks to the grug team for publishing both the model and a clean calibration set.
- 510 entries over 733 tensors
- Warning
partial data 99.61%during quantization = 1/256 expert not activated in calibration (normal for MoE — seetools/imatrix/imatrix.cppin llama.cpp). Negligible impact.
Files
| File | Size | Description |
|---|---|---|
grug-35b-v2-ROCmFP4-STRIX_LEAN.gguf |
~17.32 GiB | Main model (type 106) |
mmproj-grug-35b-v2-f16.gguf |
~857 MB | Vision projector (F16) |
imatrix-grug-35b-v2.gguf |
~183 MB | Importance matrix (for re-quantization) |
Usage
# Requires the kyuz0 Strix Halo toolbox (which builds charlie12345/ROCmFPX)
docker run --rm -p 1234:1234 --device /dev/kfd --device /dev/dri \
-v /path/to/models:/models rocmfpx-llm-service \
llama-server \
-m /models/grug-35b-v2-ROCmFP4-STRIX_LEAN.gguf \
--mmproj /models/mmproj-grug-35b-v2-f16.gguf \
-ngl 999 -fa on --jinja -c 32768 --host 0.0.0.0 --port 1234
Notes:
- MTP not enabled for grug. The
mtp_num_hidden_layersfield is 0 in this model (MTP was removed during fine-tuning), so it cannot be activated. - The
--mmprojflag is required for the vision tower (multimodal). Without it, text-only still works.
How to replicate
Textual pipeline only (no published scripts):
- Build the
docker-llm-service-convertimage fromkyuz0/amd-strix-halo-toolboxes+charlie12345/ROCmFPX(commit00d5452or later main HEAD — must containMODEL_ARCH.QWEN35MOE). - Download the BF16 safetensors from
ProCreations/grug-35b-v2. - Convert to GGUF with
convert_hf_to_gguf.py(inside the container). - Generate the imatrix with
llama-imatrixusingProCreations/grug-think-v3-10k(256 chunks). - Quantize:
llama-quantize <bf16>.gguf <out>.gguf Q4_0_ROCMFP4_STRIX_LEAN 16.
Attribution & model tree
Qwen3.5-VL-MoE (base architecture)
└── ornith-ai/Ornith-1.0-35B (MIT)
└── ProCreations/grug-35b-v2 (Apache-2.0)
└── this GGUF (ROCmFP4-STRIX_LEAN)
- Base model:
ProCreations/grug-35b-v2(Apache-2.0) - Quantization fork:
charlie12345/ROCmFPX(MIT) - Container runtime:
kyuz0/amd-strix-halo-toolboxes
License
Apache-2.0 (inherited from ProCreations/grug-35b-v2). Derivative work: original model and its license are preserved. See LICENSE and NOTICE.
Acknowledgements
Built on the shoulders of giants:
- kyuz0/amd-strix-halo-toolboxes — Strix Halo container runtime
- charlie12345/ROCmFPX — llama.cpp fork with ROCmFP4 presets (type 106)
- ProCreations — grug-35b-v2 + the grug-think-v3-10k calibration dataset
- ornith-ai / DeepReinforce Team — Ornith-1.0-35B, the base of grug
- llama.cpp community + Kawrakow (imatrix methodology)
- Hardware: Bosgame BeyondMax Series (Strix Halo bare metal host)
Limitations & community feedback
- Speed benchmark only. No perplexity / MMLU / quality eval is included in this release. The MoE structure is preserved bit-for-bit from the BF16 source except for the quantized tensor formats above; quality is expected to track standard Q4_K_M-class with the ROCmFP4 attention/K-V choices, but this is not measured here.
- Profiled for gfx1151 only. Not tested on other GPUs (no Navi 3 / Navi 4 / data-center MI series numbers — feel free to share yours).
- MTP not activated (plain inference).
We invite the community — especially fellow Strix Halo owners — to test and share quality results. Open a Discussion on this repo.
Citation
@misc{grug35b2026,
title = {grug-35b-v2},
author = {ProCreations},
year = {2026},
url = {https://huggingface.co/ProCreations/grug-35b-v2}
}
Disclaimer
No affiliation with AMD, Qwen, ProCreations, DeepReinforce, unsloth, kyuz0, or charlie12345. Provided as-is, without warranty. Users must comply with the base model license (Apache-2.0).
- Downloads last month
- -
We're not able to determine the quantization variants.