jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF overview
CIRU DualView — one model, two execution views assets/dualview.png https://llm.ciru.ai/dualview CIRU DualView Ornith 1.0 35B Read the DualView technical whitep…
Runs locally from ~31.23 GB disk (32 GB+ VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| Ornith1.0-35b-CIRU-DUALVIEW-FPX7+Q8-MTP.gguf | GGUF | GGUF | 31.23 GB | Download |
Model Details
| Model ID | jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF |
|---|---|
| Author | jcbtc |
| Pipeline | image-text-to-text |
| License | other |
| Base model | deepreinforce-ai/Ornith-1.0-35B,Qwen/Qwen3.6-35B-A3B |
| Last modified | 2026-07-27T18:32:29.000Z |
Model README
---
license: other
license_name: composite-mit-apache-2.0
license_link: https://huggingface.co/jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF/blob/main/NOTICE.md
base_model:
- deepreinforce-ai/Ornith-1.0-35B
- Qwen/Qwen3.6-35B-A3B
pipeline_tag: image-text-to-text
library_name: llama.cpp
inference: false
tags:
- gguf
- llama.cpp
- rocm
- amd
- strix-halo
- gfx1151
- mixture-of-experts
- quantized
- vision
- image-text-to-text
- speculative-decoding
- mtp
- dualview
- rocmfpx
---

CIRU DualView Ornith 1.0 35B
Read the DualView technical whitepaper (PDF)
— the formal weight model, byte-exact conversion proof, phase-specialized
routing design, and full experimental analysis.
68.56% full-model prefill gain in the same-weight FPX7 ablation
This is the quality-maximized DualView release of
a 256-expert reasoning, tool-use, coding, and vision model engineered for AMD
unified-memory systems.
DualView keeps a compact FPX7-led target for generation, opens an **exact INT8
compute view of the same stored values** for prompt ingestion, and keeps the
model's sensitive attention and state-space outputs at Q8. The download also
includes the official Qwen3.6 MTP layer and Ornith's matching F32 vision
projector.
> ROCmFPX is required. This model introduces a new GGUF type and execution
> path that stock llama.cpp does not understand. Use the
> release of ciru-ai/ROCmFPX.
| What matters | This release |
|---|---|
| Model | Ornith 1.0 35B-A3B, 256 experts / 8 active |
| Quality position | Quality-max 7.533-bpw target with Q8 precision islands |
| Native context | 262,144 tokens |
| Vision | Included — matching Ornith F32 projector |
| HumanEval base | 98.78% — 162/164 |
| HumanEval+ | 93.29% — 153/164 |
| Target-only PP4096 | 1,236.16 tok/s |
| Target-only TG256 | 48.05 tok/s |
| Best tested MTP decode mean | 84.40 tok/s |
| Best tested MTP code mean | 101.44 tok/s |
| Primary hardware | Ryzen AI Max+ 395 / Radeon 8060S, gfx1151 |
Why two views are worth doing
The most direct experiment disables only the INT8 compute view. The model,
stored FPX7 values, scales, runtime, ROCm device, F16 KV, batch/ubatch, and
flash-attention settings stay fixed.
| Same-weight execution-path ablation | PP4096 tok/s | TG256 tok/s |
|---|---:|---:|
| Canonical packed FPX7 matmul | 713.421 tok/s | 48.511 tok/s |
| Exact INT8 prefill view + packed FPX7 decode | 1,202.550 tok/s | 48.719 tok/s |
| Change from opening the second view | +68.56% | +0.43% |
This is an ablation of the execution path, not a comparison against another
model. It isolates the DualView mechanism:
- Prefill: the same values reach AMD's mature INT8 matrix path instead of
running packed-Q7 MMQ.
- Decode: the compact FPX7 representation remains the active path, so
generation speed is unchanged within measurement noise.
At the routed-operator level, the same pattern is even easier to see:
| Ornith routed FFN geometry, PP512 | Packed FPX7 | Exact INT8 view | Speedup |
|---|---:|---:|---:|
| Gate/up | 4,271.03 µs | 1,843.43 µs | 2.32× |
| Down | 4,355.82 µs | 2,015.37 µs | 2.16× |
These are operator timings, while the 68.56% result above is a full-model
PP4096 measurement across three clean loads and nine samples.
The retained quality-max release
The shipped target adds Q8 precision islands for every full-attention Q/K/V/O
projection and every Mamba ssm_out projection. That final topology-aware
recipe is faster than the public Q8 controls while retaining the packed FPX7
decode path for the other quantized tensors.
Matched protocol: ROCm0 on gfx1151, full offload, F16/F16 KV, flash attention,
batch/ubatch 2048/512, 16 threads, MTP disabled.
| Public or shipped Ornith target | PP4096 tok/s | TG256 tok/s | What it shows |
|---|---:|---:|---|
| CIRU DualView quality-max | 1,236.156 | 48.049 | Fastest prefill |
| Official Q8_0 | 1,184.626 | 43.470 | Same-release Q8 control |
| LordNeel Q6_K | 1,110.903 | 52.458 | Fastest decode in this matched panel |
| Unsloth UD-Q8_K_XL | 1,125.562 | 42.628 | Public high-bit dynamic quant |
Against official Q8_0, the shipped target is 4.35% faster in prefill and
10.53% faster in decode. Q6_K remains 9.18% faster in decode, but DualView
is 11.28% faster in prefill. The point is a stronger Pareto position—not a
claim that one format wins every phase.
Retained DualView repeatability:
- PP4096 load means:
1,239.972,1,246.529,1,221.966 tok/s - PP4096 nine-sample range:
1,219.43–1,249.91 tok/s - TG256 load means:
47.899,48.182,48.067 tok/s - TG256 nine-sample range:
47.783–48.233 tok/s
Public quant sweep at 64K
The long-context control used the same 64K prose and code prompts, 256 output
tokens, F16 KV, flash attention, one slot, and the normal target-only server
path. These are complete published Unsloth quant files, not isolated kernels.
| Ornith target-only model | Target bytes | Prefill | Decode | Mean wall time |
|---|---:|---:|---:|---:|
| UD-Q5_K_M | 26.456 GB | 667.44 tok/s | 36.49 tok/s | 105.28 s |
| CIRU DualView quality-max | 32.639 GB | 652.01 tok/s | 37.05 tok/s | 107.50 s |
| UD-Q6_K_XL | 31.844 GB | 647.18 tok/s | 36.42 tok/s | 108.37 s |
| UD-Q8_K_XL | 38.201 GB | 619.20 tok/s | 33.78 tok/s | 113.50 s |
At 64K, DualView is within 2.1% of the Q5 wall time, slightly faster than Q6,
and 5.3% faster end to end than Q8_K_XL. It also beats all three controls in
measured decode.
The public DualView download is 33.537 GB because it also carries the optional
0.898 GB MTP layer. The speed row above uses the 32.639 GB target payload with
MTP disabled.
That is the point of this release: keep the quality-focused model while
running in the same practical speed class as materially smaller quants.
Quality evidence
DualView is not a uniform low-bit conversion.
- All full-attention query, key, value, and output matrices remain Q8.
- Every Mamba
ssm_outmatrix remains Q8. - The remaining target matrices use CIRU's 7.50-bpw format.
- The prefill representation is derived exactly from those stored weights. It
does not introduce a second quantization or an additional rounding step.
The release has coding, agent, tool-use, and language-model checks—not only
weight-error proxies:
| Quality test | Result | Protocol note |
|---|---:|---|
| HumanEval base | 98.78% — 162/164 | Thinking on, MTP depth 7 |
| HumanEval+ | 93.29% — 153/164 | Stronger EvalPlus tests |
| BigCodeBench Hard Instruct | 27.70% — 41/148 | Thinking off, MTP depth 7 |
| HermesAgent-20, target only | 84.0 mean — 85 / 88 / 79 | Three complete 20-scenario trials |
| HermesAgent-20, MTP depth 7 | 83.0 mean — 87 / 78 / 84 | Three complete 20-scenario trials |
| ToolEval hard, target only | 75.67 mean — 70 / 70 / 87 | Three complete 15-scenario trials |
| ToolEval hard, MTP depth 7 | 87 | 12 pass / 2 partial / 1 fail |
| WikiText-2 perplexity | 8.461721 | 24,576 tokens / 48 chunks |
HumanEval used 131,072 context, unrestricted native reasoning,
temperature=0.6, top_p=0.95, top_k=0, min_p=0, seed 42, and MTP depth
- BigCodeBench used all 148 Hard-Instruct tasks, 131,072 context,
temperature=0.6, top_p=0.95, top_k=20, seed 42, thinking disabled, and
MTP depth 7; all 148 generations stopped normally. HermesAgent and ToolEval
used the release thinking sampler.
The HumanEval publication is an audited protocol-corrected result. Four tasks
that looped under a restrictive fenced-code adapter were replayed with the raw
dataset prompt under otherwise matched settings; all four terminated and
passed. The original outputs, replacements, task IDs, hashes, and scoring
artifacts remain preserved. No benchmark-specification disputes were credited.
The result is also listed on CIRU Lab.
HermesAgent and ToolEval are small repeated behavioral panels, not broad
leaderboard rankings. They are included because they exercise the model's
actual agent and tool paths. For the source model's broader capability results,
see the
How DualView works
Prefill and decode are different workloads:
- Decode repeatedly streams weights. Compact storage matters most.
- Prefill performs wide matrix work. A regular INT8 representation maps
better to AMD dot-product and WMMA hardware.
DualView gives the same target weights two hardware-facing representations:
┌─ compact FPX7 view ── generation / decode
one authoritative target┤
└─ exact INT8 view ──── prompt ingestion / prefill
The runtime expands the signed seven-bit values into signed eight-bit lanes
while reusing the same FP16 scales. The numerical value represented by every
stored weight is unchanged by that conversion.
This does not mean the quant is lossless relative to the original BF16
model. It means decode and prefill share one authoritative quantized target
instead of storing two independently rounded models.
Read the visual introduction to DualView →
Native vision is included
Ornith is a vision-language model. This repository includes the matching
Ornith vision tower as:
vision/Ornith-1.0-35B-F32.mmproj
The .mmproj extension prevents the Hugging Face GGUF parser from mistaking
the projector for the 35B language model. It remains a GGUF-format projector
and is passed normally with --mmproj.
The F32 projector is an exact upcast of the source BF16 values. It avoids an
additional FP16 conversion in the quality-max release.
Download
python3 -m pip install -U huggingface_hub
mkdir -p models/vision
hf download \
jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF \
"Ornith1.0-35b-CIRU-DUALVIEW-FPX7+Q8-MTP.gguf" \
--local-dir ./models
hf download \
jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF \
"vision/Ornith-1.0-35B-F32.mmproj" \
--local-dir ./models
Run at the full 256K context
This starts the unchanged target with vision enabled and MTP disabled:
export MODEL="./models/Ornith1.0-35b-CIRU-DUALVIEW-FPX7+Q8-MTP.gguf"
export MMPROJ="./models/vision/Ornith-1.0-35B-F32.mmproj"
export GGML_HIP_ENABLE_UNIFIED_MEMORY=1
export GGML_ROCM_GFX1151_Q7_Q8_VIEW=no-output
./build-strix-dualview/bin/llama-server \
-m "$MODEL" \
--mmproj "$MMPROJ" \
--alias "Ornith1.0-35b-CIRU-DUALVIEW" \
--host 127.0.0.1 \
--port 8080 \
--jinja \
--reasoning on \
--reasoning-format deepseek \
--reasoning-budget -1 \
-dev ROCm0 \
-sm none \
-ngl 999 \
-fa on \
-c 262144 \
-n 16384 \
-b 2048 \
-ub 512 \
-t 16 \
-tb 16 \
-ctk f16 \
-ctv f16 \
--parallel 1 \
--metrics \
--mmap \
--no-repack \
--cache-prompt \
--cache-ram 8192 \
--no-context-shift \
-fit off \
--spec-type none
Remove --mmproj "$MMPROJ" when vision is not needed.
Enable MTP for long generation
Replace --spec-type none with:
--spec-type draft-mtp \
--spec-draft-p-min 0.50 \
--spec-draft-n-max 7 \
-ctkd f16 \
-ctvd f16
Use depth 6 for the tested approximately 1K-prompt class. Depth 7 is the
stronger tested continuation setting from 16K through 64K.
These are served, target-verified generation rates—not standalone
llama-bench TG:
| Prompt + 256 output | Target-only PP | Target-only TG | Best MTP PP | Best MTP TG | TG gain |
|---:|---:|---:|---:|---:|---:|
| ~1K, depth 6 | 1,112.85 | 46.71 | 964.85 | 84.40 | +80.7% |
| 16K, depth 7 | 1,036.55 | 44.08 | 856.14 | 78.86 | +78.9% |
| 32K, depth 7 | 867.80 | 41.36 | 739.37 | 73.70 | +78.2% |
| 64K, depth 7 | 652.01 | 37.05 | 563.32 | 57.82 | +56.1% |
The short-context depth-7 code workload reached 101.44 tok/s. At 64K,
depth 7 reached 76.46 tok/s on code and 39.18 tok/s on prose, showing
why acceptance and workload shape matter.
MTP is optional because it adds its own prompt-processing work. At ~1K + 256,
depth 6 reduced mean wall time from 6.426 s to 4.180 s. At 64K + 256, the
answer was too short to repay MTP prefill overhead, so target-only was faster
end to end. Use target-only for prompt-heavy short-answer traffic and MTP for
longer, high-acceptance continuations.
<details>
<summary><strong>Build the required ROCmFPX runtime on Ubuntu 24.04</strong></summary>
Install a current ROCm stack for the system using AMD's
then verify that HIP sees the GPU.
/opt/rocm/bin/hipconfig --full
/opt/rocm/bin/rocminfo | grep -m1 gfx
sudo apt update
sudo apt install -y \
build-essential cmake git ninja-build pkg-config \
libcurl4-openssl-dev libssl-dev python3-venv
git clone --branch dualview-ornith-35b-v1 --single-branch \
https://github.com/ciru-ai/ROCmFPX.git
cd ROCmFPX
JOBS="$(nproc)" ./scripts/build-strix-dualview.sh
./build-strix-dualview/bin/test-q7-q8-view
./build-strix-dualview/bin/test-quantize-fns
./build-strix-dualview/bin/llama-bench --list-devices
The final command must list the intended ROCm GPU. The release was validated
on Linux ROCm with gfx1151; Windows/HIP remains an experimental port.
</details>
Memory and hardware
The current runtime eagerly materializes the INT8 prefill representation:
| Measured path | Live GTT |
|---|---:|
| Target-only DualView | 68,202,450,944 B / 63.52 GiB |
| Integrated MTP at 64K | 73,075,855,360 B / 68.06 GiB |
The public GGUF is compact on disk, but the present implementation is not
compact in live memory. Allow additional room for the operating system,
projector, server, KV cache, and prompt state. A 128 GB Strix Halo system is
the recommended configuration.
The model and supplied profiles use its native 262,144-token context. The
published repeated performance curve currently extends through 64K; 256K is
enabled, not presented as a completed performance qualification.
Files
| File | Size | SHA-256 |
|---|---:|---|
| Ornith1.0-35b-CIRU-DUALVIEW-FPX7+Q8-MTP.gguf | 33,536,832,416 B / 31.234 GiB | 7834fb92d451235c123973ba40eccea156db28af8d42ae13178c7efcc4d0177a |
| vision/Ornith-1.0-35B-F32.mmproj | 1,786,305,248 B / 1.664 GiB | 19ced1b3a4c0626112ed94f8c5da301a25f669fa2a568eb9360b9958dc1c494f |
The integrated GGUF contains the quality-max Ornith target plus the official
Qwen3.6 MTP layer. Running with --spec-type none uses the target-only path;
enabling MTP does not substitute a smaller target model.
<details>
<summary><strong>Release identity and benchmark protocol</strong></summary>
- Public target file: 753 tensors.
- Target payloads: 362 FPX7 tensors, 70 Q8 quality-island tensors, and 301 F32
tensors.
- Optional MTP layer: 20 appended tensors from the official Qwen3.6 donor.
- FPX7 mechanism ablation: one pure-FPX7 Ornith artifact, identical bytes and
settings with the compute view disabled/enabled, three clean loads × three
repetitions.
- Target-only speed: three independent loads × three repetitions, nine samples
per metric.
- 64K controls: identical prose/code prompts, 256 output tokens, F16 KV, flash
attention, batch/ubatch 2048/512, one server slot.
- MTP curves: streamed one-slot server requests with target verification,
prompt processing and generation throughput recorded separately.
- Quality runs: raw prompts, completions, reasoning traces, scoring outputs,
protocol locks, model SHA-256, and runtime commands retained in the CIRU
benchmark lab.
- Primary runtime source:
ciru-ai/ROCmFPX, release
dualview-ornith-35b-v1.
- Detailed public record:
DUALVIEW-ORNITH-35B-RESEARCH.md.
- Published release revision:
b515125810cd233936e52620cd73055a12825e71.
</details>
Current limitations
- Requires the matching ROCmFPX runtime; stock
llama.cppcannot load the new
target format correctly.
- The eager prefill representation substantially increases live memory.
- Performance validation is currently specific to Linux ROCm on Strix Halo.
- The architecture-matched vision projector is included; the combined
DualView + vision + MTP path is still undergoing formal image-quality and
repeatability validation.
- MTP speed depends on prompt shape, output length, and acceptance. It is an
optional generation accelerator, not a universal request-latency win.
Provenance and credits
target model and native vision architecture.
published architecture-matched vision projector and vanilla quant controls.
- Qwen:
official MTP layer.
upstream inference runtime.
- CIRU:
DualView design, FPX7 format, ROCm integration, model recipe, gfx1151
optimization, packaging, and validation.
Component licenses and pinned source identities are recorded in
NOTICE.md. The Ornith target is MIT; the appended Qwen MTP
component is Apache-2.0; ROCmFPX and upstream llama.cpp are MIT.
Run jcbtc/Ornith1.0-35b-CIRU-DUALVIEW-FPX7-Q8-MTP-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models