Radeon HD 7990 — testujemy wyliczanie bitcoinów na jednej z najsilniejszych dostępnych kart graficznych

Strona główna Lab Komponenty i akcesoria

O autorze

Kilka tygodni temu, dzięki uprzejmości firmy AMD, otrzymaliśmy do testowania urządzenie o ogromnej mocy obliczeniowej. Dlaczego piszę urządzenie, a nie po prostu karta graficzna? Celem testów nie miała być bynajmniej grafika – nie zajmowaliśmy się tym, ile to ramek na sekundę zostanie wyrenderowanych przez tysiące procesorów strumieniowych tego sprzętowego monstrum w Bioshocku czy innej wymagającej grze. Radeon HD 7990, pierwsza dwuprocesorowa karta graficzna od AMD z serii 7xxx, miała zostać wykorzystana do celu, do którego od kilku lat karty „czerwonej drużyny” były wykorzystywane bardzo chętnie, czyli do wyliczania wirtualnej, kryptograficznej waluty Bitcoin.

Dlaczego czerwone, a nie zielone?

Niezwykła wydajność Radeonów w wyliczaniu bitcoinów od dawna zastanawiała zajmujących się tą działalnością „górników”. Gdy po omacku zaczęto wyszukiwać najbardziej efektywny do tego sprzęt, uruchamiając rozmaite minery (oprogramowanie do wyliczania kryptograficznych walut) na czym się dało – od rozmaitych CPU (zarówno x86 jak i Power czy Sparc), przez najróżniejsze karty graficzne po specjalizowane urządzenia, takie jak programowalne układy FPGA, szybko okazało się, że karty graficzne z procesorami Radeon HD wręcz deklasują pozostały dostępny na rynku sprzęt. Czemu tak było? Przecież wśród graczy generalnie panowało przekonanie, że to „zielone” jest wydajniejsze, a na rynku superkomputerów niemal niepodzielnie rządziła Nvidia ze swoimi układami Tesla.

Faktycznie – w grach porównywalne cenowo czipy GeForce pozwalały zwykle na uzyskanie od 5-15% większej wydajności (zwyczajowo mierzonej w FPS, przy rozdzielczości FullHD), niż porównywalne Radeony, przy mniejszym zużyciu energii. Weźmy na przykład dwie karty tej samej generacji.

  • GeForce GTX 460, z rdzeniem taktowanym 675 MHz i 1024 MB pamięci GDDR5 taktowanej 900 MHz, zawiera 336 procesorów strumieniowych, 56 jednostek teksturujących i 32 jednostki rasteryzujące.
  • Radeon HD 5830 z rdzeniem taktowanym 800 MHz i pamięcią taktowaną 1000 MHz zawiera 1120 procesory strumieniowe, 56 jednostki teksturujące i 16 jednostek rasteryzujących.

Według bazujących na grach benchmarkach Tom's Hardware, GTX 460 okazywał się średnio 10% bardziej wydajny, przy 9% niższym maksymalnym zużyciu energii. Gdy jednak przyszło porównać wydajność obu kart w rozwiązywaniu funkcji skrótu SHA2-256, będącej kluczowym elementem wydobywania bitcoinów, czipy od AMD po prostu miażdżyły procesory Nvidii. Radeon HD 5830 pozwala na uzyskanie nawet 330 Mh/s (milionów operacji sprawdzania funkcji skrótu na sekundę), podczas gdy najlepsze wyniki GTX 460 nie przekraczają 70 Mh/s.

W powyższym porównaniu tych dwóch modeli na pewno zauważyliście sporą różnicę w liczbie procesorów strumieniowych w obu czipach. Czy to może być wyjaśnieniem wielkiej przewagi sprzętu AMD w „kopaniu” bitcoinów? Po części tak.

Jak wyjaśnia wiki projektu Bitcoin, procesory graficzne AMD zawierają wiele prostych jednostek arytmetyczno-logicznych (ALU) taktowanych relatywnie niskimi częstotliwościami, podczas gdy procesory Nvidii zawierają mniejszą liczbę bardziej złożonych jednostek arytmetyczno-logicznych, taktowanych zwykle wyższymi częstotliwościami. Podbijać częstotliwości takich złożonych ALU nie można jednak w nieskończoność – trzeba brać przecież pod uwagę zużycie energii i wydzielane ciepło, więc kompensacja zegarem niewiele daje. Przykładowo Radeon HD 6990, z 3072 ALU taktowanych 830 MHz pozwala na wykonanie ponad 2,5 mld 32-bitowych instrukcji na sekundę, a z tej samej półki GTX 590, z 1024 ALU taktowanych 1200 MHz, pozwala na wykonanie około 1,2 mld 32-bitowych instrukcji na sekundę.

