Nvidia a Red Hat vyvíjejí nové API pro GPU v Linuxu
Bodem, u kterého se nitky projektu sbíhají, je vývojář Jerome Glisse, který v minulosti pracoval na řadě open-source ovladačů pro grafiky (mj. napsal velkou část driveru pro Radeony a je jedním z autorů podpory KMS v tomto ovladači). Nyní je zaměstnán v Red Hatu a pár měsíců o něm nebylo slyšet. Jerome ale pilně pracoval.
Red Hat spolu s Nvidií vyvíjí nové obecné API, které bude řešit adresní prostor CPU na GPU. API umožní, po jeho použití v ovladačích GPU, používat uploading textur bez potřeby operací memory copy, stejně jako načítání textur přímo z disku a bude to celé použitelné s OpenGL a výpočetními shadery.
Co vše se díky tomuto API propojujícímu adresní prostory CPU a GPU podaří vyvinout a kde všude bude jeho přínos vidět, to samozřejmě ukáže až čas. Jerome má v tuto chvíli funkční prototyp. API si rozhodně vyžádá jisté změny v linuxovém kernelu, ale benefit je i v teoretické rovině jasný třeba jen v propustnosti paměťového subsystému: u CPU jsme někde kolem 20 GB/s, zatímco VRAM na grafických kartách dnes dává rychlosti kolem 200 GB/s a Radeon R9 290X bude na své 512bitové sběrnici valit dokonce 300 GB/s. Jsou zde také znatelně nižší latence. Ale to vše vyžaduje, aby linuxový kernel věděl o VRAM na grafické kartě, tj. kde je, kolik jí je atd.
No, zní to hodně, hodně moc zajímavě. Otázka ale je, když se pro tyto odstavce posadím do role „fanATIka rudého až za ušima“, co tím Nvidia sleduje :-). Připomenu, že Nvidia začíná otevírat specifikace svých GPU, aby bylo možné vyvinout rychleji lepší open-source ovladač nouveau. Podle mě ji k této spolupráci s Red Hatem tlačí stejný důvod: jak se platforma Windows stává stále méně důležitou v některých oblastech, Nvidia cítí, že potřebuje své nové technologie mít plně provozuschopné a na open-source bázi v Linuxu. Ať již to souvisí se superpočítači, nebo výpočetními clustery u firem jako ILM a dalších, Nvidia musí mít podporu.
Greg Kroah-Hartman, přední linuxový vývojář a současný správce STABLE větve linuxového kernelu, jasně říká: když chcete mít v Linuxu dobrou podporu, MUSÍTE bezpodmínečně nutně začít na open-source veřejné implementaci začít pracovat ještě před dokončením hw návrhu daného čipu či zařízení, protože s ohledem na prodlevy ve vývoji a začleňovací okna do daných verzí kernelu to jinak v do dne uvedení čipu na trh nestihnete.
Toto vše, a ZEJMÉNA toto nové API je dle mého názoru nezbytně nutné buď pro chystanou architekturu „Maxwell“, nebo možná následnou architekturu „Volta“.Připomenu, že „Maxwell“ má příští rok přijít s unifikovanou virtuální pamětí a „Volta“ pak (odhad: na přelomu 2015/2016) s integrovanou fyzickou RAM v čipu. Pro nic z toho v tuto chvíli není linuxový kernel připraven a tak je na Nvidii, aby to připravila. A s ohledem na filosofii a licenci linuxového kernelu je nemožné, aby to bylo jinou formou, než obecným API použitelným i pro konkurenci, a současně pod GPLv2 licencí.
Role Nvidie v open-source světě se v nadcházejících 2 letech výrazně změní. Budeme svědky rapidnějšího zapojení jejích vývojářů, a to říkám s plným vědomím toho, že Nvidia tradičně patří k přispěvatelům do linuxového kernelu a dalších částí toho, čemu říkáme GNU/Linux.
Nvidii a Red Hatu tleskám.
via Phoronix