OpenCL jako univerzální prostředí a jazyk procesorů s paralelizací se daří. NVIDIA i další se snaží …
Na konci loňského roku se stalo neuvěřitelné. Velké firmy se dohodly a výsledkem dohody byl první a jediný standard paralelního jazyka, použitelný na každém čipu, který paralelizaci umí. Mezi firmy, které se tento standard rozhodly podporovat, patří dlouhodobě AMD-ATI, NVIDIA, IBM, Sony, Toshiba, Intel a další. V hlavní roli jsou to zejména současné grafické karty, které z výhod OpenCL mohou těžit nejvíce.
Doposud nejednotný postup, kdy si NVIDIA i ATI hrály na vlastním písečku s NVIDIA CUDA, či ATI STREAM je tak u konce. Už je jedno, zda máte NVIDIA, nebo ATI a pravděpodobně stejně tak bude jedno, zda máte Intel Larrabee, nebo procesory od IBM To všechno by mělo standardně podporovat OpenCL, takže co poběží na jednom, má běžet i na druhém, a pak už půjde jen o optimalizace, či výkon daného čipu v paralelních operacích.
Samozřejmě nástup OpenCL aplikací zejména do GPGPU není možný bez podpory výrobců grafických čipů. AMD-ATI před nedávnem ve spolupráci s Intelem oznámily fyzikální standard HAVOK akcelerovaný přes GPU postavený na OpenCL a následně jej demonstrovaly na ATI Radeon HD 48xx grafikách. HAVOK přes OpenCL by tedy měl běžet všude, kde OpenCL prostředí bude, tedy i na grafikách NVIDIA, Intel Larrabee, či v herních konzolích. OpenCL je tedy živý a spolu s ním se rozvíjí další standardy. NVIDIA se aktuálně k OpenCL vývoji přidala vlastním dílem a přináší vlastní SDK (softwarový vývojový kit) pro programátory. Zatím je ale jen v raném stádiu a není to vlastně ani beta. V současnosti je dostupný jen vybraným partnerům. Nicméně ti následně svými připomínkami dopomohou vydání již otevřenější beta verzi, což ale bude ještě nějaký ten měsíc trvat. Každopádně je to slibný začátek. O OpenCL se mluví hlavně v souvislosti s nadcházející generací grafických čipů.
OpenCL a jednota je to, co doposud na GPGPU chybělo. Vývojáři si museli vybrat, zda udělají svůj program na grafiky ATI nebo NVIDIA, pokud si zvolí využívat prostředí ATI STREAM, či CUDA, která nebyla vzájemně kompatibilní. Většina softwaru, která dnes přes GPU je akcelerována, tak využívá čistě jen SM2.0, či DirectX9, tak aby to běželo na všech grafikách. Široká podpora OpenCL napříč firmami má ale své trhliny. Jednou z nich je třeba Intel, který sice OpenCL podporuje, ale zároveň druhou rukou tvoří a chce hlavně podporovat vlastní standard OpenCT v souvislosti s Larrabee. Nicméně vypadá to, že se v dohledných měsících konečně dočkáme zajímavého vývoje na softwarovém trhu i v oblasti běžných uživatelských aplikacích, které se mi zdá v posledních letech od nástupu vícejádrových CPU dost usnul ….
Jen aby to nedopadlo tak, že všichni implementují OpenCL, ale "každý trochu jinak" - takových případů znám desítky, jak z obecného formátu/platformy udělat džungli vzájemně (částečně) nekompatibilních bastlů.
Dávám tomu tak 3 roky, než se tomu stane, teda pokud se nedohodnou, ale co je "open" a je pod tim tolik firem podepsanych, to neni nic pro Microsoft...