To jednak nie wszystko. Algorytm funkcji skrótu SHA-256, wykorzystywanej w Bitcoinie, intensywnie korzysta z 32-bitowej operacji obrotu bitowego w prawo. Czipy AMD realizują ją za pomocą jednej instrukcji sprzętowej, podczas gdy GPU Nvidii muszą realizować ją software'owo, za pomocą złożenia dwóch przesunięć bitowych i dodawania.

Połączenie obu tych czynników daje więc procesorom graficznym AMD nawet pięciokrotną przewagę nad „zieloną konkurencją” przy wszystkich obciążeniach typowych dla łamania haseł czy znajdywania funkcji skrótu. Co prawda w najnowszej generacji GPU Nvidii (procesory Titan i Tesla K20) pojawiła się obsługa nowego mechanizmu platformy CUDA o nazwie funnel shifter (co można przetłumaczyć jako lejek przesunięć), umożliwiającego łączenie operacji i w praktyce wyeliminowanie narzutu generowanego przez brak sprzętowej instrukcji obrotu bitowego, ale testy okazały się bezlitosne: potężny GTX Titan, kosztujący ponad 4 tysiące złotych, jest w stanie wyciągnąć na podrasowanym oprogramowaniu zaledwie 340 MH/s, czyli może 10% więcej, niż już wspomniany, wydany w 2009 roku Radeon HD 5830, którego dziś na Allegro można kupić za niecałe 400 złotych. 10% większa wydajność w wyliczaniu bitcoinów za 1000% większą cenę? No cóż, kopiąc złoto nie warto chyba mieć łopaty ze złota.

Uwaga: powyższe argumenty nie oznaczają, że karty Nvidii są ogólnie mniej wydajne w obliczeniach, niż karty AMD. „Zielone” jest nieporównywalnie szybsze od „czerwonego” we wszystkich niewektoryzowalnych zadaniach, szczególnie jeśli wiążą się z dostępem do pamięci. Efekty tego można zobaczyć np. przy uruchamianiu takich projektów jak folding@home.

Czerwony potwór ze słabym kardio

Jeśli więc karta graficzna do liczenia bitcoinów, to tylko od AMD – to już wiemy. Gdyby więc chcieć się na poważnie zająć bitcoinowym górnictwem, czy nie należałoby sięgnąć po najsilniejszą z kart AMD? Właśnie taką kartą chciał się nam pochwalić producent. Niedawno wydany flagowiec flotylli Radeonów, HD 7990 „Malta” to złożony w jedną kartę zestaw dwóch układów graficznych Tahiti XT, znanych z Radeona HD 7970. Jego parametry budzą respekt: 2x4,3 mld tranzystorów, taktowanie 1000/1500 MHz, 2x2048 procesorów strumieniowych oraz 2 banki 3 GB 384-bitowej pamięci RAM, o przepustowości 576 GB/s.

Nie mieliśmy w redakcji pod ręką żadnej koparki (PC zbudowanego wyłącznie z myślą o wydobywaniu bitcoinów), więc do testów wykorzystałem całkiem dobry PC, wykorzystywany głównie do obróbki foto/wideo i sporadycznego grania, z procesorem Intel core i7, 8 GB RAM oraz zasilaczem Chieftec 950 W, a wszystko to w obudowie zapewniającej dobry przepływ powietrza, z dodatkowymi wentylatorami.

Komputer otrzymał nowy dysk, na którym zainstalowałem początkowo Xubuntu 12.04 i własnościowe sterowniki grafiki fglrx, w wersji 13.4, najnowszej, jaka była na ten czas dostępna. Tutaj zaczęły się schody – narzędzie aticonfig nie było w stanie rozpoznać zainstalowanej karty, kilkukrotne próby reinstalacji sterowników niczego nie dały.

W tej sytuacji pozostało sięgnąć po Windows 7. Sterowniki dla systemu Microsoftu okazały się znacznie lepsze: Catalyst 13.4 bez problemu wykrył Radeona HD 7990. Dzięki temu, że nowe wersje Catalysta zawierają niezbędne do działania minerów pliki z AMD SDK, mogłem bezpośrednio zainstalować narzędzie do „kopania”. Wybór padł na cgminera, znanego ze stabilności i elastyczności w konfigurowaniu, dostępnego zresztą na Windows w wersji od razu skompilowanej (kompilowanie cgminera na Linuksie potrafi być niewdzięcznym zadaniem).

Na początek wypróbowałem standardową konfigurację, bez żadnego overclockingu, z automatycznym dostosowaniem szybkości obrotów wiatraków do temperatury rdzeni. Koparka z 7990 została podłączona do jednej z najpopularniejszych kopalni Bitcoin – Bitmintera.

