llama.cpp b9274 behebt VRAM-Leak bei MTP-Modellen
Build b9274 von llama.cpp adressiert einen VRAM-Leak, der speziell beim Einsatz von MTP-Modellen (Multi-Token Prediction) im Server-Betrieb auftrat. Ursache war die destroy()-Funktion in server_context_impl: Sie räumte zwar das Haupt-Modell und den Haupt-Kontext via llama_init.reset() auf, ließ aber die drei Ressourcen spec, ctx_dft (Draft-Kontext) und model_dft (Draft-Modell) unkontrolliert im GPU-Speicher. Da ctx_dft GPU-allozierte Ressourcen wie KV-Cache und Compute-Buffer hält, wurden bei jedem Sleep/Resume-Zyklus neue Ressourcen angelegt, ohne die alten freizugeben. Der kumulierte VRAM-Verbrauch führte letztlich zu Out-of-Memory-Fehlern und Server-Abstürzen. Der Fix in PR #23461 ergänzt das explizite Zurücksetzen von spec, ctx_dft und model_dft in destroy() – in korrekter Reihenfolge vor llama_init.reset(), um Use-after-free-Fehler auszuschließen. Einzelne Nutzer berichten zudem von einem verwandten Problem, bei dem MTP-Modelle nach wenigen Minuten entladen werden; ob dieser Build auch dieses Verhalten behebt, ist noch unklar.
- Fix landet in PR #23461 (server: free draft/MTP resources on sleep to fix VRAM leak).
- Betroffen war destroy() in server_context_impl – spec, ctx_dft und model_dft wurden nicht freigegeben.
- ctx_dft hält GPU-Ressourcen (KV-Cache, Compute-Buffer), die sich bei jedem Sleep/Resume-Zyklus akkumulierten.
- Korrekte Cleanup-Reihenfolge: erst spec/ctx_dft/model_dft resetten, dann llama_init.reset() – verhindert Use-after-free.
- Nutzer /u/Bulky-Priority6824 meldet separates Problem: MTP-Modelle entladen sich nach wenigen Minuten – möglicherweise unabhängig vom Leak.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge
llama.cpp b9274 behebt VRAM-Leak bei MTP-Modellen
Build b9274 von llama.cpp adressiert einen VRAM-Leak, der speziell beim Einsatz von MTP-Modellen (Multi-Token Prediction) im Server-Betrieb auftrat. Ursache war die destroy()-Funktion in server_context_impl: Sie räumte zwar das Haupt-Modell und den Haupt-Kontext via llama_init.reset() auf, ließ aber die drei Ressourcen spec, ctx_dft (Draft-Kontext) und model_dft (Draft-Modell) unkontrolliert im GPU-Speicher. Da ctx_dft GPU-allozierte Ressourcen wie KV-Cache und Compute-Buffer hält, wurden bei jedem Sleep/Resume-Zyklus neue Ressourcen angelegt, ohne die alten freizugeben. Der kumulierte VRAM-Verbrauch führte letztlich zu Out-of-Memory-Fehlern und Server-Abstürzen. Der Fix in PR #23461 ergänzt das explizite Zurücksetzen von spec, ctx_dft und model_dft in destroy() – in korrekter Reihenfolge vor llama_init.reset(), um Use-after-free-Fehler auszuschließen. Einzelne Nutzer berichten zudem von einem verwandten Problem, bei dem MTP-Modelle nach wenigen Minuten entladen werden; ob dieser Build auch dieses Verhalten behebt, ist noch unklar.
- Fix landet in PR #23461 (server: free draft/MTP resources on sleep to fix VRAM leak).
- Betroffen war destroy() in server_context_impl – spec, ctx_dft und model_dft wurden nicht freigegeben.
- ctx_dft hält GPU-Ressourcen (KV-Cache, Compute-Buffer), die sich bei jedem Sleep/Resume-Zyklus akkumulierten.
- Korrekte Cleanup-Reihenfolge: erst spec/ctx_dft/model_dft resetten, dann llama_init.reset() – verhindert Use-after-free.
- Nutzer /u/Bulky-Priority6824 meldet separates Problem: MTP-Modelle entladen sich nach wenigen Minuten – möglicherweise unabhängig vom Leak.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.