Grafické karty, FPGA, ASIC
Tu to začína byť omnoho zaujímavejšie, a pravdepodobne riešenie pre väčšinu minerov. Grafické karty poskytujú niekoľkonásobne vyšší výkon než procesory.
nVidia
Model | Výkon (MH/s) |
8800GT | 25 |
9800GTX | 32 |
GTX 285 | 53 |
GTS 450 | 45 |
GTX 480 | 100 |
GTX 560 Ti | 67 |
GTX 570 | 98 |
GTX 580 | 156 |
GTX 590 | 193 |
GTX 670 | 112 |
GTX 680 | 120 |
GTX Titan | 340 |
AMD
Model | Výkon (MH/s) |
HD 4850 | 75 |
HD 4870 | 90 |
HD 5570 | 73 |
HD 5750 | 116 |
HD 5770 | 156 |
HD 5850 | 250 |
HD 5870 | 340 |
HD 6750 | 170 |
HD 6850 | 250 |
HD 6870 | 300 |
HD 6970 | 385 |
HD 6990 | 740 |
HD 7770 | 190 |
HD 7850 | 300 |
HD 7870 | 400 |
HD 7950 | 500 |
HD 7970 | 650 |
HD 7990 | 1200 |
Pri pohľade na tabuľku nVidie a AMD si mnoho ľudí povie, že je tam nejaká chyba, veď taký Titan predsa nemôže byť rovnako výkonný, ako 2 generácie starý Radeon HD 5870. A tiež prečo je GTX 680 pomalšia ako jej predchodca, a zároveň podáva pätinový výkon ako jej rival, HD 7970?
Čím to teda je, že karty od nVidie podávajú, v porovnaní s Radeonmi, zlomkový výkon? Môže za to odlišná architektúra čipov oboch výrobcov a zároveň povaha riešeného problému. Veľmi dobrý článok, ktorý sa práve touto problematikou zaoberá, bol uverejnený na webe Extremetech.
V provom rade, grafické operácie prebiehajú s číslami v plávajúcej desatinnej čiarke, (FP16/32), no naproti tomu, kryptografické operácie sú vyslovene celočíselné operácie. Jedným z krokov pri výpočte hashu pomocou SHA256 sú pravé bitové rotácie nad 32-bitovými celými číslami - zjednodušene povedané, vezmeme jeden bit sprava, celé 32-bitové číslo posunieme o 1 doprava. Najpravejší bit, ktorý sme v prvom kroku vybrali, vložíme zase ako prvý zľava. Táto operácie nie je v moderných procesoroch či grafických kartách riešená takto naivne, napr. také GPU od AMD má pre túto operáciu natívnu inštrukciu (v jednom kroku o N bitov), ktorej vykonanie trvá 1 takt. Karty nVidie, okrem GTX Titanu, však toto správanie musia riešiť troma inštrukciami - dvoma posunmu (shift) a jedným sčítaním.
Radeony a GTX Titan majú taktickú výhodu - tzv. funnel shifter, súčasť ALU, ktorá dokáže vykonávať akýkoľvek druh posunov alebo rotácií za jeden takt. Tento funkčný blok pozostáva z jedného registra o 2x väčšej dĺžke (v našom prípade má 64 bitov). Pokiaľ by sme chceli rotovať určité 32-bitové číslo napravo, nakopírujeme ho do oboch polovíc tohto registra, a potom pomocou 32-bitového okna "vysekneme" z neho časť, ktorá nás zaujíma.
(schéma bitovej rotácie doprava o "offset" bitov pomocou funnel shiftera)
Pokiaľ by sme chceli urobiť bitovú rotáciu doprava o 1, nastavíme výsekové okno úplne doprava a pohneme s ním raz doľava. Nakoľko obe polovice registrov sú rovnaké, úplne naľavo sa objaví najpravejší bit a celok je zároveň posunutý doprava. Pokiaľ rotujeme o N bitov, operácia vyseknutia zaberie stále len 1 takt.
Vďaka tomu je Titan schopný vykonať 2x viac bitových posunov na (a rotácií) na multiprocesor (SMX) za takt, než GTX 680 - 32 VS 64. Titan má dohromady 14 SMX, čo dáva teoreticky 896 bitových posunov za takt. Výkon Radeonov je tiež 64 shiftov na jeden Compute Unit (CU, približne ekvivalent SMX). Lenže AMD má granulárnejšiu architektúru (=viac jednoduchších elementov), CU neobsahujú toľko výpočtových procesorov ako nVidia, no na druhej strane má viac takýchto jednoduchších CU - a to až 32. Čipy Tahiti v kartách HD 7970 zvládnu teoreticky až 2048 shiftov za takt, 2.2x viac ako Titan a 8x viac ako GTX 680, ktorá má 8 SMX.
Porovnanie výkonu kariet v shift operácii
Čip | SM/CU | počet integer shift op. na jeden SM/CU za takt | shifts na celý čip za takt |
Radeon HD 7970 | 32 | 64 | 2048 |
GeForce GTX 580 | 16 | 16 | 256 |
GeForce GTX 680 | 8 | 32 | 256 |
GeForce GTX Titan | 14 | 64 | 896 |
Ako vidno v tabuľke, teoretický výkon GTX 580 (Fermi) a GTX 680 (Kepler) je rovnaký, no podľa zozbieraných údajov je nižší. Problém však je optimalizácia kernelu (=programu bežiaceho na GPU). Obe architektúry sú do značnej miery odlišné, pokiaľ by bol v testoch kernel správne napísaný na GTX 680, pravdepodobne by podávala vyšší výkon než GTX 580. Na rozdiel od procesorov sú grafické karty vzájomne veľmi odlišné a často musia mať program napísaný doslova na mieru.
Porovnanie ceny a výkonu niektorých kariet
Model | Cena (€) | Výkon (MH/s) | €/MH |
Radeon HD 7970 | 370 | 650 | 0.57 |
Radeon HD 7950 | 285 | 500 | 0.57 |
Radeon HD 7870 | 225 | 400 | 0.56 |
Radeon HD 7850 | 180 | 300 | 0.6 |
Radeon HD 7770 | 120 | 190 | 0.63 |
Radeon HD 7750 | 90 | 135 | 0.66 |
GeForce GTX Titan | 980 | 340 | 2.88 |
GeForce GTX 680 | 450 | 120 | 3.75 |
GeForce GTX 660 | 200 | 78 | 2.56 |
GeForce GTX 650 Ti | 130 | 55 | 2.36 |
Najlepší pomer cena/výkon majú prvé Radeony HD 7970/7950/7870, slabšie modely sa držia pomerne tesne v závese. nVidia je vzhľadom na nízky výkon úplne mimo, kupovať akúkoľvek GeForce špeciálne na Bitcoin mining sa vôbec neoplatí. Výber kariet je teda jasný - pre mining (a všeobecne pre použitie v kryptografii) jednoznačne karty AMD.
FPGA, ASIC
Grafické karty však rozhodne nepodávajú najvyšší výkon pri počítaní. Obvody na mieru sú, čo sa výkonu týka, úplne iná liga. V praxi ich môžeme rozdeliť na programovateľné hradlové polia (FPGA) a špecializované čipy (ASIC). Takýchto produktov je pomerne málo, no ich výkon (a samozrejme cena) je úplne niekde inde, najmä u ASIC.
FPGA čo do výkonu skôr konkurujú grafickým kartám, no sú ďaleko úspornejšie - tak napr. X6500 FPGA Miner podáva výkon 400MH/s, no spotrebuje len 17W energie, čo je neporovnateľne menej, než zostava s HD 7870, ktorá má približne rovnaký výkon.
FPGA
Model | Výkon (MH/s) | Spotreba (W) | Cena (€) |
Icarus | 380 | 19 | 438 |
ModMiner Quad | 800 | 40 | 820 |
X6500 FPGA Miner | 400 | 17 | 420 |
ZTEX USB-FPGA Module 1.15b | 90 | ? | 250 |
ZTEX USB-FPGA Module 1.15x | 215 | ? | 310 |
ZTEX USB-FPGA Module 1.15y | 860 | ? | 1000 |
Oveľa zaujímavejšie však sú špecializované čipy. Majú nielen výrazne vyšší výkon než grafické karty, ale aj nižšiu spotrebu. Je to to najvýkonnejšie, čo si môžte pre mining v súčasnej dobe zaobstarať. Mnohé z nich sa ešte nezačali predávať.
(Block Errupter Blade)
ASIC
Model | Výkon (MH/s) | Spotreba (W) | Cena (€) |
Avalon ASIC batch 1 | 66000 | 620 | 1000 |
BitForce SC 5GH/s | 5000 | 30 | 210 |
BitForce SC 25GH/s | 25000 | ? | 960 |
BitForce SC 50GH/s | 50000 | ? | 1920 |
BitForce Mini Rig SC | 1500000 | ? | 23000 |
Block Errupter Blade | 10752 | 70 | 49.99BTC (cca 5500€) |
Niektoré ASIC riešenia sú dokonca stand-alone, t.j. nepotrebujú byť pripojené k počítaču, ako napr. Avalon ASIC či Block Errupter, ktoré majú vstavané sieťové adaptéry, v prípade Avalonu či Mini Rigu dokonca Wifi adaptér. Zvyšok sa pripája cez USB k počítaču. Nehovoriac o spotrebe, ktorá je oproti ekvivaletnému systému postaveného na Radeonoch zlomková.
risoo
daddino
veron