Dnes sa o ňom diskutuje obzvlášť aktívne a mnohých používateľov zaujíma, kde začať s ťažbou mincí a ako sa to všeobecne deje. Popularita tohto odvetvia už mala hmatateľný dopad na trh GPU a mnoho z nich si už dlho spája výkonnú grafickú kartu nie s náročnými hrami, ale s kryptomenami. V tomto článku si povieme, ako zorganizovať celý tento proces od nuly a začať ťažiť na vlastnej farme, čo na to použiť a prečo je to nemožné.

Čo je ťažba GPU

Ťažba GPU je proces ťažby kryptomeny pomocou grafických jednotiek (GPU). Ak to chcete urobiť, použite výkonnú grafickú kartu v domácom počítači alebo špeciálne zostavenú farmu niekoľkých zariadení v jednom systéme. Ak vás zaujíma, prečo sa pre tento proces používajú GPU, odpoveď je dosť jednoduchá. Ide o to, že grafické karty sú pôvodne určené na spracovanie veľkého množstva údajov vykonávaním rovnakého typu operácií, ako je to v prípade spracovania videa. Rovnaký obrázok sa pozoruje pri ťažbe kryptomeny, pretože tu je proces hašovania rovnaký.

Na ťažbu sa používajú plnohodnotné samostatné grafické karty. Nepoužívajú sa notebooky alebo čipy integrované do procesora. V sieti tiež existujú články o ťažbe na externej grafickej karte, ale to tiež nefunguje vo všetkých prípadoch a nie je to najlepšie riešenie.

Aké grafické karty sú vhodné na ťažbu

Pokiaľ ide o výber grafickej karty, je tu bežnou praxou kúpiť si AMD rx 470, rx 480, rx 570, rx 580 alebo Nvidia 1060, 1070, 1080 ti. Vhodné sú aj grafické karty ako r9 280x, r9 290, 1050, 1060, ktoré však neprinesú veľký zisk. Ťažba na slabej grafickej karte ako geforce gtx 460, gts 450, gtx 550ti určite neprinesie zisk. Ak hovoríme o pamäti, potom je lepšie brať od 2 GB. Aj 1 GB nemusí stačiť, nieto 512 MB. Pokiaľ hovoríme o ťažbe na profesionálnej grafickej karte, prináša to zhruba rovnaké množstvo ako konvenčné alebo ešte menej. Berúc do úvahy náklady na takéto VC, je to nerentabilné, ale môžete ich získať s ich pomocou, ak ich už máte.

Je tiež potrebné poznamenať, že všetky grafické karty môžu získať zvýšenie výkonu vďaka odblokovaniu hodnôt, ktoré stanovil výrobca. Tento proces sa nazýva pretaktovanie. To však nie je bezpečné, vedie to k strate záruky a karta môže zlyhať, napríklad pri zobrazení artefaktov. Grafické karty môžete pretaktovať, musíte sa však oboznámiť s materiálmi na túto tému a postupovať opatrne. Mali by ste sa pokúsiť okamžite nastaviť všetky hodnoty na maximum, alebo ešte lepšie, nájsť príklady úspešných nastavení pretaktovania pre grafickú kartu na internete.

Najobľúbenejšie grafické karty na ťažbu do roku 2020

Nižšie uvádzame porovnanie grafických kariet. Tabuľka obsahuje najpopulárnejšie zariadenia a ich maximálnu spotrebu energie. Musím povedať, že tieto indikátory sa môžu líšiť v závislosti od konkrétneho modelu grafickej karty, jej výrobcu, použitej pamäte a niektorých ďalších charakteristík. Nemá zmysel písať o zastaraných ukazovateľoch, ako je napríklad ťažba litecoinu na grafickej karte, takže sa berú do úvahy iba tri najpopulárnejšie algoritmy pre farmy na grafických kartách.

Grafická karta Ethash Equihash CryptoNight Spotreba energie
AMD Radeon R9 280x 11 MH / s 290 H / s 490 H / s 230W
AMD Radeon RX 470 26 MH / s 260 H / s 660 H / s 120 W
AMD Radeon RX 480 29,5 MH / s 290 H / s 730 H / s 135 W
AMD Radeon RX 570 27,9 MH / s 260 H / s 700 H / s 120 W
AMD Radeon RX 580 30,2 MH / s 290 H / s 690 H / s 135 W
Nvidia GeForce GTX 750 TI 0,5 MH / s 75 H / s 250 H / s 55 W
Nvidia GeForce GTX 1050 TI 13,9 MH / s 180 H / s 300 H / s 75 W
Nvidia GeForce GTX 1060 22,5 MH / s 270 H / s 430 H / s 90 W
Nvidia GeForce GTX 1070 30 MH / s 430 H / s 630 H / s 120 W
Nvidia GeForce GTX 1070 TI 30,5 MH / s 470 H / s 630 H / s 135 W
Nvidia GeForce GTX 1080 23,3 MH / s 550 H / s 580 H / s 140 W
Nvidia GeForce GTX 1080 TI 35 MH / s 685 H / s 830 H / s 190 W.

Je možné ťažiť na jednej grafickej karte?

Ak nechcete vybudovať plnohodnotnú farmu z rôznych GPU alebo si chcete tento postup vyskúšať iba na domácom počítači, môžete ťažiť aj pomocou jednej grafickej karty. Neexistujú žiadne rozdiely a počet zariadení v systéme nie je vo všeobecnosti dôležitý. Okrem toho môžete inštalovať zariadenia s rôznymi čipmi alebo dokonca od rôznych výrobcov. Musíte len spustiť dva programy paralelne pre čipy od rôznych spoločností. Pripomeňme ešte raz, že ťažba na integrovanej grafickej karte sa nevykonáva.

Aké kryptomeny sa dajú ťažiť na grafických kartách

Na GPU je možné vyťažiť ľubovoľnú kryptomenu, treba však chápať, že výkon na rôznych sa bude líšiť na tej istej karte. Staršie algoritmy sú už pre videoprocesory nevhodné a neprinesú žiadny zisk. Deje sa tak z dôvodu objavenia sa na trhu nových zariadení - tzv. Sú oveľa efektívnejšie a výrazne zvyšujú zložitosť siete, ale ich náklady sú vysoké a dosahujú tisíce dolárov. Preto je ťažba mincí SHA-256 (bitcoin) alebo scrypt (litecoin, dogecoin) doma v roku 2018 zlým nápadom.

