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

fix nix build: Add spirv-headers to vulkanBuildInputs#85
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 pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 5, 2026
fix nix build: Add spirv-headers to vulkanBuildInputs
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request 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 pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 19, 2026
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 19, 2026
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 19, 2026
…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 pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 19, 2026
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 19, 2026
…ors 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 pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 20, 2026
…hed ⏭️ + TheTom#76 CPU Fusion ⏭️

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

AtomicBot-ai#74 Vulkan Descriptor Indexing (Bindless) ❌ VERWORFEN:
- Redundant mit TheTom#85 Push Descriptors (✅ implementiert 2026-07-14)
- Push Descriptors eliminieren dieselben CPU-Aufrufe
- TheTom#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 TheTom#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

TheTom#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