Ledy na poli GPGPU se zase pohnuly. Jakým směrem?
Jediný otevřený GPGPU standard, kterým je OpenCL se pomalu, ale jistě rozšiřuje. Nově dostal tento standard nový impuls, ale také protivníka. Nicméně je jasné, že jeho pozice bude nabírat na významu.
OpenCL podporuje řada výrobců, někteří svou podporu ale omezují skutečně jen na minimum a raději si tlačí své vlastní GPGPU technologie. Mezi nejaktivnější a zároveň do budoucna ty, které mohou nejvíce tratit, patří NVIDIA a její CUDA. Té se sice díky velkým investicím a velmi dobré práci s univerzitami a mladými vývojáři podařilo na poli GPGPU uspět, ale je otázka, na jak dlouho. CUDA totiž nezískala podporu jako standard a kromě NVIDIA ji nikdo jiný nepodporuje. Navíc jako taková není příliš odlišná od OpenCL a je tedy otázka, proč do budoucna podporovat jen jednostrannou technologii, která funguje na jediném HW, než skutečný GPGPU standard se širokou podporou výrobců a zařízení. Jen proto, že se HW vývojářům nebude chtít učit nové věci? Těžko.
OpenCL také pomalu pozice získává. Ano, jeho nástup je těžší proto, že na rozdíl od CUDA tu prostě není jedna firma, která jej tlačí a podporuje všemi prostředky, jelikož OpenCL jede na mnoha jiných produktech jiných firem a tak svými penězi nepodporujete jen sebe, ale i konkurenci. Nicméně aliance za OpenCL výrazně sílí. Mezi hlavní propagátory a tahouny patří dlouhodobě kromě mnoha jiných hlavně firmy Apple a AMD, kteří spolu právě proto začaly nedávno výrazně spolupracovat, pokud jde o dodávky neintegrovaných grafik do počítačů Apple. Před pár dny ale OpenCL dostalo pořádnou vzpruhu, když stále významnější ARM ohlásilo úzkou spolupráci a propagaci OpenCL právě s AMD. Tato zpráva může být klíčová, i pokud jde o další vývoj na procesorovém trhu. ARM a AMD spolu totiž v současnosti nemají mnoho společného (vlastně nic). AMD nevyrábí žádný CPU architektury ARM. Jen cíle jsou poměrně podobné, v rámci platforem ARM a FUSION, a oba výrobci k tomu jdou z jiné strany. Nicméně už nějakou dobu se spekuluje, že by AMD klidně mohlo v 22nm generaci FUSION zahrnout ARM architekturu do svých čipů. Tyto spekulace nebyly potvrzeny, ale ani vyvráceny a oznámení úzké spolupráce ohledně OpenCL těchto poměrně nesouvisejících a na trhu se nepotkávajících firem, ledacos naznačuje.
Nutno samozřejmě říci, že OpenCL podporuje mnoho dalších, ale málokdo se k ní hlásí tak výrazně. OpenCL podporuje i NVIDIA, jak mnozí rádi připomínají. Jenže je podpora a podpora. NVIDIA CUDA a OpenCL jsou vlastně konkurenti a NV díky pozici CUDA, kterou má sama pro sebe, nemá zájem na tom, aby se OpenCL rozšiřovalo. Takže současný vývoj jde proti jejím zájmům. Ale zdaleka není sama, komu se OpenCL nehodí do krámu, hlavně proto, že ztrácí kontrolu a musí se dělit.
Jak jsem psal v úvodu, OpenCL dostalo novou podporu, ale i konkurenci, i když ta zase tak nová není. Je tu firma jménem Microsoft, která si tak nějak zvykla, že se SW svět běžných aplikací pro běžné uživatele na PC platformě, z velké části řídí podle ní. A Microsoft uvádí vlastní verzi C-čkového jazyka pro GPGPU prostředí. Jmenuje se C++ AMP (Accelerated Massive Parallelism), vychází z DirectCompute (Windows platforma) a je to odpověď Microsoftu na OpenCL a snaha získat kontrolu nad tvorbou a podporou nové generace mainstreamových aplikací využívající možnosti GPU-případně APU. Microsoft se zkrátka nechce vzdát své kontroly nad Windows platformou a CUDA ani OpenCL tedy softwarově nepodpoří, i když samozřejmě aplikace s CUDA a OpenCL podporou na Windows bez problémů rozchodíte. Nicméně na úrovni tvorby softwaru je hlavním protivníkem Microsoftu otevřené OpenCL, což ale není nic divného ani přehnaně nového. Aktuálně tak jen představuje přímou odpověď a alternativu Cčkového prostředí.
Jako uživatelé se zjevně nemusíme bát, že by software a podpora GPGPU a APU nějak usínaly. Což je jistě fajn, že se GPU a APU dočkají potřebného využití. Teď ještě, abychom to vůbec poznaly v našem běžném užívání …
AUTOR: Jan "DD" Stach |
---|
Radši dělám věci pomaleji a pořádně, než rychle a špatně. |
|