Na początku wszystko wyglądało dobrze. Po pierwszych kilku minutach cgminer raportował wydajność na poziomie 1200 Mh/s – to jest 3,5 raza wyższą, niż w wypadku GTX Titana Nvidii i 1,75 raza wyższą niż w wypadku lepszych wersji Radeona HD 7970. Oczywiście taka wydajność nie jest za darmo: watomierz pokazywał pobór mocy na poziomie około 750 W (wykorzystany do testów komputer, z kartą GTS 250, pobiera z gniazdka około 120 W przy normalnej pracy). A jak z hałasem? Choć system chłodzenia tej referencyjnej karty jest niemal niesłyszalny przy standardowej pracy (37 dB), to już kilka minut po uruchomieniu cgminera przekraczał 50 dB, co dla osób o wrażliwym słuchu oznacza, że długo przy działającej koparce bitcoinów nie wysiedzą.

Oczywiście rozsądni ludzie stawiają koparki w takich miejscach, gdzie nie będą musieli na nie patrzeć (ani ich słyszeć), jedynie od czasu do czasu sprawdzając zdalnie ich stan. Tak też i ja zrobiłem. Gdy jednak po pół godzinie spróbowałem połączyć się po VNC z kopiącą Bitcoiny maszyną, okazało się, że jest to niemożliwe. Na miejscu sprawa się wyjaśniła: komputer się zawiesił, potrzebny był restart.

Restartów takich było jeszcze kilka. Najdłużej udało się utrzymać koparkę na bazie Radeona 7990 przy pracy przez około 3 godziny. Przy próbie wyliczania litecoinów (alternatywnej do Bitcoina kryptowaluty, korzystającej z innego, znacznie bardziej obciążającego GPU algorytmu hashowania) koparka potrafiła zawiesić się nawet po 10 minutach pracy. By upewnić się, że to nie problem z płytą główną czy zasilaczem, zastąpiłem tę potężną kartę dwiema wysłużonymi 5830. W tej konfiguracji koparka działała non stop przez ponad dobę (do momentu wyłączenia jej przeze mnie).

Jak wyjaśnić te dyskwalifikujące w praktyce kartę awarie? Być może trafił się nam wadliwy egzemplarz (7990, które otrzymaliśmy, było mocno przechodzone, wcześniej odwiedziło kilka innych redakcji), być może to problem ze sterownikami, który wyeliminowany mógłby być w następnej wersji. Być może jednak to wada projektowa samej karty. Doświadczeni użytkownicy na forum bitcointalk sugerują, że 7990 ma problemy z zasilaniem – wykorzystując dwie ośmiopinowe wtyczki PCI-E, jest w stanie zapewnić maksymalnie 375 W, podczas gdy karta potrzebuje znacznie więcej. Podobne spostrzeżenia można znaleźć w recenzji AnandTech, gdzie redaktorzy uskarżają się na efekt dławienia podczas benchmarku FurMark (…nigdy nie widzieliśmy go tak bardzo zdławionego jak na 7990. Podczas uruchamiania FurMarka karta momentami całkowicie stawała, by następnie przejść na swój średni poziom mocy (500 MHz). Niemniej wyniki te są interesujące, gdyż wyraźnie natrafiliśmy na jej ograniczenia szczytowej mocy, ale to nie jest w tym wypadku zbyt dobre stałe obciążenie).

Kto wie, być może obciążenie generowane przez cgminera również nie jest tu zbyt dobre – ostatecznie mówimy o 99-100% dla obu procesorów, przez cały czas działania. Kto wie, być może właśnie ten problem z dostarczeniem odpowiedniej mocy dla dwóch Tahiti XT zauważył Asus. Jego autorska karta ARES II zasilana jest przez trzy ośmiopinowe PCI-E.

Załóżmy jednak, że problemy ze stabilnością pracy karty można rozwiązać software'owo – nowa wersja Catalystów 13.4 na Linuksa, wydana raptem kilka dni temu, powinna wykrywać 7990; być może będzie można dzięki nim uruchomić zbudowaną na tej potężnej karcie koparkę, nie obawiając się jej zawieszenia. Czy ma to jednak jakikolwiek ekonomiczny sens, jeśli chcemy zarabiać na wydobywaniu i sprzedaży bitcoinów?

Policzmy: na Allegro Radeona HD 7990 kupić można za około 4300 zł. Zakładając wydajność karty na poziomie 1200 MH/s i to, że będzie pracowała przez całą dobę, to przy aktualnym poziomie trudności wyliczania Bitcoina (12153411), uzyskamy dziennie średnio 0,05 BTC, czyli miesięcznie około 1,5 BTC. Przy obecnej wartości BTC na poziomie około 400 zł, wartość wydobytych BTC to około 600 zł.

