Orkun Soylu

2 dk okuma

W7800: fiziksel makine vs Proxmox VM

W7800'ümü fiziksel bir makineden başka bir sunucudaki Proxmox VM'e taşımak üretimi %2 değiştirdi (gürültü) ve prompt işlemeyi %8 hızlandırdı. Passthrough'un kendisinin ölçülebilir bir bedeli yok — ama önce dört kurulum tuzağını aşmam gerekti.

Test tarihi
Kurulum

Radeon Pro W7800 48 GB — fiziksel iş istasyonuFiziksel makine, Linux, ROCm (Ollama) · AMD Ryzen 5 7600 (6 çekirdek / 12 iş parçacığı, AVX-512) · 64 GB DDR5-6400

Radeon Pro W7800 48 GB — Proxmox sanal makinesi (GPU passthrough)PCIe passthrough ile Proxmox VE konuğu, Ubuntu 26.04 · Intel Core i5-13400 sunucu (6P+4E); konukta 8 vCPU, Strata testinde 16 vCPU · Konukta 40 GB (Strata testinde 52 GB); sunucuda 64 GB DDR5-4800

Çalışma ortamı
Ollama 0.34 (ROCm), Qwen3.8-27B Q8_0 + MTP, aynı benchmark betiği
Modeller

qwen3.8:27b-q8_0-mtpQ8_0 + MTPtest edilen

Karar

Verim açısından passthrough bedava. Bedeli operasyonel: büyük BAR için MMIO penceresi, konukta firmware, ROCm SVM eşlemesi için yeterli konuk RAM'i ve karta asla sunucudan dokunmamak.

İşe yarayan

  • Üretim 43,0 → 42,1 tok/s (−%2, gürültü içinde)
  • 20K prompt işleme 555 → 600 tok/s (+%8)
  • Model yükleme 60 sn → 20 sn

Yaramayan

  • OVMF 64-bit MMIO penceresi büyütülene kadar konuk açılışta takılıyor (64 GB BAR)
  • 24 GB konuk RAM'iyle model yüklenmiyor (SVM eşleme sınırı) — ~40 GB gerekiyor
  • Sunucuda amdgpu bağlamak kartı D3cold'a düşürdü; ancak sunucu yeniden başlatılınca geri geldi
Üretim, fiziksel / VM
43,0 / 42,1tok/s
20K prefill, fiziksel / VM
~555 / 600tok/s
Boşta güç, model yüklü
13–32W
Üretirken güç
241W

Prompt'a göre üretim hızı

yüksek olan iyi

Aynı betik, aynı dört prompt, sıcaklık 1

  • Fiziksel (Ryzen 5 7600, 60 GB)
  • Proxmox VM (i5-13400 sunucu, 40 GB konuk)
Python kodu
53,1 tok/sFiziksel (Ryzen 5 7600, 60 GB) · 53,1 tok/s
49,4 tok/sProxmox VM (i5-13400 sunucu, 40 GB konuk) · 49,4 tok/s
Bash betiği
47,0 tok/sFiziksel (Ryzen 5 7600, 60 GB) · 47,0 tok/s
48,6 tok/sProxmox VM (i5-13400 sunucu, 40 GB konuk) · 48,6 tok/s
TCP açıklaması (İngilizce)
35,5 tok/sFiziksel (Ryzen 5 7600, 60 GB) · 35,5 tok/s
36,2 tok/sProxmox VM (i5-13400 sunucu, 40 GB konuk) · 36,2 tok/s
Türkçe düz metin
36,5 tok/sFiziksel (Ryzen 5 7600, 60 GB) · 36,5 tok/s
34,3 tok/sProxmox VM (i5-13400 sunucu, 40 GB konuk) · 34,3 tok/s
Ortalama
43,0 tok/sFiziksel (Ryzen 5 7600, 60 GB) · 43,0 tok/s
42,1 tok/sProxmox VM (i5-13400 sunucu, 40 GB konuk) · 42,1 tok/s
Veri
Fiziksel (Ryzen 5 7600, 60 GB)Proxmox VM (i5-13400 sunucu, 40 GB konuk)
Python kodu53,1 tok/s49,4 tok/s
Bash betiği47,0 tok/s48,6 tok/s
TCP açıklaması (İngilizce)35,5 tok/s36,2 tok/s
Türkçe düz metin36,5 tok/s34,3 tok/s
Ortalama43,0 tok/s42,1 tok/s