Okrem LTC a DOGE ASIC znemožnil ťažbu bitcoinov (BTC), Dash a ďalších mien. Kryptomeny, ktoré používajú algoritmy chránené ASIC, sú oveľa lepšou voľbou. Takže napríklad pomocou GPU bude možné ťažiť mince pomocou algoritmov CryptoNight (Karbovanets, Monero, Electroneum, Bytecoin), Equihash (ZCash, Hush, Bitcoin Gold) a Ethash (Ethereum, Ethereum Classic). Zoznam nie je ani zďaleka úplný a nové projekty založené na týchto algoritmoch sa neustále objavujú. Medzi nimi sú vidličky populárnejších mincí aj úplne nový vývoj. Občas sa dokonca objavia nové algoritmy, ktoré sú určené na riešenie určitých problémov a môžu používať rôzne zariadenia. Ďalej si povieme, ako zistiť hashovaciu frekvenciu grafickej karty.

Čo potrebujete na ťažbu na grafickej karte

Nižšie je uvedený zoznam toho, čo potrebujete na vytvorenie farmy:

  • Samotné grafické karty. Výber konkrétnych modelov závisí od vášho rozpočtu alebo od toho, čo je už na sklade. Staré zariadenia založené na AGP samozrejme nebudú fungovať, ale môžete použiť akúkoľvek kartu strednej alebo najvyššej triedy z posledných rokov. Vyššie sa môžete vrátiť k tabuľke výkonu grafickej karty, ktorá vám umožní urobiť si vhodný výber.
  • Počítač na ich inštaláciu. Nie je potrebné používať špičkový hardvér a vyrábať farmu na základe vysoko výkonných komponentov. Na inštaláciu operačného systému a potrebných programov bude stačiť starý AMD Athlon, pár gigabajtov pamäte RAM a pevný disk. Dôležitá je aj základná doska. Mal by mať dostatok PCI slotov pre vašu farmu. Existujú špeciálne verzie pre baníkov, ktoré obsahujú 6 - 8 slotov a v určitých prípadoch je výhodnejšie ich použiť ako zostaviť niekoľko počítačov. Osobitná pozornosť by sa mala venovať iba napájacej jednotke, pretože systém bude nepretržite fungovať pri vysokom zaťažení. Je potrebné vziať si napájací zdroj s výkonovou rezervou a je žiaduce mať certifikáty 80 Plus. Je tiež možné spojiť dva bloky do jedného pomocou špeciálnych adaptérov, ale toto riešenie spôsobuje na internete polemiku. Je lepšie puzdro vôbec nepoužívať. Pre lepšie ochladenie sa odporúča vyrobiť alebo kúpiť špeciálny stojan. V tomto prípade sa grafické karty vykonávajú pomocou špeciálnych adaptérov nazývaných stúpačky. Môžete ich kúpiť v špecializovaných predajniach alebo na aliexpress.
  • Dobre vetraná suchá oblasť. Stojí za to umiestniť farmu do nebytovej miestnosti, alebo lepšie povedané do samostatnej miestnosti. Tým sa eliminuje nepohodlie, ktoré vzniká v dôsledku hlučnej činnosti chladiacich a prenosových systémov. Ak to nie je možné, mali by ste zvoliť grafické karty s najtichším chladiacim systémom. Viac sa o ňom dozviete z recenzií na internete, napríklad na YouTube. Mali by ste brať ohľad aj na cirkuláciu a vetranie vzduchu, aby bola teplota čo najnižšia.
  • Banícky program. Ťažba GPU prebieha pomocou špeciálneho, ktorý je možné nájsť na internete. Pre výrobcov ATI Radeon a Nvidia sa používa iný softvér. To isté platí pre rôzne algoritmy.
  • Servis vybavenia. Toto je veľmi dôležitý bod, pretože nie každý chápe, že ťažobná farma vyžaduje neustálu údržbu. Používateľ musí sledovať teplotu, meniť tepelnú pastu a odstraňovať prach z CO. Pamätajte tiež na bezpečnostné opatrenia a pravidelne kontrolujte, či systém správne funguje.

Ako nastaviť ťažbu na grafickej karte od nuly

V tejto časti zvážime celý proces ťažby od výberu meny po výber finančných prostriedkov. Je potrebné poznamenať, že celý tento proces sa môže mierne líšiť pre rôzne fondy, programy a čipy.

Ako si vybrať grafickú kartu na ťažbu

Odporúčame vám, aby ste sa oboznámili s tabuľkou vyššie a s časťou o výpočte potenciálnych zárobkov. To vám umožní vypočítať približný príjem a určiť, ktorý hardvér si môžete dovoliť viac, ako aj zistiť dobu návratnosti. Nezabudnite na kompatibilitu napájacích konektorov grafickej karty a napájacieho zdroja. Ak sa používajú rôzne, mali by ste si vopred zaobstarať príslušné adaptéry. To všetko sa dá ľahko kúpiť v čínskych online obchodoch za cent alebo od miestnych predajcov s určitou rezervou.

Výber kryptomeny

Teraz je dôležité rozhodnúť sa, o ktorú mincu máte záujem a aké ciele chcete dosiahnuť. Ak máte záujem zarobiť si peniaze v reálnom čase, mali by ste si zvoliť meny, ktoré majú momentálne najväčší zisk, a ihneď po ich prijatí ich predať. Môžete tiež ťažiť najobľúbenejšie mince a držať ich, kým sa cena nezvýši. Existuje aj určitý druh strategického prístupu, keď si podľa vášho názoru vyberiete málo známu, ale perspektívnu menu a investujete do nej moc v nádeji, že v budúcnosti sa náklady výrazne zvýšia.

Výber bazéna na ťažbu