Ile kosztować będzie energia elektryczna zużyta do wydobycia takiej ilości bitcoinów? Zakładając, że koparka z jedną kartą 7990 zużyje miesięcznie około 470 kWh, elektrownia wystawi nam rachunek na około 260 zł (1 kWh kosztuje obecnie około 55 groszy). Zostaje 340 zł na czysto – czyli karta zwraca się po ponad 12 miesiącach.

Porównajmy to do wyników jednej z najpopularniejszych kart, wykorzystywanych do wyliczania bitcoinów – Radeona HD7950. Zapewnia ona wydajność na poziomie około 500 MH/s, i można ją kupić za około 1100 zł. Pracując non-stop, przynosi przy obecnym poziomie trudności jakieś 0,63 BTC miesięcznie, czyli równowartość około 250 zł. Koparka z jedną taką kartą zużyje miesięcznie nieco ponad 144 kWh energii, powiększając rachunek z elektrowni o około 80 zł miesięcznie. Na czysto zostaje 170 zł, czyli karta spłaca się już po pół roku.

Jak więc widać, nie ma najmniejszego sensu kupować 7990 do liczenia bitcoinów, czy też prowadzenia innych operacji wspomaganych przez GPU. O wiele bardziej sensowne będzie kupienie płyty głównej pozwalającej na podłączenie wielu kart 7950 – w cenie jednej 7990 możemy uzyskać cztery karty 7950, zużywające miesięcznie 576 kWh i zapewniające ok. 2000 MH/s (pozwala to na wyliczenie około 2,5 BTC). Widzę tylko jeden scenariusz, w którym wykorzystanie 7990 miałoby sens: jeśli bardzo zamożny gracz kupi sobie to czerwone monstrum do grania w rozdzielczościach 4K na wielu monitorach, ma do grania oddzielne pomieszczenie, a chciałby „pokopać” Bitcoiny hobbystycznie, to wówczas nic nie stoi na przeszkodzie, by odpalił od czasu do czasu cgminera.

Zmierzch GPU?

Te wszystkie wyliczenia nie uwzględniają oczywiście ryzyka inwestycyjnego, związanego z możliwymi zmianami kursu Bitcoina – być może pod koniec roku 1 BTC będzie wart 500 dolarów, być może jedynie 50. Wirtualna kryptowaluta to przecież wciąż karzełek w porównaniu do państwowych walut fiducjarnych, jej kurs może zostać zaburzony przez każdą większą transakcję.

Nie uwzględniamy tu także zmian technologicznych, związanych z pojawianiem się na rynku specjalizowanych koparek, wykorzystujących układy ASIC (Application Specific Integrated Circuit). To urządzenia, które wystarczy podłączyć do zasilania i Internetu i uruchomić, by cieszyć się wydajnością o rząd wielkości wyższą, niż zapewniają najmocniejsze nawet karty graficzne. Ich słabość? Do niczego innego, niż wydobywanie BTC (czy ewentualnie siłowe łamanie SHA-2 w innych scenariuszach) się nie nadają. Są też bardzo trudne do zdobycia, w grę wchodzą tylko przedpłaty u producentów, a wielu wciąż uważa, że cała sprawa to tylko naciąganie. Jeśli jednak komuś udałoby się kupić za około 20 tys. złotych taki Block Erupter Blade, zapewniający wydajność około 10,7 Gh/s przy zużyciu energii na poziomie 60 kWh miesięcznie, to w pierwszym miesiącu zarobiłby około 13,5 BTC (około 5400 zł), a inwestycja zwróciłaby się już po czterech miesiącach.

Upowszechnienie się takich koparek oznaczałoby jednak gwałtowny wzrost obliczeniowy całej sieci Bitcoin, a co za tym idzie, wzrost trudności obliczeń. Wówczas po kilku miesiącach posiadacz takiego zestawu 4x7950 mógłby wyliczyć nie 2,5 BTC, ale 1 BTC. Pół biedy, jeśli towarzyszyłby temu wzrost ceny bitcoinów na rynku, ale tego przecież nikt zagwarantować nie może. Nie ma też co liczyć na odsprzedaż kart graficznych wykorzystywanych do wyliczania bitcoinów: przeciętnemu graczowi tak mocne karty nie są potrzebne, rynek wtórny na Radeony 7950 i 7970 duży nie jest, więc raczej nie zmieszczą się na nim tysiące kart, wyprzedawanych przez zdesperowanych górników, którym wydobycie bitcoinów przestało się opłacać.

© dobreprogramy