Ornith-1.0-35B ROCmFPX (AMD Strix Halo)

This repository contains community-generated, ROCmFPX-optimized GGUF files for deepreinforce-ai/Ornith-1.0-35B.

These files are specifically compiled and quantized to run natively on AMD Strix Halo APUs (gfx1151) utilizing the experimental ROCmFPX tensor types to maximize inference speed and context length on systems with large unified memory (32GB - 128GB).

🛠️ Hardware Compatibility & Measured RAM Usage

Strix Halo utilizes a unified memory architecture (UMA). Your physical RAM is shared between the system OS and the APU's VRAM.

Because this is a 35B parameter model with native 262K context support, memory is your primary constraint. Below are real-world, measured peak unified memory footprints at different context lengths (assuming q8_0 KV cache):

Context Length Speed (Q4, 18.3 GiB) Quality (Q6, 30.0 GiB) Speed Throughput (t/s) Recommendation
512 tokens ~20 GiB ~32 GiB 1202.75 pp / 67.43 tg Trivial, extremely fast.
4K tokens ~21 GiB ~33 GiB 1153.38 pp Comfortable on 32GB (Speed) or 64GB (Quality).
32K tokens ~36.6 GiB (measured) ~59.8 GiB (measured) 845.44 pp / 600.43 pp (Q) Speed: 48GB+. Quality: 64GB+.
128K tokens ~50 GiB (est.) ~82 GiB (est.) 447.89 pp Speed: 64GB+. Quality: 96GB+.
262K tokens (Max) ~85 GiB (est. sustained) ~106 GiB (est.) 217.96 pp Speed: 128GB. Quality: 128GB.

System RAM Compatibility Summary:

  • 32 GB Systems: Run the Speed Candidate at contexts up to ~8K comfortably, or up to 32K with strict swap management. The Quality Candidate (30 GiB) is very tight — 4K max.
  • 64 GB Systems: The sweet spot. Easily handles the full 128K context for the Speed Candidate, and up to 32K for the Quality Candidate.
  • 96 GB Systems: Very comfortable. Full 128K context on Speed, up to 64K on Quality.
  • 128 GB Systems: The ultimate Strix Halo deployment. Runs absolutely everything at max 262K context without compromise.

Note on Memory: The 32K peak RSS was rigorously measured via /usr/bin/time -v: Speed = 36.6 GiB, Quality = 59.8 GiB. The 262K prompt-fill benchmark consumed ~30.48 GiB during the prompt-processing sweep (because KV is built incrementally), but sustained generation with a full 262K KV cache resident will require significantly more. The 85 GiB estimate for 262K sustained use is extrapolated from the measured 32K baseline.

⚠️ BIOS Warning for Strix Halo: By default, your BIOS may restrict the OS-visible memory or the GPU's UMA allocation. To reach 128K or 262K contexts, you must ensure your BIOS/AGESA settings are configured to expose your full physical RAM to the unified pool.

⚠️ Critical Requirement: Custom Runtime

Because these models use AMD-specific ROCmFP4 and ROCmFPX quantizations, they will not load in standard Ollama, LM Studio, or mainline llama.cpp.

You must run them using the specific charlie12345/ROCmFPX fork of llama.cpp. We have provided an install.sh and run.sh script in this repository to automate building this runtime for you.

The Models

We offer two variants depending on your workflow needs:

File Preset Size Target Use Case
Ornith-1.0-35B-ROCmFPX-Speed-StrixHalo.gguf Q4_0_ROCMFP4_COHERENT 18.35 GiB Recommended. Max speed (~67 t/s) and highest possible context scaling.
Ornith-1.0-35B-ROCmFPX-Quality-StrixHalo.gguf Q6_0_ROCMFPX_AGENT 30.04 GiB Maximum fidelity for strict coding/agent logic at the cost of context size and speed (~49 t/s).

(Both presets utilize specific "Agent" routing which protects token embeddings and attention tensors to maintain JSON and tool-calling structures, even at lower bitrates).


