Čo je to GPU Computing a na čo je dobrý?


Grafické procesorové jednotky (GPU) sú navrhnuté tak, aby vykresľovali grafiku v reálnom čase. Ukazuje sa však, že to, čo robí GPU skvelými v grafike, ich robí skvelými aj v určitých negrafických úlohách. Toto je známe ako GPU computing.

Ako sa líšia CPU a GPU?

V zásade sú GPU aj CPU (Central Processing Units) produktmi rovnakej technológie. Vo vnútri každého zariadenia sú procesory, ktoré pozostávajú z miliónov až miliárd mikroskopických elektronických komponentov, najmä tranzistorov. Tieto komponenty tvoria prvky procesora, ako sú logické brány, a odtiaľ sú zabudované do zložitých štruktúr, ktoré premieňajú binárny kód na sofistikované počítačové zážitky, aké máme dnes.

Hlavným rozdielom medzi CPU a GPU je paralelnosť. V modernom CPU nájdete viacero komplexných, vysokovýkonných CPU jadier. Štyri jadrá sú typické pre mainstreamové počítače, no 6- a osemjadrové CPU sa stávajú mainstreamom. Profesionálne počítače vyššej kategórie môžu mať desiatky alebo dokonca viac ako 100 jadier CPU, najmä s viacpäticovými základnými doskami, ktoré môžu obsahovať viac ako jeden CPU.

Každé jadro CPU môže robiť jednu alebo (s hyperthreadingom) dve veci naraz. Táto práca však môže byť takmer čokoľvek a môže byť mimoriadne zložitá. Procesory majú širokú škálu spracovateľských schopností a neuveriteľne inteligentný dizajn, vďaka ktorému sú efektívne pri lámaní komplikovanej matematiky.

Moderné GPU zvyčajne obsahujú tisícky  jednoduchých procesorov. Napríklad GPU RTX 3090 od Nvidie má neuveriteľných 10 496 GPU jadier. Na rozdiel od CPU je každé jadro GPU v porovnaní s tým relatívne jednoduché a je navrhnuté na vykonávanie typov výpočtov typických pre prácu s grafikou. Nielen to, ale všetky tieto tisíce procesorov môžu súčasne pracovať na malom kúsku problému s vykresľovaním grafiky. To je to, čo máme na mysli pod „paralelnosťou“.

Univerzálna výpočtová technika na GPUS (GPGPU)

Pamätajte, že CPU nie sú špecializované a môžu vykonávať akýkoľvek typ výpočtov, bez ohľadu na to, ako dlho trvá dokončenie práce. V skutočnosti môže CPU robiť čokoľvek, čo dokáže GPU, len to nemôže robiť dostatočne rýchlo, aby to bolo užitočné v grafických aplikáciách v reálnom čase.

Ak je to tak, potom to do istej miery platí aj naopak. GPU dokážu vykonávať niektoré rovnaké výpočty, ktoré zvyčajne požadujeme od CPU, ale keďže majú dizajn paralelného spracovania podobný superpočítaču, dokážu to robiť rádovo rýchlejšie. To je GPGPU: používanie GPU na vykonávanie tradičných úloh CPU.

Hlavní výrobcovia GPU (NVIDIA a AMD) používajú špeciálne programovacie jazyky a architektúru, aby umožnili používateľom prístup k funkciám GPGPU. V prípade Nvidie je to CUDA alebo Compute Unified Device Architecture. Preto uvidíte ich GPU procesory označované ako jadrá CUDA.

Keďže CUDA je proprietárny, konkurenční výrobcovia GPU, ako napríklad AMD, ho nemôžu používať. Namiesto toho GPU AMD využívajú OpenCL alebo Open Computing Language). Toto je jazyk GPGPU vytvorený konzorciom spoločností, ktoré zahŕňajú Nvidia a Intel.

GPU vo vedeckom výskume

Výpočtová technika GPU spôsobila revolúciu v tom, čo vedci dokážu robiť s oveľa menšími rozpočtami ako predtým. Data mining, kde počítače hľadajú zaujímavé vzory v horách údajov, čím získavajú poznatky, ktoré by sa inak stratili v hluku.

Projekty ako Folding@Home využívajú domáci čas spracovania GPU darovaný používateľmi na riešenie vážnych problémov, ako je rakovina. GPU sú užitočné pre všetky druhy vedeckých a inžinierskych simulácií, ktorých dokončenie by v minulosti trvalo roky a milióny dolárov prenajaté na veľkých superpočítačoch.

GPU v umelej inteligencii

GPU sú tiež skvelé pri určitých typoch úloh umelej inteligencie. Strojové učenie (ML) je na GPU oveľa rýchlejšie ako na CPU a najnovšie modely GPU majú v sebe zabudovaný ešte špecializovanejší hardvér strojového učenia.

Jedným z praktických príkladov toho, ako sa GPU používajú na pokrok v aplikáciách AI v reálnom svete, je príchod autonómnych áut. Podľa spoločnosti Tesla potreboval ich softvér Autopilot 70 000 hodín GPU na „trénovanie“ neurónovej siete v zručnostiach na riadenie vozidla. Robiť rovnakú prácu na CPU by bolo príliš drahé a časovo náročné.

GPU pri ťažbe kryptomien

GPU sú tiež vynikajúce pri lámaní kryptografických hádaniek, a preto sa stali populárnymi pri ťažbe kryptomien. Aj keď GPU neťažia kryptomenu tak rýchlo ako ASIC (Application-specific Integrated Circuits), majú výraznú výhodu v tom, že sú všestranné. ASIC zvyčajne dokážu ťažiť iba jeden konkrétny typ alebo malú skupinu kryptomien a nič iné.

Ťažiari kryptomien sú jedným z hlavných dôvodov, prečo sú GPU také drahé a je ťažké ich nájsť, aspoň v čase písania tohto článku začiatkom roku 2022. Zažiť vrchol technológie GPU znamená zaplatiť draho, pričom cena NVIDIA GeForce RTX 3090 je viac ako 2 500 dolárov. Stal sa takým problémom, že NVIDIA umelo obmedzila kryptografický výkon herných GPU a zaviedla špeciálne produkty GPU špecifické pre ťažbu.

Môžete použiť aj GPGPU!

Aj keď si to možno nie vždy uvedomujete, niektorý softvér, ktorý používate každý deň, prenáša časť svojho spracovania na váš GPU. Ak napríklad pracujete so softvérom na úpravu videa alebo s nástrojmi na spracovanie zvuku, je veľká šanca, že časť záťaže prenáša váš GPU. Ak sa chcete pustiť do projektov, ako je vytváranie vlastných deepfakes doma, váš GPU je opäť komponent, ktorý to umožňuje.

GPU vášho smartfónu je tiež zodpovedný za spustenie mnohých úloh umelej inteligencie a strojového videnia, ktoré by boli odoslané do cloudových počítačov. Všetci by sme teda mali byť vďační za to, že GPU dokážu viac než len nakresliť atraktívny obraz na obrazovke.