Majú tiež určité rozdiely. Niektoré z nich vyžadujú registráciu a niektoré na začiatok potrebujú iba vašu adresu peňaženky. Prvé zvyčajne zarobia peniaze, ktoré zarobíte, kým nedosiahne minimálnu sumu na platbu, alebo až do manuálneho výberu vašich peňazí. Suprnova.cc je dobrým príkladom takého bazéna. Ponúkajú veľa kryptomien a na to, aby ste mohli pracovať v každom z poolov, je potrebné sa na stránke zaregistrovať iba raz. Táto služba sa ľahko nastavuje a je vhodná pre začiatočníkov.

Podobný zjednodušený systém ponúka aj webová stránka Minergate. No, ak sa nechcete registrovať na nejakej stránke a ukladať tam zarobené prostriedky, mali by ste si na fóre BitcoinTalk zvoliť akýkoľvek pool v oficiálnej téme mince, o ktorú sa zaujímate. Jednoduché fondy vyžadujú iba uvedenie adresy pre nabíjanie krypty a v budúcnosti bude možné pomocou adresy zistiť štatistiku ťažby.

Vytvárame peňaženku s kryptomenami

Túto položku nepotrebujete, ak používate bazén, ktorý vyžaduje registráciu a má zabudovanú peňaženku. Ak chcete dostávať platby automaticky do svojej peňaženky, skúste si prečítať o vytvorení peňaženky v článku o príslušnej minci. Tento proces sa môže pri rôznych projektoch výrazne líšiť.

Môžete tiež jednoducho označiť adresu svojej peňaženky na jednej z búrz, je však potrebné poznamenať, že nie všetky burzové platformy prijímajú transakcie z poolov. Najlepšou možnosťou by bolo vytvorenie peňaženky priamo vo vašom počítači, ale ak pracujete s veľkým počtom mien, potom by ukladanie všetkých blockchainov bolo nepohodlné. V takom prípade by ste mali hľadať spoľahlivé online peňaženky alebo ľahké verzie, ktoré nevyžadujú stiahnutie celej kladkovej reťaze.

Výber a inštalácia ťažobného programu

Výber programu na ťažbu krypty závisí od zvolenej mince a jej algoritmu. Pravdepodobne všetci vývojári takéhoto softvéru majú vlákna na BitcoinTalks, kde nájdete odkazy na stiahnutie a informácie o tom, ako ich nastaviť a spustiť. Takmer všetky tieto programy majú verzie pre Windows aj Linux. Väčšina z týchto baníkov je zadarmo, ale určité percento času používajú na pripojenie k bazénu vývojárov. Toto je druh provízie za používanie softvéru. V niektorých prípadoch môže byť deaktivovaný, čo však vedie k funkčným obmedzeniam.

Nastavenie programu znamená, že zadáte ťažobný fond, adresu peňaženky alebo prihlasovacie meno, heslo (ak existuje) a ďalšie možnosti. Odporúča sa napríklad nastaviť maximálny teplotný limit, po dosiahnutí ktorého sa farma vypne, aby nedošlo k poškodeniu grafických kariet. Rýchlosť chladiacich ventilátorov a ďalšie jemnejšie nastavenia, ktoré začiatočníci pravdepodobne nepoužívajú, sú nastaviteľné.

Ak neviete, ktorý softvér si zvoliť, prečítajte si náš materiál alebo si prečítajte pokyny na webovej stránke bazéna. Zvyčajne vždy existuje časť venovaná tomu, ako začať. Obsahuje zoznam programov, ktoré je možné použiť, a konfigurácie pre ne .bat súbory. S ním môžete rýchlo zistiť nastavenie a začať ťažiť na samostatnej grafickej karte. Okamžite môžete vytvoriť telové košele pre všetky meny, s ktorými chcete pracovať, takže v budúcnosti bude pohodlnejšie medzi nimi prepínať.

Začíname ťažiť a sledovať štatistiku

Po štarte .bat súbor s nastaveniami, uvidíte okno konzoly, kde sa zobrazí protokol toho, čo sa deje. Nachádza sa tiež v priečinku so spustiteľným súborom. V konzole vidíte aktuálnu hashovaciu frekvenciu a teplotu karty. Klávesové skratky zvyčajne umožňujú vyvolať skutočné údaje.

Budete tiež môcť vidieť, či zariadenie nenájde hašovanie. V takom prípade sa zobrazí varovanie. To sa stane, keď je niečo nesprávne nakonfigurované, pre mincu je vybraný nesprávny softvér alebo GPU nefunguje správne. Mnoho baníkov tiež používa nástroje na vzdialený prístup k počítaču na sledovanie farmárskych činností, keď nie sú tam, kde sú nainštalované.

Vyberte kryptomenu

Ak používate fondy ako Suprnova, všetky prostriedky sa jednoducho hromadia na vašom účte a môžete ich kedykoľvek vybrať. Zvyšok združení najčastejšie používa systém, keď sa finančné prostriedky automaticky pripíšu na zadanú peňaženku po prijatí minimálnej sumy na výber. Koľko ste zarobili, sa zvyčajne dozviete na webovej stránke bazéna. Musíte len uviesť adresu svojej peňaženky alebo sa prihlásiť do svojho osobného účtu.

Koľko môžete zarobiť?

Suma, ktorú môžete zarobiť, závisí od situácie na trhu a samozrejme od celkovej hodnoty hash vašej farmy. Je tiež dôležité, ktorú stratégiu si zvolíte. Nie je potrebné predávať všetko vyťažené naraz. Môžete napríklad počkať na skok v rýchlosti vyťaženej mince a získať mnohonásobne väčší zisk. Všetko však nie je také jednoduché a predpovedať ďalší vývoj udalostí je jednoducho nereálne.

Návratnosť grafických kariet

Výpočet návratnosti vám pomôže špeciálna online kalkulačka. Na internete je ich veľa, ale tento proces zvážime na príklade služby WhatToMine. Umožňuje vám získať údaje o aktuálnom zisku na základe údajov vašej farmy. Musíte len vybrať grafické karty, ktoré máte na sklade, a potom pridať náklady na elektrickú energiu vo vašej oblasti. Stránka vypočíta, koľko môžete za deň zarobiť.

