První benchmarkové testy pro OpenCL - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Software

První benchmarkové testy pro OpenCL

4. září 2009, 00.00 | Pod Snow Leoparda byly přeneseny první dvě benchmarkové utility pro OpenCL a již předběžné výsledky naznačují, jaký výkonnostní potenciál v sobě tato technologie ukrývá.

Mac OS X 10.6 Snow Leopard se prodává už týden, a tak pochopitelně stále přibývá zpráv s ním spojených. Tato nová verze Mac OS X přináší poměrně málo viditelných novinek, k mnohem větším změnám došlo v nitru systému, především zavádí nové technologie, jež by měly umožnit účinnější využití moderního hardwaru.

Nové technologie v nitru Mac OS X 10.6

Jde hlavně o tři nové technologie, konkrétně o přechod na 64bitový kód (což Apple podrobněji popisuje tady) a dále o technologie Grand Central Dispatch a OpenCL.

Grand Central Dispatch by měla významně usnadnit psaní aplikací využívajících vícejádrových procesorů, zatímco OpenCL se o něco podobného snaží v případě grafických procesorů, má umožnit předat jim zpracování určitých úloh. Vzhledem k tomu, že moderní grafické karty používají vysoce paralelizované procesory, mělo by v určitých případech nasazení OpenCL výrazně urychlit zpracování oproti centrálnímu procesoru (a to i vícejádrovému).

Obsáhlá recenze Ars Technicy zevrubně probírá nové technologie Snow Leoparda

V této souvislosti je třeba upozornit na obsáhlou recenzi Snow Leoparda, kterou vydala Ars Technica. V pondělí jsme přinesli výtah z pěti jiných recenzí, ty se ale zaměřovaly na Mac OS X 10.6 spíše z uživatelského hlediska.

Recenze Johna Siracusy na Ars Technice je však skutečně výjimečná, jak svým rozsahem, tak odbornou hloubkou. Zabírá totiž plných 23 (!) stránek a zevrubně popisuje všechny aspekty nového systému, vysvětluje okolnosti jeho vzniku, probírá jeho instalaci a poté důkladně rozebírá všechny novinky. (Kvůli ohromnému rozsahu se po recenzi poněkud hůře pohybuje, avšak registrovaní čtenáři Ars Technicy mají možnost stáhnout si ji jako PDF dokument.)

Chcete-li se tedy o Snow Leopardovi dozvědět vše podstatné (a nevadí vám angličtina), doporučuji si recenzi přečíst. John Siracusa zvlášť podrobně probírá výše zmíněné nové technologie, každé z nich věnuje několik stránek (popis OpenCL začíná na stránce číslo 14).

Podle Siracusy představuje právě OpenCL pomyslnou „špičku pyramidy“ nových technologií Snow Leoparda, jež do značné míry staví na těch ostatních. Zároveň však také jde o průmyslový standard použitelný i na jiných platformách.

OpenCL sice spravuje sdružení , ale vznikla u Applu, který si ovšem spoluprací s hlavními výrobci grafických procesorů a se standardizačními organizacemi zajistil, že OpenCL má mnohem vyšší šanci na obecné přijetí. (Standard OpenCL 1.0 byl schválen již loni v prosinci.)

OpenCL používá programovací jazyk podobný C s vektorovými rozšířeními, což umožňuje mnohem snazší psaní aplikací, avšak oproti jiným podobným snahám (jako je třeba NVIDIí prosazovaná CUDA) dovoluje, aby její aplikace pracovaly jak na grafických, tak na centrálních procesorech (a teoreticky i na specializovaných OpenCL akcelerátorech).

Implementace OpenCL v podání Applu navíc využívá řadu dalších nových technologií, například nízkoúrovňový virtuální stroj LLVM a též Grand Central Dispatch pro zajištění paralelizace.

Další podrobnější informace o těchto nových programovacích technikách najdete i u Applu, zde popisuje techniky paralelního programování a tady postupy programování OpenCL pod Snow Leopardem.

Přednosti těchto technologií se pochopitelně projeví teprve tehdy, až budou napsány aplikace je využívající, ale Snow Leopard z nich těží již nyní, Siracusa upozorňuje, že API rozhraní Core Image bylo pro Snow Leoparda přepsáno právě s použitím OpenCL, což zvýšilo jeho výkon o 25 procent.

