Hlavní stránka Hardware Grafické karty Distribuované výpočty na moderních grafických kartách
Distribuované výpočty na moderních grafických kartách
autor: Dušan Vykouřil , publikováno 6.10.2010
Distribuované výpočty na moderních grafických kartách

Grafické karty většina z nás používá k sledování oblíbených filmů nebo hraní čím dál náročnějších her. Pojďme se ale podívat na trochu jiné využití. Grafické karty můžeme v domácích počítačích použít i pro vědecké účely, například pro simulace vývoje bílkovin, vývoje naší Mléčné dráhy nebo k nalezení matematických veličin.


Distribuované výpočty na moderních grafických kartáchPrvním projektem, který byl v distribuovaných výpočtech spuštěn na grafických kartách, byl v roce 2006 Folding@Home. Ten patří v současnosti mezi nejznámější a také nejvýkonnější distribuované projekty. Provozuje ho Stanfordská univerzita a výzkum probíhá v oblasti struktury bílkovin. Projekt slouží k nalezení léků na Alzheimerovu a Parkinsonovu chorobu, některé druhy rakoviny a lidskou formu BSE – nemoci šílených krav. Výzkum je zaměřen na tvorbu a rozpad bílkovin na základě mRNA, což je jednovláknová nukleová kyselina vznikající při transkripci DNA. I sebemenší odchylky ve stavbě bílkoviny mohou vést ke vzniku některého ze jmenovaných závažných onemocnění.

Stanfordská univerzita spolupracovala s producentem grafických čipů ATI a výsledkem byl GP-GPU klient, který byl schopen příslušné vědecké výpočty provádět na aritmeticko-logických jednotkách grafického čipu, známých jako pixel shadery. Dne 2. října 2006 byl klient vypuštěn k veřejnému beta testu. Během pouhých 9 dní od svého vypuštění bylo dosaženo výpočetního výkonu 31 tera FLOPS za pomoci pouhých 450 grafických karet řady Radeon X1900. Tento výkon 70x převýšil tehdejší přínos procesorů osobních počítačů a jen potvrdil obrovskou převahu grafických karet ve výpočtech s plovoucí desetinnou čárkou. Máte možnost zapojit jak ATI, tak kartu nVidia. Jedním z výsledků je sedmisetnásobné zrychlení výpočtů na GPU oproti počítání na CPU. To je ohromná síla a tím se také nabízí možnost poslat na grafické karty náročnější jednotky a jednotky, které je zapotřebí vrátit v krátkém termínu. U ATI je možné zapojit karty od série X2xxx (jádro R6xx), přičemž musí být instalovány minimálně Catalysty verze 8.7. Karty X1xxx je možné zapojit jen se starší verzí GPU klientů. Distribuované výpočty na moderních grafických kartách Osobně mohu poznamenat, že počítat na integrovaných grafikách není příliš vhodné. Výkon je srovnatelný s klasickým CPU klientem. Na HD3300 jsem dosáhl 400PPD (Points Per Day), na HD4670 je průměrný výkon 1400PPD. Dostupný maximální výkon ATI je dosažen s ATI HD5870, a to průměrně 5000PPD. Záměrně píši průměrně, protože každý z podprojektů je jinak bodově ohodnocen a jinak časově náročný. Co se týká karet nVidia, lze použít jakékoli, které zvládají technologii CUDA. Konkrétně od série 8 s použitím driverů minimální verze 177.35. Karty nVidia jsou pro Folding mnohem vhodnější, podávají podstatně větší výkon než konkurenční ATI. NVidia 9600GT podává srovnatelný výkon s ATI HD4870 a to 3300PPD. Nejvyšší výkon je schopna podat nVidia GTX480, podle předběžných výsledků až 16000PPD. Již nějakou dobu se v aktualitách zmiňuje, že pomalu končí testování nové verze jádra pro nVidia. Toto nové jádro by již nemělo počítat pomocí technologie CUDA, ale mělo by již používat OpenCL. Zkušební podprojekty jsou již běžně dostupné. Pro ATI je zatím toto jádro nedostupné, ale usilovně se na něm pracuje. Po uvolnění a uvedení do plného provozu můžeme být zvědavi, jak si bude nVidia vést ve výkonech oproti ATI. Jádro pro oba výrobce karet bude totiž stejné. Grafické karty lze provozovat pod operačními systémy Windows a Linux. U Linuxu je ale situace horší, oficiální aplikace neexistuje, existuje však možnost použít WINE Wrapper. Přes něj lze GPU aplikaci rozběhnout.

Distribuované výpočty na moderních grafických kartách

Folding má na svém kontě 72 publikovaných výsledků, které jsou z oblasti objevů v biologii i pokroků v simulacích, dále pak i několik dalších ocenění v této oblasti výzkumu. Jako příklad snad postačí, že se podařilo sledovat a včas utlumit mutace ptačí chřipky na jiné živočišné druhy než jen ptáky. Výzkumníci zkoumají mutaci viru, která způsobuje přenos mezi živočišnými druhy.

Distribuované výpočty na moderních grafických kartáchDruhým projektem, do kterého bylo možné zapojit grafickou kartu, byl projekt GPUGRID v systému BOINC. Ten spustil GPU aplikaci v červenci 2008. Projekt je zaměřen na výpočty v oblasti biologie a biomedicíny. Konkrétně studuje charakteristiku biomolekul, jejich vzájemné ovlivňování a dynamické chování. Úlohy můžete počítat pouze na kartách nVidia. Doporučeny jsou GTX 260, 275, 280, 285, 295 a Tesla 10. Testování a optimalizace pro karty GTX4xx je v plném proudu. Vedle těchto karet lze však použít jakoukoli jinou, která zvládne technologii CUDA. Pracuje se i na možnosti zapojit karty ATI, ale to je prozatím ve fázi testování. Pořád je nedostatečná podpora ze strany ovladačů a výsledky mnohdy skončí chybou nebo je výpočet neadekvátně pomalý. Lze počítat pod operačními systémy Windows a Linux, ten však jen ve verzi 64bit.

Distribuované výpočty na moderních grafických kartáchDalším z biologických projektů systému BOINC je The Lattice Project. Jedná se o projekt vědců z University of Maryland. Měl by tvořit jakousi základnu pro využití různých typů vědeckých aplikací. Tím je dána i velká odlišnost práce, a to jak nároky na hardware, tak i délkou výpočtu, která se může pohybovat od pár minut až po několik dní. Všechny výpočty budou součástí akademických vědeckých výzkumů a jsou financovány z grantů a státních dotací. Momentálními podprojekty jsou GARLI, HMMPfam a MARXAN. Na grafických kartách, konkrétně na nVidiích, lze ale počítat jen GARLI. Pojďme si jej tedy přiblížit i přes fakt, že naposledy byly pracovní jednotky ke stažení v dubnu 2009.
Distribuované výpočty na moderních grafických kartách Fylogeneze nebo také fylogenetický vývoj je vývoj druhů organismů v historickém sledu ve smyslu evoluční teorie. Podle toho, jak se ubírala fylogeneze, se dnes tvoří stromy příbuznosti druhů. Fylogenetický strom ("strom života") je grafické zobrazení připomínající strom, jímž se znázorňují příbuzenské vztahy mezi různými biologickými druhy či jinými taxonomickými jednotkami, o nichž se předpokládá, že mají jednoho společného předka. Každé větvení (uzel) představuje hypotetického posledního společného předka. Každá větev znamená jednu evoluční linii, na jejímž konci jsou dané taxony. Podle stupně příbuznosti dílčích taxonů se rozeznává polyfyletický, parafyletický a monofyletický taxon. Projekt se zabývá právě sestavováním těchto fylogenetických stromů, prostřednictvím analýzy nukleotidů a aminokyselin. Momentálně probíhá výzkum druhu Lepidoptera, tedy motýlů a můr. Musím ale upozornit, že je poněkud náročnější než ostatní. Je upozorňováno na větší zatížení RAM, a to 0,3-1,2 GB na jednu jednotku, takže počítač, na kterém budete počítat, by měl mít minimálně 3 GB RAM, optimálně celých 4 GB.

Distribuované výpočty na moderních grafických kartáchPosledním projektem z oblasti biologie, který již vypustil práci pro GPU, je DrugDiscover@Home. Jedná se o výzkumný projekt, který se snaží modelovat sloučeniny, které by mohly být využity při výrobě nových léků. Projekt je v alfa fázi a nemá formální vztahy s vysokými školami ani s farmaceutickým průmyslem. Pracovní jednotky v poslední době nejsou k dispozici. Pokud jsou, můžete je spočítat pomocí grafických karet nVidia. Usilovně se pracuje na vývoji aplikace pro ATI, ovšem s obdobnými výsledky, jako v projektu GPUGRID.



 
Komentáře naleznete na konci poslední kapitoly.
97 čtenářů navrhlo autorovi prémii: 45.3Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.