Malo by sa chápať, že sa berie do úvahy iba aktuálny stav na trhu a situácia sa môže kedykoľvek zmeniť. Miera môže klesať alebo stúpať, náročnosť ťažby bude iná alebo sa objavia nové projekty. Napríklad výroba éteru sa môže zastaviť z dôvodu možného prechodu siete na. Ak prestanete ťažiť Ethereum, potom budú musieť farmy niekde smerovať voľnú energiu, napríklad na ťažbu ZCash na GPU, čo ovplyvní rýchlosť tejto mince. Na trhu existuje veľa podobných scenárov a je potrebné si uvedomiť, že súčasný obraz nemusí pretrvávať počas celej doby návratnosti zariadenia.

Dnes sú správy o použití GPU na všeobecné výpočty počuť na každom rohu. Slová ako CUDA, Stream a OpenCL sa za takmer dva roky stali takmer najcitovanejšími na IT internete. Nie všetci však vedia, čo tieto slová znamenajú a čo znamenajú technológie za nimi stojace. A pre používateľov systému Linux zvyknutých na „útek“ a vo všeobecnosti sa to všetko považuje za temný les.

Zrod GPGPU

Všetci sme si zvykli myslieť, že jedinou súčasťou počítača, ktorá je schopná vykonávať akýkoľvek kód, ktorý mu je objednaný, je centrálny procesor. Po dlhú dobu boli takmer všetky bežné počítače vybavené jedným procesorom, ktorý vykonával všetky mysliteľné výpočty vrátane kódu operačného systému, všetkého nášho softvéru a vírusov.

Neskôr sa objavili viacjadrové procesory a viacprocesorové systémy, v ktorých bolo niekoľko takýchto komponentov. Toto umožnilo strojom vykonávať niekoľko úloh súčasne a celkový (teoretický) výkon systému sa zvýšil presne toľko krát, koľko jadier bolo v stroji nainštalovaných. Ukázalo sa však, že výroba a návrh viacjadrových procesorov je príliš ťažký a nákladný.

Každé jadro muselo obsahovať plnohodnotný procesor zložitej a neprehľadnej architektúry x86 s vlastnou (dosť veľkou) vyrovnávacou pamäťou, potrubím pokynov, blokmi SSE, mnohými blokmi vykonávajúcimi optimalizácie atď. atď. Preto sa proces zvyšovania počtu jadier výrazne spomalil a biele univerzitné plášte, pre ktoré zjavne nestačili dve alebo štyri jadrá, našli spôsob, ako na svoje vedecké výpočty použiť ďalší výpočtový výkon, ktorého bolo na grafickej karte neúrekom (vo výsledku sa objavil nástroj BrookGPU, emulujúci ďalší procesor pomocou funkcií DirectX a OpenGL).

GPU, zbavené mnohých nedostatkov centrálneho procesora, sa ukázali ako vynikajúci a veľmi rýchly výpočtový stroj a veľmi skoro sa aj samotní výrobcovia GPU začali podrobne zaoberať dosiahnutými výsledkami vedcov (a spoločnosť nVidia najala väčšinu výskumníkov na prácu). Výsledkom bola technológia CUDA spoločnosti nVidia, ktorá definuje rozhranie, ktoré umožňuje prenášať výpočet zložitých algoritmov na plecia GPU bez akýchkoľvek barlí. Neskôr za ním nasledoval ATi (AMD) s vlastnou verziou technológie s názvom Close to Metal (teraz Stream) a veľmi skoro tu bola štandardná verzia od Apple s názvom OpenCL.

Je GPU všetko?

Napriek všetkým výhodám má technika GPGPU niekoľko problémov. Prvým je veľmi úzky rozsah pôsobnosti. GPU vykročili ďaleko pred centrálny procesor, pokiaľ ide o zvýšenie výpočtového výkonu a celkového počtu jadier (grafické karty nesú výpočtovú jednotku pozostávajúcu z viac ako sto jadier), ale takáto vysoká hustota sa dosahuje maximálnym zjednodušením samotnej konštrukcie čipu.

V podstate sa hlavná úloha GPU zredukuje na matematické výpočty pomocou jednoduchých algoritmov, ktoré ako vstup dostávajú nie veľmi veľké množstvo predvídateľných údajov. Z tohto dôvodu majú jadrá GPU veľmi jednoduchý dizajn, malú veľkosť vyrovnávacej pamäte a skromnú sadu pokynov, čo sa nakoniec prejaví v lacnej výrobe a možnosti veľmi hustého umiestnenia na čipe. GPU sú ako čínska továreň s tisíckami pracovníkov. Niektoré jednoduché veci robia celkom dobre (a čo je najdôležitejšie - rýchlo a lacno), ale ak im zveríte montáž lietadla, výsledkom bude maximálny závesný klzák.

Preto je prvým obmedzením GPU zameranie na rýchle matematické výpočty, ktoré obmedzujú rozsah použitia GPU na pomoc pri práci s multimediálnymi aplikáciami, ako aj s akýmikoľvek programami zapojenými do komplexného spracovania údajov (napríklad archivátory alebo šifrovacie systémy, ako aj softvér zaoberajúci sa fluorescenčnou mikroskopiou, molekulárnymi dynamika, elektrostatika a ďalšie veci, ktoré používateľov Linuxu len málo zaujímajú).

Druhým problémom GPGPU je, že nie každý algoritmus môže byť prispôsobený na vykonávanie na GPU. Samotné jadrá GPU sú dosť malátne a ich sila vyjde až pri spoločnej práci. To znamená, že algoritmus bude rovnako efektívny, ako ho programátor dokáže efektívne paralelizovať. Väčšinou takúto prácu zvládne iba dobrý matematik, ktorého je len veľmi málo vývojárov softvéru.

A po tretie: GPU pracujú s pamäťou nainštalovanou na samotnej grafickej karte, takže pri každej aktivácii GPU dôjde k dvom ďalším kopírovacím operáciám: vstupné dáta z RAM samotnej aplikácie a výstupné dáta z GRAM späť do aplikačnej pamäte. Ako asi tušíte, môže to poprieť všetok zisk v behu aplikácie (ako je to v prípade nástroja FlacCL, na ktorý sa pozrieme neskôr).

Ale to nie je všetko. Napriek existencii všeobecne akceptovaného štandardu tvárou v tvár OpenCL, mnoho programátorov stále dáva prednosť použitiu implementácie techniky GPGPU pre konkrétneho dodávateľa. Obzvlášť populárna sa ukázala CUDA, ktorá síce poskytuje flexibilnejšie programovacie rozhranie (mimochodom, OpenCL v ovládačoch nVidia je implementovaný nad CUDA), ale aplikáciu pevne viaže na grafické karty od jedného výrobcu.

KGPU alebo Linuxové jadro, GPU akcelerované

Vedci z univerzity v Utahu vyvinuli systém KGPU, ktorý umožňuje spustenie niektorých funkcií linuxového jadra na GPU pomocou rámca CUDA. Na splnenie tejto úlohy sa používa upravené jadro Linuxu a špeciálny démon, ktorý pracuje v užívateľskom priestore, počúva požiadavky jadra a posiela ich do ovládača grafickej karty pomocou knižnice CUDA. Je zaujímavé, že napriek značnej réžii, ktorú takáto architektúra vytvára, sa autorom KGPU podarilo vytvoriť implementáciu algoritmu AES, ktorá zvyšuje rýchlosť šifrovania súborového systému eCryptfs šesťkrát.

Čo je tam teraz?

Vďaka svojej mladosti a tiež kvôli problémom opísaným vyššie sa GPGPU nestala skutočne rozšírenou technológiou, existuje však užitočný softvér, ktorý využíva jeho schopnosti (aj keď v malom množstve). Medzi prvými sa objavili crackery rôznych hashov, ktorých algoritmy sa dajú veľmi ľahko paralelizovať.

Taktiež sa zrodili multimediálne aplikácie, napríklad kodér FlacCL, ktorý umožňuje transkódovať zvukovú stopu do formátu FLAC. Niektoré už existujúce aplikácie dostali podporu aj pre GPGPU, z ktorých najvýznamnejšia je ImageMagick, ktorá teraz môže časť svojej práce presunúť na GPU pomocou OpenCL. Existujú aj projekty na preklad dátových archivátorov a iných systémov na kompresiu informácií do CUDA / OpenCL (nepáčia sa im unixoidy ATi). Najzaujímavejšie z týchto projektov zvážime v ďalších častiach článku, zatiaľ sa však pokúsime prísť na to, čo potrebujeme, aby to všetko mohlo začať a stabilne fungovať.

GPU vo výkone už dávno predbehli procesory x86

· Po druhé, systém musí mať nainštalované najnovšie proprietárne ovládače pre grafickú kartu, ktoré budú poskytovať podporu pre technológie GPGPU, ktoré sú pre kartu natívne, aj pre OpenCL.

· A do tretice, keďže tvorcovia distribúcie ešte nezačali distribuovať balíčky aplikácií s podporou GPGPU, budeme si musieť vytvárať aplikácie sami, a na to potrebujeme oficiálne súpravy SDK od výrobcov: CUDA Toolkit alebo ATI Stream SDK. Obsahujú hlavičkové súbory a knižnice potrebné na vytváranie aplikácií.

Inštalácia sady CUDA Toolkit

Kliknite na vyššie uvedený odkaz a stiahnite si CUDA Toolkit pre Linux (môžete si vybrať z niekoľkých verzií, pre distribúcie Fedora, RHEL, Ubuntu a SUSE existujú verzie pre architektúru x86 i x86_64). Okrem toho si tam musíte stiahnuť vývojárske sady ovládačov (Developer Drivers for Linux, sú prvé v zozname).

Spustite inštalátor SDK:

$ sudo sh cudatoolkit_4.0.17_linux_64_ubuntu10.10.run

Po dokončení inštalácie pokračujeme v inštalácii ovládačov. Aby sme to dosiahli, vypli sme X server:

# sudo /etc/init.d/gdm stop

Otvorenie konzoly a spustite inštalátor ovládača:

$ sudo sh devdriver_4.0_linux_64_270.41.19.run

Po dokončení inštalácie spustite X:

Aby sme umožnili aplikáciám pracovať s CUDA / OpenCL, napíšeme cestu k adresáru s knižnicami CUDA do premennej LD_LIBRARY_PATH:

$ export LD_LIBRARY_PATH \u003d / usr / local / cuda / lib64

Alebo ak máte nainštalovanú 32-bitovú verziu:

$ export LD_LIBRARY_PATH \u003d / usr / local / cuda / lib32

Je tiež potrebné zaregistrovať cestu k hlavičkovým súborom CUDA, aby ich kompilátor našiel vo fáze vytvárania aplikácie:

$ export C_INCLUDE_PATH \u003d / usr / local / cuda / include

A je to, teraz môžete začať budovať softvér CUDA / OpenCL.

Nainštalujte si ATI Stream SDK

Stream SDK nevyžaduje inštaláciu, takže stiahnutý archív AMD je možné jednoducho rozbaliť do ľubovoľného adresára (/ opt je najlepšia voľba) a zapísať cestu k nemu do rovnakej premennej LD_LIBRARY_PATH:

$ wget http://goo.gl/CNCNo

$ sudo tar -xzf ~ / AMD-APP-SDK-v2.4-lnx64.tgz -C / opt

$ export LD_LIBRARY_PATH \u003d / opt / AMD-APP-SDK-v2.4-lnx64 / lib / x86_64 /

$ export C_INCLUDE_PATH \u003d / opt / AMD-APP-SDK-v2.4-lnx64 / zahrnúť /

Rovnako ako v prípade nástroja CUDA Toolkit, je potrebné v 32-bitových systémoch nahradiť x86_64 za x86. Teraz choďte do koreňového adresára a rozbaľte archív icd-registration.tgz (je to druh bezplatného licenčného kľúča):

$ sudo tar -xzf /opt/AMD-APP-SDK-v2.4-lnx64/icd-registration.tgz -Z /

Správnosť inštalácie / prevádzky balíka kontrolujeme pomocou nástroja clinfo:

$ /opt/AMD-APP-SDK-v2.4-lnx64/bin/x86_64/clinfo

ImageMagick a OpenCL

Podpora OpenCL je v ImageMagicku už dlho, ale nie je štandardne povolená v žiadnej distribúcii. Preto si budeme musieť budovať IM sami zo zdroja. Nie je na tom nič zložité, všetko, čo potrebujete, je už v SDK, takže montáž nevyžaduje inštaláciu žiadnych ďalších knižníc od nVidia alebo AMD. Takže stiahnite / rozbaľte archív so zdrojmi:

$ wget http://goo.gl/F6VYV

$ tar -xjf ImageMagick-6.7.0-0.tar.bz2

$ cd ImageMagick-6.7.0-0

$ sudo apt-get install build-essential

Spustite konfigurátor a skontrolujte jeho výstup na podporu OpenCL:

$ LDFLAGS \u003d -L $ LD_LIBRARY_PATH ./konfigurácia | grep -e cl.h -e OpenCL

Správny výstup z príkazu by mal vyzerať asi takto:

kontrola použiteľnosti CL / cl.h ... áno

kontrola prítomnosti CL / cl.h ... áno

kontrola CL / cl.h ... áno

kontrola použiteľnosti OpenCL / cl.h ... č

kontrola prítomnosti OpenCL / cl.h ... č

kontrola OpenCL / cl.h ... nie

kontrola knižnice OpenCL ... -lOpenCL

Prvé tri riadky alebo druhý (alebo obidva) by mali byť označené slovom „áno“. Ak nie je, premenná C_INCLUDE_PATH bola s najväčšou pravdepodobnosťou nesprávne inicializovaná. Ak je posledný riadok označený slovom „nie“, potom je problém v premennej LD_LIBRARY_PATH. Ak je všetko v poriadku, spustite proces zostavenia / inštalácie:

$ sudo urobi inštaláciu čistou

Skontrolujte, či bol ImageMagick skutočne zostavený s podporou OpenCL:

$ / usr / local / bin / convert -version | grep Funkcie

Vlastnosti: OpenMP OpenCL

Teraz zmerajme výsledný nárast rýchlosti. Vývojári v programe ImageMagick odporúčajú na tento účel použiť filter konvolucie:

$ time / usr / bin / convert image.jpg -convolve "-1, -1, -1, -1, 9, -1, -1, -1, -1" image2.jpg

$ time / usr / local / bin / convert image.jpg -convolve "-1, -1, -1, -1, 9, -1, -1, -1, -1" image2.jpg

Niektoré ďalšie operácie, ako napríklad zmena veľkosti, by teraz tiež mali fungovať oveľa rýchlejšie, ale nemali by ste dúfať, že ImageMagick začne spracovávať grafiku závratnou rýchlosťou. Zatiaľ je len málo z balíka optimalizovaných pomocou OpenCL.

FlacCL (Flacuda)

FlacCL je zvukový kódovač FLAC, ktorý využíva možnosti OpenCL. Je súčasťou balíka CUETools pre Windows, ale vďaka mono je použiteľný aj pre Linux. Ak chcete získať archív s kódovačom, spustite nasledujúci príkaz:

$ mkdir flaccl && cd flaccl

$ wget www.cuetools.net/install/flaccl03.rar

$ sudo apt-get nainštalovať unrar mono

$ unrar x fl accl03.rar

Aby program mohol nájsť knižnicu OpenCL, vytvoríme symbolický odkaz:

$ ln -s $ LD_LIBRARY_PATH / libOpenCL.so libopencl.so

Teraz spustíme kódovač:

$ mono CUETools.FLACCL.cmd.exe music.wav

Ak sa na obrazovke zobrazí chybové hlásenie „Chyba: Požadovaná veľkosť kompilácie je väčšia ako požadovaná veľkosť pracovnej skupiny 32“, je naša grafická karta v systéme príliš slabá a počet použitých jadier by sa mal znížiť na zadaný počet pomocou znaku „- veľkosť skupiny XX ', kde XX je požadovaný počet jadier.

Hneď musím povedať, že vzhľadom na dlhý inicializačný čas OpenCL je možné badateľný zisk dosiahnuť iba na dostatočne dlhých tratiach. FlacCL spracováva krátke zvukové súbory takmer rovnakou rýchlosťou ako jeho tradičná verzia.

oclHashcat alebo rýchlo hrubou silou

Ako som už povedal, vývojári rôznych crackerov a systémov hesiel hrubou silou boli medzi prvými, ktorí do svojich produktov pridali podporu GPGPU. Nová technológia sa pre nich stala skutočným svätým grálom, ktorý umožnil ľahký prenos z prírody ľahko paralelizovateľného kódu na plecia rýchlych GPU procesorov. Preto neprekvapuje, že teraz existujú desiatky veľmi odlišných implementácií takýchto programov. Ale v tomto článku budem hovoriť iba o jednom z nich - oclHashcat.

oclHashcat je prerušovač, ktorý dokáže heslom hrubou silou vynútiť ich hash pri extrémne vysokej rýchlosti a zároveň využiť silu GPU pomocou OpenCL. Ak veríte meraniam zverejneným na webovej stránke projektu, rýchlosť hesiel MD5 pre hrubou silou je na nVidia GTX580 až 15 800 miliónov kombinácií za sekundu, vďaka čomu je oclHashcat schopný nájsť priemerné 8-znakové heslo za 9 minút.

Program podporuje OpenCL a CUDA, algoritmy MD5, md5 ($ pass. $ Salt), md5 (md5 ($ pass)), vBulletin< v3.8.5, SHA1, sha1($pass.$salt), хэши MySQL, MD4, NTLM, Domain Cached Credentials, SHA256, поддерживает распределенный подбор паролей с задействованием мощности нескольких машин.

7z $ x oclHashcat-0,25,7z

$ cd oclHashcat-0,25

A spustite program (použijeme skúšobný hash zoznam a skúšobný slovník):

$ ./oclHashcat64.bin example.hash? l? l? l? l priklad.dict

oclHashcat otvorí text dohody s používateľom, ktorý je potrebné prijať zadaním „ÁNO“. Potom začne proces vyhľadávania, ktorého priebeh nájdete kliknutím na ikonu ... Proces pozastavíte stlačením

Pokračovať - ... Môžete tiež použiť hrubú silu (napríklad od aaaaaaaa do zzzzzzzzz):

$ ./oclHashcat64.bin hash.txt? l? l? l? l? l? l? l? l

A rôzne modifikácie slovníka a metódy priameho výčtu, ako aj ich kombinácie (o tom sa dočítate v súbore docs / examples.txt). V mojom prípade bola rýchlosť vyhľadávania celého slovníka 11 minút, zatiaľ čo dopredné vyhľadávanie (od aaaaaaaa do zzzzzzzz) trvalo asi 40 minút. GPU (čip RV710) v priemere beží na 88,3 milióna / s.

závery

Napriek mnohým rôznym obmedzeniam a zložitosti vývoja softvéru je GPGPU budúcnosťou vysokovýkonných stolových počítačov. Najdôležitejšie však je, že práve teraz môžete využívať možnosti tejto technológie, čo platí nielen pre počítače so systémom Windows, ale aj pre systém Linux.


Často sa vynára otázka: prečo v aplikácii Adobe Media Encoder CC neexistuje akcelerácia GPU? A skutočnosť, že program Adobe Media Encoder používa akceleráciu GPU, sme zistili a tiež sme si všimli nuansy jeho použitia. Existuje aj vyhlásenie: že v programe Adobe Media Encoder CC odstránil podporu pre akceleráciu GPU. Toto je mylný názor a vyplýva zo skutočnosti, že hlavný program Adobe Premiere Pro CC teraz môže pracovať bez predpísanej a odporúčanej grafickej karty. Ak chcete povoliť modul GPU v aplikácii Adobe Media Encoder CC, grafická karta musí byť uvedená v dokumentoch: cuda_supported_cards nebo opencl_supported_cards. Ak je s čipovými sadami nVidia všetko jasné, jednoducho vezmite názov čipovej sady a zadajte ho do dokumentu cuda_supported_cards. Pri použití grafických kariet AMD si musíte zaregistrovať nie názov čipovej sady, ale krycí názov jadra. Pozrime sa teda v praxi, ako povoliť motor GPU v aplikácii Adobe Media Encoder CC na notebooku ASUS N71JQ s samostatnou grafikou ATI Mobility Radeon HD 5730. Technické údaje grafického adaptéra ATI Mobility Radeon HD 5730 zobrazené obslužným programom GPU-Z:

Spustite program Adobe Premiere Pro CC a zapnite motor: Mercury Playback Engine GPU Acceleration (OpenCL).

Tri videá DSLR na časovej osi, jedno nad druhým, dve z nich vytvárajú efekt obraz v obraze.

Ctrl + M, vyberte predvoľbu Mpeg2-DVD, odstráňte čierne pruhy po stranách pomocou možnosti Scale To Fill. Tiež povoľujeme zvýšenú kvalitu testov bez GPU: MRQ (Použiť maximálnu kvalitu vykreslenia). Kliknite na tlačidlo: Exportovať. Zaťaženie procesora až 20% a 2,56 GB RAM.


Zaťaženie GPU čipsetu ATI Mobility Radeon HD 5730 je 97% a 352 MB zabudovanej videopamäte. Notebook bol testovaný na batériu, takže grafické jadro / pamäť beží na nižších frekvenciách: 375/810 MHz.

Konečný čas vykreslenia: 1 minúta a 55 sekúnd (zapnutie / vypnutie MRQ pri použití GPU enginu nemá vplyv na konečný čas vykreslenia).
So začiarknutým políčkom Použiť maximálnu kvalitu vykreslenia teraz kliknite na tlačidlo: Poradie.


Rýchlosť procesora pri napájaní z batérie: 930 MHz.

Spustite AMEEncodingLog a pozrite si konečný čas vykreslenia: 5 minút a 14 sekúnd.

Test opakujeme, ale pri nezačiarknutom políčku Použiť maximálnu kvalitu vykreslenia kliknite na tlačidlo: Poradie.

Konečný čas vykreslenia: 1 minúta a 17 sekúnd.

Teraz zapnite modul GPU v aplikácii Adobe Media Encoder CC, spustite program Adobe Premiere Pro CC, stlačte kombináciu klávesov: Ctrl + F12, spustite Console\u003e Console View a do poľa Command zadajte GPUSniffer, stlačte kláves Enter.


Zvýraznite a skopírujte názov do Informácie o výpočte GPU.

V adresári programu Adobe Premiere Pro CC otvorte dokument opencl_supported_cards a v abecednom poradí zadajte kódový názov čipovej sady Ctrl + S.

Kliknite na tlačidlo: Fronta a v aplikácii Adobe Media Encoder CC získame GPU zrýchlené vykreslenie projektu Adobe Premiere Pro CC.

Celkový čas: 1 minúta a 55 sekúnd.

Zapojíme notebook do zásuvky a zopakujeme výsledky nesprávnych výpočtov. Fronta, začiarkavacie políčko MRQ je odstránené, bez zapnutia motora, zaťaženie RAM trochu vzrástlo:


Rýchlosť procesora: 1,6 GHz pri prevádzke zo sieťovej zásuvky a po zapnutí režimu: Vysoký výkon.

Celkový čas: 46 sekúnd.

Zapíname motor: Mercury Playback Engine GPU Acceleration (OpenCL), ako vidíte zo siete, grafická karta notebooku pracuje na svojich základných frekvenciách, zaťaženie GPU v aplikácii Adobe Media Encoder CC dosahuje 95%.

Konečný čas vykresľovania, znížený z 1 minúta 55 sekúnd, predtým 1 minúta a 5 sekúnd.

* Adobe Media Encoder CC teraz na vykreslenie používa grafickú jednotku (GPU). Podporované sú štandardy CUDA a OpenCL. V aplikácii Adobe Media Encoder CC sa motor GPU používa na nasledujúce procesy vykreslenia:
- Zmena definície (z vysokej na štandardnú a naopak).
- Filter časového kódu.
- Konverzie vo formáte pixelov.
- rozkladanie.
Pri vykresľovaní projektu Premiere Pro použije AME nastavenie vykreslenia GPU pre daný projekt. Toto použije všetky možnosti vykresľovania GPU aplikácie Premiere Pro. Na vykreslenie projektov AME sa používa obmedzená sada možností vykresľovania GPU. Ak sa sekvencia vykresľuje pomocou pôvodnej podpory, použije sa nastavenie GPU od AME, nastavenie projektu sa ignoruje. V takom prípade sa všetky možnosti vykresľovania GPU Premiere Pro používajú priamo v AME. Ak projekt obsahuje VST tretích strán, použije sa nastavenie GPU projektu. Sekvencia je kódovaná pomocou PProHeadless, ako v predchádzajúcich verziách AME. Ak nie je začiarknuté políčko Enable Native Premiere Pro Sequence Import, použije sa vždy nastavenie PProHeadless a GPU.

Dočítali sme sa o skrytej priečke na systémovej jednotke notebooku ASUS N71JQ.

Vývojár by sa mal naučiť efektívne využívať grafickú jednotku (GPU), aby aplikácia nespomaľovala alebo nevykonávala zbytočnú prácu.

Nakonfigurujte parametre vykresľovania GPU

Ak je vaša aplikácia pomalá, niektoré alebo všetky obnovovacie rámce sa obnovia na viac ako 16 milisekúnd. Ak chcete vizuálne vidieť aktualizácie rámcov na obrazovke, môžete v zariadení povoliť špeciálnu možnosť (Vykreslenie GPU profilu).

Budete rýchlo vidieť, ako dlho trvá vykreslenie rámcov. Pripomínam, že sa musíte zmestiť do 16 milisekúnd.

Táto možnosť je k dispozícii na zariadeniach od verzie Android 4.1. Na zariadení musí byť aktivovaný režim vývojára. Na zariadeniach s verziou 4.2 a vyššou je režim predvolene skrytý. Aktivácia prejde na Nastavenia | O telefóne a kliknite na riadok sedemkrát Číslo zostavy.

Po aktivácii prejdite na Možnosti vývojára a nájdi položku Nakonfigurujte parametre vykresľovania GPU (Vykreslenie profilu GPU), ktoré by malo byť povolené. Vo vyskakovacom okne vyberte príslušnú možnosť Na obrazovke vo forme pruhov (Na obrazovke ako pruhy). V takom prípade sa graf zobrazí nad spustenou aplikáciou.

Môžete otestovať nielen svoju aplikáciu, ale aj ďalšie. Spustite ľubovoľnú aplikáciu a začnite s ňou pracovať. Počas práce sa vám v dolnej časti obrazovky zobrazí aktualizovaný graf. Horizontálna os je zodpovedná za uplynulý čas. Vertikálna os zobrazuje čas pre každú snímku v milisekundách. Pri interakcii s aplikáciou sú na obrazovke nakreslené zvislé pruhy, ktoré sa zobrazujú zľava doprava a zobrazujú výkonnosť rámu v priebehu času. Každý takýto stĺpec predstavuje jeden rámec na vykreslenie obrazovky. Čím vyššia je výška pruhu, tým dlhšie trvá vykreslenie. Tenká zelená čiara je referenčným bodom a zodpovedá 16 milisekundám na snímku. Musíte sa preto snažiť zabezpečiť, aby sa graf pri skúmaní vašej žiadosti nepresahoval za túto čiaru.

Zvážte väčšiu verziu grafu.

Zelená čiara je zodpovedná za 16 milisekúnd. Aby sa udržala rýchlosť 60 snímok za sekundu, musí byť každý stĺpec grafu nakreslený pod touto čiarou. V niektorých bodoch bude stĺpec príliš veľký a bude oveľa vyššie ako zelená čiara. To znamená spomalenie programu. Každý stĺpec má azúrovú, fialovú (lízatko a vyššie), červenú a oranžovú farbu.

Modrá doba je zodpovedná za čas potrebný na vytvorenie a aktualizáciu vyhliadka.

Fialová časť predstavuje čas potrebný na prenos zdrojov vykreslenia vlákna.

Červená farba predstavuje čas na vykreslenie.

Oranžová označuje, ako dlho čakalo procesor na vypnutie GPU. Je zdrojom problémov pri vysokých hodnotách.

Na zníženie zaťaženia GPU existujú špeciálne techniky.

Debugujte mieru prečerpania GPU

Ďalšie nastavenie vám dáva vedieť, ako často sa prekresľuje rovnaká oblasť obrazovky (t. J. Vykonáva sa ďalšia práca). Opäť ideme do Možnosti vývojára a nájdi položku Debugujte mieru prečerpania GPU (Debug GPU Overdraw), ktoré by malo byť povolené. Vo vyskakovacom okne vyberte príslušnú možnosť Zobraziť zóny prekrytia (Zobraziť prečerpané oblasti). Nezľaknite sa! Niektoré položky na obrazovke budú meniť farbu.

Vráťte sa k ľubovoľnej aplikácii a sledujte, ako funguje. Farba bude označovať problémové oblasti vašej aplikácie.

Ak sa farba v aplikácii nezmenila, potom je všetko v poriadku. Neexistuje prekrytie jednej farby nad druhou.

Svetlo modrá označuje, že sa jedna vrstva kreslí na spodnú vrstvu. Dobre.

Zelená farba - prekreslená dvakrát. Musíte myslieť na optimalizáciu.

Ružová - prekreslená trikrát. Je to všetko veľmi zlé.

Červená - mnohokrát prekreslená. Niečo sa pokazilo.

Svoju žiadosť môžete skontrolovať sami a nájsť problémové oblasti. Vytvorte aktivitu a umiestnite na ňu komponent TextView... V atribúte dajte koreňovému prvku a textovému štítku nejaké pozadie android: pozadie... Dostanete nasledujúce: najskôr ste jednu farbu namaľovali cez najnižšiu vrstvu aktivity. Potom sa na ňu nakreslí nová vrstva TextView... Mimochodom, vlastne TextView text je tiež nakreslený.

V niektorých momentoch sa nedá vyhnúť prekrývaniu farieb. Predstavte si však, že pozadie zoznamu nastavíte rovnakým spôsobom ListViewktorá zaberá celú oblasť činnosti. Systém vykoná dvojnásobnú prácu, aj keď používateľ nikdy neuvidí spodnú vrstvu aktivity. A ak navyše vytvoríte vlastné označenie pre každý prvok zoznamu s vlastným pozadím, potom vo všeobecnosti získate hrubú silu.

Malá rada. Miesto po metóde setContentView () volanie metódy, ktorá odstráni prekreslenie obrazovky s farbou témy. Pomôže to odstrániť jedno ďalšie prekrytie farieb:

GetWindow (). SetBackgroundDrawable (null);