星期一, 1月 26, 2026

GPU 性能優化筆記:RTX 5060 & HQPlayer 極致配置

GPU 性能優化筆記:RTX 5060 & HQPlayer 極致配置

針對 ArchLinux 環境與 CUDA 加速運算,旨在消除電源管理抖動,追求 $10\mu s$ 極限延遲。


1. 內核參數優化 (Kernel Parameters) -- 參考用

修改 /boot/loader/entries/audiolinux.conf,在 options 行末尾加入:

pcie_aspm=off nvidia.NVreg_RegistryDwords="PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"
  • pcie_aspm=off:關閉 PCIe 省電切換,避免匯流排延遲。
  • PowerMizer 參數:強制 GPU 進入「最高性能」模式,防止頻率因電力調度產生抖動。

2. GPU 物理鎖定 (nvidia-smi 指令)

建議寫入開機啟動腳本,確保 GPU 頻率恆定:

# 開啟持續模式
sudo nvidia-smi -pm 1

# 鎖定核心與顯存頻率 (以 RTX 5060 為例)
sudo nvidia-smi -lgc 2460,2460
sudo nvidia-smi -lmc 7501,7501

3. 中斷親和力優化 (IRQ Affinity) -- 參考用

將 GPU 中斷鎖定在 CCD 0 (Core 0-7),避免干擾 HQPlayer 運算核心 (Core 8-15):

# 找出 GPU 中斷編號
grep nvidia /proc/interrupts

# 綁定至特定核心 (假設中斷號為 30,綁定至核心 4-5)
echo "30" | sudo tee /proc/irq/30/smp_affinity

4. HQPlayer 配置 (hqplayerd.xml)

確保 <engine> 段落包含 CUDA 調度參數:

cuda="1" gray_cuda="1" multicore="1"

5. 實時監控驗證 (進階深度診斷)

為了達成 $10\mu s$ 的目標,我們不只要看頻率,還要確認 P-State(電源狀態)與 IRQ(中斷)的穩定度:

A. 監控 P-State 與頻率鎖定

執行以下指令,確認 Perf State 是否恆定在 P0,且頻率完全沒有跳動:

watch -n 1 "nvidia-smi -q -d PERFORMANCE,CLOCK"
  • 核心指標Performance State 必須鎖死在 P0。如果看到 P2、P5 或 P8,代表優化失敗。
  • 頻率觀察GraphicsMemory 頻率應與你設定的鎖定值完全一致。

B. 多維度實時流資料 (dmon)

這能同時觀察 GPU 使用率 (sm)、顯存存取 (mem)、頻率 (enc/dec) 以及功耗 (pwr):

nvidia-smi dmon -s ucpm -i 0

這對於觀察 sinc-MGa 在切換曲目或採樣率時,GPU 的瞬時反應非常有用。

C. 驗證 GPU 中斷隔離 (IRQ Affinity Check)

確保 GPU 產生的中斷只出現在你指定的 CCD 0 (Core 0-7),絕對不能滲透到運算核心 8-15:

watch -n 1 "grep nvidia /proc/interrupts"
  • 檢查方式:觀察後方的核心編號欄位,數字應該只在 Core 0-7 跳動。如果 Core 8-15 的計數器在增加,代表親和力設定無效。

D. HQPlayer 專屬資源佔用 (pmon)

確認是否有其他背景程式在偷用 GPU 資源,干擾音訊運算:

nvidia-smi pmon -c 1
Last Updated: 2026-01-26 | Audiolinux Optimization Series

沒有留言: