Výpočty na grafické kartě: odlehčete procesoru

Zpracování videa, komprimace nebo prolamování hesel, to vše dnes dokážou grafické karty. I levnější modely jsou v tom často výkonnější než ty nejdražší současné procesory.
Kapitoly článku

Jak Nvidia, tak AMD OpenCL akceptují, a to se tak stává běžně užívaným otevřeným standardem v dané oblasti. Jeho správcem je americká nezisková organizace Khronos Group, která zastřešuje organizace zvučných jmen, jako jsou AMD, Nvidia, Intel či Silicon Graphics.

Za vším hledej Apple

Původním tvůrcem myšlenky i prvního návrhu OpenCL z roku 2008 však nebyl nikdo jiný než Apple, který dodnes drží práva ke značce. Prvním podporovaným systémem byl Mac OS X Snow Leopard, dnes je samozřejmostí podpora na všech rozšířených platformách.

OpenCL
OpenCL si klade za cíl sjednotit způsob vývoje aplikací nad různým výpočetním hardwarem, tím mohou být běžné procesory, grafické karty nebo jiné výpočetní čipy

Nvidia se stále drží i technologie Cuda, kterou rozšířila o podporu OpenCL. AMD namísto toho vlastní projekt GPGPU zavrhlo a soustředí se plně na otevřený standard. Zachování Cuda má svůj význam, umožňuje totiž plně využít specifika platformy, které univerzální OpenCL nedokáže obsáhnout. Měření však ukazují, že dobře napsaný kód OpenCL se výkonu Cuda významně blíží.

Vlastní řešení pro GPGPU má rovněž Microsoft, který jej šíří jako součást rozhraní DirectX. Nese název DirectCompute a poprvé se objevilo v DirectX 11, je však kompatibilní také s verzí 10. Možnosti jsou obdobné jako u OpenCL, je tedy pouze na vývojáři, pro který ze směrů se rozhodne.

Integrovaná stačí

Drtivá většina prodaných počítačů spoléhá pouze na integrované grafické jádro, které má trochu ztížené podmínky, ale přesto dokáže nabídnout mnohé i v oblasti GPGPU. Tím nejběžnějším využitím je akcelerace videa ve vysokém rozlišení, na které by pomalejší procesor nestačil a ten výkonnější by zase spotřeboval zbytečné množství energie, což vadí zejména u mobilních zařízení.

 
Prvním výrobcem grafiky s podporou akcelerace videa v rozlišení 4K není AMD ani Nvidia, ale Intel
 

Plné HD rozlišení už nečiní problém ani těm nejslabším integrovaným grafikám, zajímavostí ale je akcelerace videa ve 4K (Ultra HD), kterou zvládají už čipy Intel Ivy Bridge s grafickým jádrem HD Graphics řady 4000. Kvůli vysokému datovému toku na to sice potřebujete dva porty Thunderbolt, ale jde o hezkou ukázku toho, že si můžete 4K dopřát i u mainstreamových procesorů. Za vším stojí vestavěný dekodér MFX schopný zpracovávat videa rozličných formátů až do rozlišení 4 096 × 4 096 px, a to i několik současně. Intel je tak prvním výrobcem grafických čipů, který hardwarovou akceleraci 4K videa implementoval a dodal ovladače pro její zprovoznění.

Používáte, ani o tom nevíte

Kromě dekódování videa existuje i u běžných uživatelů mnoho dalších oblastí, kam GPGPU zasahuje. Pokud jste se například někdy zapojili do výpočtů Folding@Home či některého projektu pod křídly programu Boinc, nabídli jste výkon svého počítače pro dobročinné účely, a jste-li vlastníky podporované grafické karty, probíhalo počítání mimo jiné právě na ní.

Seti
GPGPU slouží kupříkladu pro analýzu mimozemských ruchů v projektu SETI

S GPGPU počítá také Adobe, které jej integruje třeba do grafického editoru Photoshop nebo střihové aplikace Premiere. V obou případech lze i s nepříliš výkonnou grafikou dosáhnout znatelného zvýšení výkonu. Podpora nechybí ani komprimačním a dekomprimačním algoritmům či aplikacím z oblasti kryptografie. Důkazem může být komprimátor WinZip nebo řada nástrojů pro prolamování hesel metodou hrubé síly. Za zmínku stojí také oblíbený enkodér videa Handbrake a celá řada nástrojů pro zpracování zvuku. Na principu GPGPU funguje také akcelerace fyziky na grafikách Nvidia nazvaná PhysX, pro kterou jste před časem museli dokupovat samostatnou rozšiřující kartu.

Základ pořádného serveru

Cuda, OpenCL nebo DirectCompute samozřejmě můžete používat na běžné herní grafické kartě, maximum výpočetního výkonu ale podají pouze specializované profesionální karty. Špičkou v oboru je Nvidia, která se svým modelem Tesla K20 osazuje nejeden slot PCIe v serverech všeho druhu. Pozadu nestojí ale ani AMD s kartami Firepro. Např. model S10000 je osazen 6 GB paměti GDDR5 a jeho TDP dosahuje 375 W.

larrabee - orez.jpg phidie.jpg
Projekt Intel Larrabee je téměř tak starý jako GPGPU samo, nakonec z něj vzešla řada Xeon Phi a výpočetní karty postavené na platformě x86; Phi nabízí 8 GB paměti a 61 miniaturních procesorových jader v jednom čipu pracujícím na frekvenci 1,1 GHz

Ani Intel nechce být mimo hru, a tak se po několik let pokoušel vyvinout vlastní výkonnou grafickou kartu (projekt Larrabee). Jeho snahy však nestačily na to, aby dohnal letitý náskok AMD a Nvidie, proto se začal soustředit na profesionální výpočetní kartu s mnoha procesory. Tu uvedl na trh pod označením Xeon Phi a na rozdíl od ostatních výrobců zvolil zachování instrukční sady x86. Pro programátory to znamená pouze optimalizaci aplikací, které nyní provozují na běžných procesorech, namísto nutnosti jejich přeprogramování pro GPGPU, pravděpodobně tím ale utrpí výkon. U profesionálních karet není výjimkou pasivní chlazení, obvykle totiž bývají umístěny v racku, který má chlazení řešeno jednotně.

Boinc
Chcete-li dát svůj výkon k dispozici vědeckým účelům, zapojte se do některého z projektů Boinc, krom mimozemšťanů přispějete třeba k objevení léku na rakovinu

Technologie GPGPU je na vzestupu a svého vrcholu hned tak nedosáhne. Zásadním milníkem bude výraznější proniknutí do mobilních zařízení a sílící podpora výpočtů u integrovaných grafických čipů, kde se může technologie podílet na významném zvýšení výkonu procesoru při běžných činnostech, aniž by uživatel měnil způsob práce nebo dokupoval hardware.
 

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,