GPU trükkök: Hogyan bányásszunk kedvezőbb energiafelhasználással

Az Nvidia System Management Interface (nvidia-smi) egy parancssori segédprogram, amely az Nvidia Management Libraryre (NVML) épül, és az Nvidia GPU-eszközök kezelését és felügyeletét hivatott segíteni. Számos hasznos paranccsal rendelkezik, amelyekkel leginkább az Nvidia GPU-k állapotát lehet nyomon követni. Azonban van néhány olyan parancs is, amely a bányászok számára is jól jöhet. Két olyan parancsot fogunk most itt tárgyalni, amelyek ismerete kedvező lehet a bányászati teljesítmény optimalizálásában. Bár itt a hangsúly a Windows alatti használaton van, az nvidia-smi eszköz Linuxra is elérhető, és ott is használható.

nvidia

Bemutatjuk, hogyan lehet egy Nvidia GPU működési frekvenciáját egy bizonyos fix értékre rögzíteni, valamint hogyan lehet az adott GPU teljesítménykorlátját szabályozni. Végső soron pedig azt is demonstráljuk, hogy ez a két parancs hogyan egészítheti ki jól egymást az Nvidia GPU-kon alapuló bányászati rig teljesítményének és energiahatékonyságának optimalizálása érdekében, ami extra fontos lett azután, hogy az ether bányászatnak kampec és brutálisan megnőtt a kisebb piaci hashrátájú altok bányászati nehézsége.

nvidia

Fontos, hogy rendszergazdaként futtassunk

A GPU frekvenciájának egy bizonyos szintre történő rögzítéséhez vagy zárolásához, illetve az Nvidia GPU teljesítménykorlátozásához az nvidia-smi eszközzel Windowson el kell indítanunk egy „Command Prompt” ablakot. Fontos, hogy a „futtatás rendszergazdaként” lehetőséget válasszuk, másképpen nem tudunk semmit sem módosítani, mivel nem rendelkezünk a szükséges jogosultságokkal.

Az nvidia-smi eszköznek benne kell lennie az elérési útvonalban, így nem szükséges egy adott helyről futtatni azt. Bár egy Batch (BAT) fájlból futtatás érdemes lehet annak érdekében, hogy automatizálni lehessen például egy bányász indításával. Mivel adminisztrátori jogosultságokat igényel, a Batch fájlt alapértelmezés szerint nem lehet adminisztrátorként futtatni. De ha a BAT fájlhoz egy parancsikont készítünk, akkor a Windowsban beállíthatjuk, hogy a parancsikont rendszergazdaként futtassa, és ez elvégzi a feladatot.

GPU órajelének beállítása

nvidia

A GPU órajelének beállításához az Nvidia GPU-n az nvidia-smi eszközzel a -lgc paramétert kell használnunk. Így például a GPU órajelének 1050 MHz-re történő beállításához az nvidia-smi -lgc 1050 paramétert kell futtatnunk, ahogy a fenti példaképen látható. Ne feledjük, hogy ez lesz az a GPU órajel, amin az Nvidia grafikus adapter(ek) CSAK akkor fognak futni, ha a teljesítménykorlátozójuk ezt jelenleg engedélyezi.

GPU teljesítménykorlátozásának beállítása

Az nvidia-smi eszközzel az Nvidia GPU teljesítménykorlátozásának beállításához a -pl paramétert kell használnunk. Így például a GPU Power Limit 120W-ra történő beállításához az nvidia-smi -pl 120 paramétert kell futtatnunk, ahogy a fenti példaképen látható. A Power Limit beállítása után a GPU egyéb beállításaitól függetlenül a rendszer rögzíti a teljesítményhatárt.

Íme, a varázslat

nvidia
A fenti példánkban a GPU órajelét 1050 MHz-re, a Power Limitet pedig 120W-ra állítottuk be egy 6x Nvidia RTX 3070 GPU-val rendelkező bányász rig esetében. Viszont ahogy az NBMiner képernyőképen látható, az üzemi frekvencia alacsonyabb a beállított értéknél, miközben a Power Limit is 119W-ot jelent 120W helyett. Az ilyen kis mértékű eltérés ilyen esetben teljesen normális.

A helyzet az, hogy az itteni limitünk szerinti 120W-os energiafelhasználás mellett az említett GPU-k egyszerűen nem képesek ilyen magas GPU órajelen működni. De ha kicsit tovább emeljük a teljesítménylimitet, akkor a videokártyák gond nélkül képesek lesznek 1050 MHz-es órajelen üzemelni. Amire tehát figyelni kell, az az, hogy jól illesszük össze a két paramétert, hogy optimális teljesítményt kapjunk az optimális energiafelhasználás mellett.

Ha a teljesítménykorlátot mondjuk 150W-ra állítjuk be, de a GPU órajelkorlátja 1050 MHz-en van, akkor a videokártyák csak 130-135W körül fognak fogyasztani, nem pedig a teljes 150W-ot. A trükk itt az, hogy először megnézzük, milyen GPU órajelre van szükségünk egy adott videokártya optimális teljesítményéhez. Például az RTX 3070 (gyártmánytól, modelltől és működési körülményektől függően) valahol 850 és 1050 MHz közötti GPU órajelet igényelhet, hogy 60 MHs Ethash bányászati hashrate-et adjon 120W-130W-os energiafelhasználás mellett maximálisan.

Csak egy kicsit játszadoznunk kell az adott hardvereddel, és meg kell néznünk, ki kell tapasztalnunk, hogy mi működik a legjobban. Majd automatizálhatjuk a beállításokat az optimális teljesítmény és energiafelhasználás érdekében a bányászszoftverünk futtatásához használt batch-fájlon keresztül.