První benchmarkové testy pro OpenCL

Ve Snow Leopardovi se tedy už vliv nových technologií do jisté míry projevuje, ale bylo by samozřejmě dobré mít možnost udělat si konkrétnější představu o tom, jak může OpenCL urychlit určité úlohy a právě o to se snaží benchmarkové testy, rozbor prvních výsledků opět přináší Ars Technica.

Snow Leopard je sice na trhu jenom pár dní, přesto se objevily už dvě benchmarkové utility pro OpenCL. Vývojář Andreas Michalak vytvořil utilitu příkazové řádky OpenCL Benchmark, zatímco japonský vývojář vystupující pod přezdívkou „kloku“ se snaží přenést pod Snow Leoparda obecnější benchmarkovou utilitu AO Bench.

Japonská utilita ještě nefunguje úplně uspokojivě, ale již počáteční výsledky utility OpenCL Benchmark ukazují, že v určitých případech bude opravdu možné dosáhnout významného urychlení. (Je ovšem třeba mít na paměti, že ně každá aplikace bude moci z OpenCL těžit, avšak těm úlohám, co se dají dobře paralelizovat, a takových se jistě dá najít docela dost, by mělo přenesení na grafický procesor pomoci.)

Výsledky utility OpenCL Benchmark

Na stránce pro stažení utility se totiž nacházejí též první s ní dosažené výsledky, které mimo jiné ukazují, že test běžící na 3,2GHz procesoru Core 2 Duo pracoval v jednom případě 12krát pomaleji než na grafické kartě NVIDIA GeForce 9600M GT. To je však maximum, většinou zrychlení oproti Core 2 Duo bývá čtyřnásobné až pětinásobné.

Samozřejmě, na nových Macích Pro s Nehalemy testovací kód poběží na centrálních procesorech o něco rychleji (i na nich se dá využít větší paralelizace), ovšem kdyby se nasadila některá z výkonných grafických karet, jež pro Macy Pro dodávají, nepochybně by došlo k dalšímu zrychlení, navíc lze předpokládat, že v praxi by Snow Leopard mohl na Nehalemy rozprostřít další souběžně zpracovávané úlohy, zatímco by OpenCL aplikace běžela na grafickém procesoru.

Na MacBooku Pro půjde využít obou grafik

Další zajímavé zjištění se týká MacBooků Pro se dvěma grafickými procesory. Jak víte, vyšší modely nabízejí jednak integrovanou grafiku GeForce 9400M, jednak samostatnou grafickou kartu GeForce 9600M. Ani Snow Leopard sice nedovoluje jejich přepínání za chodu nebo současné použití pro grafiku, zdá se však, že OpenCL aplikace je budou moci do jisté míry využívat současně.

Takže například pokud na MacBooku Pro bude k zobrazování sloužit GeForce 9600M, půjde posílat OpenCL kód 16 grafickým jádrům GeForce 9400M, jež by se jinak „flákala“. Opačně to ovšem nelze, protože když MacBook Pro pracuje jen s GeForce 9400M, GeForce 9600M se úplně vypne, aby se šetřila energie, a tak pochopitelně nebude přístupná ani pro OpenCL.

To tedy znamená, že MacBooky Pro se samostatnou grafickou kartou by mohly pod Snow Leopardem používat integrovanou grafiku jako dodatečný akcelerátor. To sice určitě zvýší spotřebu energie a zkrátí tak výdrž na baterii (nebude-li se pracovat s napájením ze sítě), ale jistě se najde řada příležitostí, kde to půjde výhodně uplatnit.

Předběžný závěr z dosavadních výsledků

Zatím ovšem jsou k dispozici pouze benchmarkové utility, pro praktické využití se teprve budou muset napsat odpovídající aplikace, ale už tyto předběžné výsledky ukazují, že programy využívající OpenCL by mohly skutečně nabídnout významné urychlení a oproti dosavadním metodám programování grafických procesorů OpenCL vypadá jako mnohem schůdnější způsob (a protože se jedná o otevřený standard, lze předpokládat jeho rozšíření též na další platformy, což dává naději, že se časem uplatní v širší paletě aplikací).

Můžeme tak doufat, že OpenCL a další podobné technologie konečně dovolí naplno využívat všech možností nového hardwaru, nasazujícího stále více paralelně pracujících procesorů.

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Software  

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: