llama.cpp slapp 10. mai 2026 versjon b9095 – og for deg som har to Blackwell PCIe-kort er dette oppdateringen du har ventet på. For første gang fungerer -sm tensor på dual consumer Blackwell uten NCCL-biblioteket som tidligere blokkerte hele oppsettet.

Problemet med NCCL (NVIDIAs Collective Communications Library) er at det lenge har vært en forutsetning for tensor-parallell inferens på tvers av to GPU-er. Men NCCL er laget for datacenter-hardware. Consumer Blackwell-kort som RTX 5060 Ti, 5070 og 5080 kjører på PCIe – ikke NVLink – og der har NCCL historisk vært ustabilt eller rett og slett ikke fungert. b9095 bytter ut NCCL med en intern AllReduce-implementasjon som er bygget spesielt for denne situasjonen.

Her er hva endringen betyr i praksis, hvordan du aktiverer det, og hva du bør forvente av ytelse.

Hva er NCCL-Free Tensor Parallelism?

Tensor-parallellisme er måten llama.cpp deler en stor modell mellom to GPU-er. I stedet for å laste halve modellen på hvert kort (row split), kjører tensor-modus beregninger parallelt på begge kortene og synkroniserer etterpå. Det krever konstant kommunikasjon mellom GPU-ene – og det er her AllReduce-operasjonen kommer inn.

Tidligere var llama.cpp avhengig av NCCL for denne kommunikasjonen. NCCL er effektivt, men det er designet for NVLink-tilkoblede datacenter-GPU-er (A100, H100, H200). På Blackwell PCIe-kortene som de fleste av oss faktisk bruker, oppsto det intermittente hengelokker – maskinen ble stående og henge uten feilmelding. Ikke akkurat ideelt.

Diagram som viser tensor parallelism-arkitektur med to GPU-kort koblet via PCIe og intern AllReduce-kommunikasjon
Tensor-parallellisme deler beregningene mellom to GPU-er og synkroniserer via intern AllReduce – ikke lenger avhengig av NCCL.

b9095-releasen introduserer en intern CUDA-kernel som håndterer AllReduce-operasjonen direkte, uten NCCL. Kommunikasjonen skjer via pinned memory og volatile flags som begge kortene leser. I tillegg er det lagt til __threadfence_system() som sikrer at data er globalt synlig for peer-GPU-en før flagget settes – det var den manglende bitsen som forårsaket hengelåsene på Blackwell PCIe.

Hva er begrensningene?

Den interne AllReduce-implementasjonen er god, men den har foreløpig noen grenser du bør kjenne til:

  • Maks 2 GPU-er: Støtter kun dual-GPU-oppsett per nå. Tre eller flere kort faller tilbake til CPU-reduksjon.
  • FP32 og tensorer opp til 256 KB: For større reduksjoner brukes fallback til CPU-modus. I praksis treffer du sjelden dette taket med vanlige GGUF-modeller.
  • PCIe, ikke NVLink: Løsningen er eksplisitt bygget for PCIe-kortene. Har du datacenter-hardware med NVLink kan NCCL fortsatt være raskere.

For de aller fleste med dual 5060 Ti, dual 5070 eller dual 5080 PCIe-oppsett er disse begrensningene uproblematiske. Du laster typisk 30B- til 70B-modeller der tensor-splitting er relevant, og innenfor de grensene holder implementasjonen seg.

Hvordan aktiverer du det?

Kommandoen er den samme som før, men nå faktisk fungerer:

llama-server -m /sti/til/modell.gguf -ngl 99 -sm tensor -ts 1,1

Flagget -sm tensor aktiverer tensor-splittmodus. -ts 1,1 fordeler last likt mellom de to kortene. -ngl 99 sender alle lag til GPU.

Du kan også styre AllReduce-provider eksplisitt via miljøvariabelen:

GGML_CUDA_ALLREDUCE=internal llama-server -m modell.gguf -ngl 99 -sm tensor -ts 1,1

Verdiene er internal (ny implementasjon) og nccl (gammelt system). For Blackwell PCIe er internal default og det du vil ha. Det er også lagt til en watchdog-mekanisme via GGML_CUDA_AR_WATCHDOG – et sikkerhetsnett som fanger hengelåser og rapporterer dem i stedet for å henge i det uendelige.

Terminal som viser llama-server kommando med -sm tensor og -ts 1,1 flagg for dual GPU tensor parallelism i llama.cpp
Kommandoen for å aktivere tensor-parallellisme: llama-server med -sm tensor og -ts 1,1 flaggene fordeler last likt mellom to kort.

Hvilke modeller drar nytte av dette?

To 5060 Ti-kort gir deg totalt 32 GB VRAM. Det er nok til å kjøre store modeller du ikke kunne kjøre på ett kort alene:

  • Llama 3 70B Q4_K_M: Passer komfortabelt på 32 GB med tensor-split
  • Qwen 3 30B A3B (MoE): Effektiv utnyttelse av begge kortene
  • Mistral 22B: Kjapp og god kvalitet innenfor rammen
  • DeepSeek-R1 32B: Populær reasoning-modell som profiterer på dual VRAM

Tensor-parallellisme gir generelt raskere tokens per sekund enn row split for disse modellstørrelsene, fordi beregningene kjøres simultant i stedet for sekvensielt mellom kortene. Som referanse: en konfigurasjon med dual 5060 Ti og Qwen3.6 27B rapporterte rundt 60 tokens per sekund med tensor-modus aktivert – det er brukbart tempo for en modell av den størrelsen.

Hvordan oppdaterer du llama.cpp?

Hvis du kjører en forhåndsbygget versjon, last ned b9095 fra GitHub Releases. Finn pakken for CUDA + Windows eller Linux avhengig av oppsettet ditt.

Bygger du fra source:

git pull
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j $(nproc)

Ingen nye avhengigheter – den interne AllReduce er ren CUDA, ingen ekstra biblioteker å installere.

Er dette starten på bedre dual-GPU-støtte i llama.cpp?

Det ser slik ut. Tensor-parallellisme uten NCCL er en arkitektonisk endring som gjør hele multi-GPU-staken mer robust for consumer-hardware. Foreløpig er det begrenset til 2 GPU-er og FP32, men kodebasen er lagt opp til å utvide dette. Neste naturlige steg er støtte for 4 GPU-er og BF16/FP16-reduksjoner – begge deler vil gjøre løsningen enda mer praktisk.

Jan Sverre er spent på å se hva folk rapporterer tilbake med dual 5060 Ti-oppsett spesielt. Det er et rimelig konfigurasjonsalternativ: to kort til rundt 4-5 000 kroner stykket gir deg 32 GB VRAM og nå også fungerende tensor-parallellisme. Sammenlignet med en enkelt RTX 5090 (14 000+ kr) med 32 GB VRAM er det et interessant valg – du betaler kanskje litt mer totalt, men du beholder fleksibiliteten til å bruke kortene til andre ting også.

Hvis du har kjørt inn i hengelåsproblemer med -sm tensor på Blackwell PCIe tidligere, er b9095 verdt en ny runde. Og hvis du vurderer et dual GPU-oppsett for lokal inferens, er dette oppdateringen som gjør det til et reelt alternativ – ikke bare et teoretisk one. Relatert lesning: Intel Arc Pro B70 til lokal LLM er en god referanse for hva god software-støtte faktisk betyr i praksis, og open source AI-guiden gir bredere kontekst for lokal kjøring av modeller. Ollama-guiden er fortsatt relevant hvis du heller vil ha et enklere oppsett uten manuell llama.cpp-konfigurasjon. For deg som ser på PCIe-båndbredde som flaskehals mellom kortene, er torch-nvenc-compress-artikkelen interessant lesning.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Meld deg på nyhetsbrevet

Få oppdateringer om AI nyhetene rett i inboxen!

Du liker kanskje denne også
Jan Sverre med headphones og lydmikser i boardroom-møte med forvirrede executives

Suno AI Copyright 2026 – Opphavsrett og Rettigheter for AI-Musikk

Kan du tjene penger på Suno-musikk? Her er en praktisk gjennomgang av rettigheter, risiko og hva du bør avklare før publisering.
Claude code terminal interface

Claude Code nå for $20: Rimelig AI-drevet kodehjelp for alle utviklere

Anthropics Claude Code er nå tilgjengelig på $20 Pro-abonnement. Lær hvordan du kan utnytte AI-drevet koding uten store investeringer og hvilke kompromisser du må regne med.
Jan Sverre tester GPT-5.2 ved en transparent OpenAI GPT-skjerm

GPT-5.2: Jeg testet OpenAIs nyeste modell – her er hva som faktisk fungerer

GPT-5.2 er ute med tre versjoner. Jeg har testet thinking-modellen, sammenlignet med 5.1, og funnet ut hva som faktisk er bedre. Her er mine erfaringer.
Jan Sverre profesjonelt fotograf-kvalitet portrett AI-generert bildegenerering

Google NotebookLM

Google NotebookLM er en AI-assistent som gjør dokumenter om til interaktive samtaler, studieguidere og podcasts på norsk. Nå drevet av Gemini 3 Pro med nye funksjoner som infographics, slide decks og Deep Research. Komplett guide til gratis vs. Plus-versjon.