Skip to content

fix nix build: Add spirv-headers to vulkanBuildInputs - #85

Merged
TheTom merged 1 commit into
TheTom:feature/turboquant-kv-cachefrom
cguentherTUChemnitz:patch-1
Apr 20, 2026
Merged

TheTom merged 1 commit into
TheTom:feature/turboquant-kv-cachefrom
cguentherTUChemnitz:patch-1

Conversation

@cguentherTUChemnitz

Copy link
Copy Markdown

ref: #81

spirv-headers were introduced by 1f30ac0

but not added to the nix build environment

closes: #81

ref: TheTom#81

spirv-headers were introduced by
TheTom@1f30ac0

but not added to the nix build environment
@cguentherTUChemnitz

cguentherTUChemnitz commented Apr 17, 2026 •

Copy link
Copy Markdown
Author

in my eyes this can already be merged, since it fixes the problem discovered at: #81

Nevertheless is additional broken at a later stage. It seems that there is still some rte.glsl import problem of not finding the file. It seems this branch expectes a certain shader that is just not present / generated.

@TheTom

TheTom commented Apr 20, 2026

Copy link
Copy Markdown
Owner

Verified build locally — no issues. Thanks @cguentherTUChemnitz!

@TheTom
TheTom merged commit 6e0630d into TheTom:feature/turboquant-kv-cache Apr 20, 2026
1 check passed
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 5, 2026
fix nix build: Add spirv-headers to vulkanBuildInputs
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
Deskriptoren werden direkt in den Command Buffer geschrieben statt
Deskriptor-Sets zu allokieren und zu binden. Eliminiert:
- vkAllocateDescriptorSets (Pool-Management)
- vkUpdateDescriptorSets (pro Dispatch)
- vkCmdBindDescriptorSets (pro Dispatch)

Implementierung:
- Extension-Check in Device-Initialisierung (GGML_VK_DISABLE_PUSH_DESCRIPTOR zum Deaktivieren)
- Push-Descriptor-Layout (dsl_push) mit PUSH_DESCRIPTOR_BIT
- Pipeline-Layouts verwenden dsl_push wenn supported
- Dispatch: pushDescriptorSetKHR statt updateDescriptorSets + bindDescriptorSets
- Descriptor-Set-Allokation übersprungen wenn push_descriptor_supported
- Device-Log erweitert: 'push_desc: 1/0'

MAX_PARAMETER_COUNT=12 < 32 (maxPushDescriptors Minimum) — innerhalb des Limits.
RADV unterstützt VK_KHR_push_descriptor seit Mesa 17.1 (2017).
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
…gible auf RADV

Benchmark Mars (1B Q4_K_M): pp512 ±0.1%, tg128 ±0.2%, pp4096 ±0.3%.
RADV descriptor set allocation ist bereits sehr effizient (pre-allocated pools).
Implementierung korrekt (push_desc: 1 bestätigt) aber kein messbarer Speedup.
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 19, 2026
…scriptors check

P1: VK_KHR_push_descriptor wurde in device_extensions eingefügt bevor
maxPushDescriptors geprüft wurde — bei zu geringem Limit wurde die
Extension aktiviert aber nicht genutzt. Jetzt: push_back erst nach
erfolgreichem Check.

P2: max_push_descriptors Feld entfernt (dead code — geschrieben aber
nie gelesen).
fukuro-kun referenced this pull request in fukuro-kun/fukuro-llama-cpp-turboquant Jul 20, 2026
…hed ⏭️ + AtomicBot-ai#76 CPU Fusion ⏭️

3 parallele Tiefen-Evals für Tier-3 Items:

AtomicBot-ai#74 Vulkan Descriptor Indexing (Bindless) ❌ VERWORFEN:
- Redundant mit AtomicBot-ai#85 Push Descriptors (✅ implementiert 2026-07-14)
- Push Descriptors eliminieren dieselben CPU-Aufrufe
- AtomicBot-ai#85-Benchmark auf Mars RADV: ±0.1-0.3% (Rauschen)
- Bindless würde über Push-Descriptors hinaus <0.5% bringen
- Workload-Mismatch: Bindless für draw-heavy Rendering, nicht Compute
- Mars/Venus bandwidth-bound, nicht descriptor-bound
- Aufwand revidiert: 2-4 → 3-5 Wochen (Shader-Rewrite aller .comp-Files)

AtomicBot-ai#75 Non-blocking Pipeline Scheduling ⏭️ SPÄTER:
- PR ggml-org#19922 closed (2026-03-03, unmerged, 4+ Mo stale)
- Fork hat bereits Upstream-Pipeline-Parallelismus
- Konflikt mit AtomicBot-ai#79 TP (✅+23-32% tg, split-mode-exklusiv)
- NVIDIA ungetestet, PP-Regression auf 4x MI50 gemeldet
- 2-GPU-Setup → geringer Bubble-Hebel
- Aufwand revidiert: 3-4 → 4-6 Wochen

AtomicBot-ai#76 CPU Backend Operator Fusion ⏭️ SPÄTER:
- RMS_NORM+MUL Fusion bereits im Fork (PR ggml-org#22423 upstream-merged)
- MoE Gated FFN riskant: PR ggml-org#20596 zeigt Regressionen auf Consumer-CPUs
  (M2: 0.98-1.00x, qwen3moe 30B: 0.75-0.96x bei t=2-4)
- Nur auf 96-Core-EPYC konsistente Gains (1.04-1.08x)
- Styx/Uranus haben Consumer-CPUs → wahrscheinlich Regression
- Re-Eval wenn PR ggml-org#20596 gemerged mit Regression-Freiheit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compile bug: nix vulkan build is broken

2 participants