🚀 Quick Start Guide

1. Clone this repository

git clone https://huggingface.co/julianmb/Ornith-1.0-35B-ROCmFPX-StrixHalo
cd Ornith-1.0-35B-ROCmFPX-StrixHalo

2. Install the Runtime This compiles the custom ROCmFPX toolchain for the gfx1151 architecture. You must have ROCm 7.2.x installed.

chmod +x install.sh run.sh
./install.sh

3. Run the Model The script automatically handles the HSA_OVERRIDE and UMA environment variables. Choose your variant (speed or quality) and mode (cli or server):

# Interactive CLI — Speed model (default)
./run.sh cli speed

# Interactive CLI — Quality model
./run.sh cli quality

# OpenAI-compatible API server on port 8080
./run.sh server speed

Custom context size (via env var):

CTX_SIZE=65536 ./run.sh cli speed

Pass extra llama.cpp args (after --):

./run.sh cli speed -- --temp 0.7 --top-p 0.8

💡 Usage Tips

  • Context size: The default context is 8192 (CLI) or 32768 (server). Override with CTX_SIZE. Match it to your RAM — see the table above. Setting it higher than needed wastes memory; setting it too low truncates conversation history.
  • KV cache: Both scripts use q8_0 KV cache by default, which halves KV memory vs f16 with negligible quality loss. For maximum context on constrained RAM, try -ctk q4_0 -ctv q4_0 via the extra-args passthrough.
  • Sampling: For agentic/tool-calling tasks, use --temp 0.7 --top-p 0.8. For creative writing, --temp 0.9 --top-p 0.95. Pass these after --.
  • FlashAttention: Enabled by default (-fa on). Required for long context; disabling it will OOM at 32K+.
  • Which model? Start with Speed. Switch to Quality only if you notice degradation in JSON/tool-call structure or code correctness.

About the Quantizations

These are not standard llama.cpp quants. They use AMD-specific ROCmFPX tensor types that pack weights into formats native to the gfx1151 matrix multipliers:

  • Q4_0_ROCMFP4_COHERENT (Speed): 4-bit ROCm FP4 with "Coherent" routing — keeps attention and embedding tensors at higher precision while aggressively quantizing FFN/MoE experts. Best speed-to-quality ratio.
  • Q6_0_ROCMFPX_AGENT (Quality): 6-bit ROCm FPX with "Agent" routing — preserves all tensors critical for structured output (JSON, tool calls, code) at near-full precision. Use when fidelity matters more than speed.

Both will fail to load in upstream llama.cpp — you must use the ROCmFPX runtime built by install.sh.

Performance Benchmarks (Strix Halo / gfx1151)

Measured on Ubuntu 24.04, ROCm 7.2.3, FlashAttention Enabled.

Test Speed (Q4_COHERENT) Quality (Q6_AGENT)
Prompt Fill (pp512) 1,202.75 t/s 760.36 t/s
Generation (tg128) 67.43 t/s 49.35 t/s
Context Fill (pp4096) 1,153.38 t/s 737.51 t/s
Long Context Fill (pp32768) 845.44 t/s 600.43 t/s
Extended Context Fill (pp131072) 447.89 t/s not tested
Max Context Fill (pp262144) 217.96 t/s not tested

MTP (Multi-Token Prediction): The ROCmFPX build includes MTP support (build-strix-rocmfp4-mtp.sh), but llama-bench does not currently support the --spec-type flag needed to benchmark speculative decoding. MTP throughput gains have not been measured.

License & Attribution

  • Base model weights: MIT (DeepReinforce)
  • ROCmFPX Toolchain: MIT (charlie12345 / llama.cpp)
Downloads last month
358
GGUF
Model size
35B params
Architecture
qwen35moe
Hardware compatibility
Log In to add your hardware

We're not able to determine the quantization variants.

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for julianmb/Ornith-1.0-35B-ROCmFPX-StrixHalo

Quantized
(171)
this model