Bağlam

W7800’ü fiziksel bir iş istasyonundan başka bir sunucudaki Proxmox VM’e taşıdım; RTX 4070 Ti SUPER ile yer değiştirdiler. Aynı kart, aynı model dosyaları (bayt bayt kopyalandı, hash’ler kontrol edildi), aynı benchmark betiği. Soru basitti: VM bana bir şey kaybettiriyor mu?

Performans

Fiziksel (60 GB RAM) Proxmox VM (40 GB konuk)
Üretim, tek akış (4 prompt ortalaması) 43,0 tok/s 42,1 tok/s
— Python kodu 53,1 49,4
— Bash betiği 47,0 48,6
— TCP açıklaması (İngilizce) 35,5 36,2
— Türkçe düz metin 36,5 34,3
20K prompt işleme (soğuk) 554–557 tok/s 600 tok/s
Model yükleme ~60 sn ~20 sn
262K’da VRAM 39 GiB 39 GiB (30 GB model + KV)

Ölçülebilir bir bedel yok. Üretimde %2 fark var (bu gürültü), prompt işleme ise VM’de aslında %8 daha hızlı. Uzun bir üretim 29,5 tok/s çıktı — eski makinenin Türkçe aralığının (28–35) tam içinde.

llama-bench (llama.cpp b11081) bu VM’de GPU’yu kullanamadı: sessizce işlemciye düştü ve kart %0’da dururken 2,4 tok/s raporladı. Ollama’nın kendi çalıştırıcısı sorunsuzdu. Düşük seviyeli karşılaştırmalar için o araca burada güvenmeyin.

Fan ve güç (konuğun içinden okundu)

Durum Güç Fan Sıcaklık Saat hızları
VM açık, model yok 13 W ~1.008 rpm 48 °C sclk 0 / mclk 96 MHz
Model bellekte, boşta 13–32 W 1.000–1.400 rpm 48–56 °C sclk 0 / mclk 96 MHz
Üretirken 241 W ~1.030–1.200 rpm 51 °C sclk 2.137 / mclk 1.124 MHz

Blower fan hiç durmuyor, ama kart bu kasada 50 °C civarında kaldığı için yük altında bile ~1.000–1.200 rpm’de kalıyor. VM kapalıyken kart vfio-pci’ye ait ve hiçbir sürücü sensörlerini okuyamıyor.

Dört kurulum tuzağı (hepsine düştüm)

  1. Sunucunun ağı öldü. Kart değişince PCI veri yolu numaraları kaydı ve iki ağ kartının adı değişti; köprüler portsuz kaldı. Konsoldan düzelttim.
  2. Konuk, ekran açılmadan takıldı. Kartın BAR’ı 64 GB ve OVMF’nin varsayılan 64-bit MMIO penceresine sığmıyor. Çözüm: -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=131072.
  3. amdgpu konukta çöktü (early_init of IP block <psp> failed -19): bulut imajında AMD GPU firmware’i yok. Çözüm: linux-firmware-amd-graphics kurmak.
  4. Model yüklenmedi: amdgpu: SVM mapping failed, exceeds resident system memory limit. 24 GB konuk RAM’i azdı (fiziksel makinede 60 GB vardı); 40 GB’ta 20 sn’de yükleniyor.

En pahalıya patlayan ders: VM kapalıyken, sırf fanı ve gücü okumak için sunucuda amdgpu bağladım. Çalışma zamanı güç yönetimi kartı D3cold’a düşürdü, vfio onu uyandıramadı (Unable to power on device, stuck in D3), PCI yeniden taraması işe yaramadı ve kart ancak sunucuyu yeniden başlatınca geri geldi. Passthrough ettiğiniz bir karta sunucuda asla sürücü bağlamayın.