Diit.cz - Novinky a informace o hardware, software a internetu

Tim Sweeney: vývoj software pro GPU je neekonomický, GPU zaniknou

Tim Sweeney
Během své řeči na High Performance Graphics 2009 se nechal Tim Sweeney, mimo jiné šéf Epic Games a hlavní osoba za Unreal Engine, slyšet i na téma vývoje softwaru pro GPU. Jakkoli by situace s CUDA, OpenCL, DirectX Compute a GPU obecně mohla vypadat růžová, Tim je výrazně skeptičtější…

Programování pro GPU je dle něj výrazně dražší (z hlediska potřebných optimalizací pro tyto mnohojádrové architektury) než napsání programu pro CPU (čímž patrně míni „klasickou jednovláknovou aplikaci“).

Pokud chtějí programátoři her využívat maximum nabízeného hardware, mají s vývojem hry daleko více práce, která stojí daleko více peněz. Pokud vývoj jednovláknové aplikace pro CPU stojí „něco peněz“, pak vícevláknová verze vyjde na dvojnásobek, konzolová verze pro PS3 na trojnásobek a GPGPU verze rovnou desetinásobek. Z hlediska financí na vývoj her je však i jen dvojnásobný nárůst prostředků neekonomický, což je dle Tima důvod, proč ani Cell, ani GPGPU zatím neudělalo ve hrách díru do světa.

Valnou část své řeči pak Tim věnoval budoucnosti GPU. Opět zopakoval své z dřívějška známé myšlenky o tom, že koncept GPU je odsouzen k zániku a dodal, že Epic se hodlá věnovat vývoji renderovacího engine pro obecné použití, který nebude vázán jen na úzkou skupinu hardware.

„V přiští generaci budeme mít 100% našeho renderovacího kódu napsáno ve skutečném programovacím jazyce - ne v DirectX, ne v OpenGL, ale v jazycích jako C++ nebo CUDA. Ve skutečných programovacích jazycích neomezovaných divnými API restrikcemi. Jestli již poběží na Nvidia, Intel či ATI hardware je jedno. Budete jej moci potenciálně provozovat na hardware, které je jednoduše schopné rozběhat obecný programový kód.“ (pozn.: rok staré prohlášení při jednom rozhovoru)

Unreal Tournament 3

Timova slova mají zajímavý podtext. Jistě lze souhlasit s vyšší nákladností vývoje multithreadových aplikací, ale na druhou stranu je vždy po ruce pomoc, minimálně třeba u Nvidie „rozdávají na potkání“ (*) programátory v rámci The way it's meant to be played a dávají k dispozici i svoji fyziku, přičemž takových případů lze nalézt více. Něco jiného je samzořejmě hlavní engine, ten buď koupíte, nebo píšete sami (a posléze typicky licencujete, což vývoj také pěkně zafinancuje) a v případě Epicu je to bezpochyby to druhé.

Jiná věc je, že Tim se hodlá oprostit od pout jménem DirectX či OpenGL. Každý správný linuxák se beztak ptá, kde je sakra UT3 pro Linux. Předpokládejme, že Tim viděl a prozkoumal DirectX 11 a jeho komentář na omezenost divného rozhraní se vztahuje i na ně.

V zásadě se tak hodlá vrátit do pre-DirectX dob, kdy napsat 3D engine neznamenalo nastudovat a použít hotové GL či D3D části v herním kódu, ale skutečně napsat vše včetně renderovacích, transformačních a všech dalších rutin pěkně od základu. V takovou chvíli měli programátoři absolutní moc nad možnostmi engine a také to byla doba nádherných záležitostí typu voxelových a jiných neraytracingových engine (a her jako Outcast).

Bystřejší mezi vámi možná také cítí v podtextu Intel Larrabee. Zde by se ostatně Tim mohl vyhnout celé softwarové vrstvě zajišťující této x86 záležitosti schopnosti provozovat (renderovat) OpenGL či DirectX kód, byť by se samozřejmě musel poprat s vícevláknovostí.

Každopádně si dovolím tvrdit, že GPU jako taková jistě nezaniknou. Ať již budou PC budoucnosti vypadat uvnitř jakkoli, vždy tam bude nějaká část, která bude počítat to či ono. Jestli to bude v kousku křemíku zvaném GPU, nebo se to přesune pod CPU, nebo se to nakonec bude nazývat zcela jinak, to je nepodstatné. Vždy tu bude muset být něco, co ten herní engine přežvýká do audiovizuální podoby.

Zdroje: 

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Tim Sweeney: vývoj software pro GPU je neekonomický, GPU zaniknou

Úterý, 18 Srpen 2009 - 12:10 | Anonym | Eagle_not_registered: souhlas, jenom si dovolím...
Úterý, 18 Srpen 2009 - 12:03 | Anonym | vwer : Když o .netu nic nevíš, tak o něm laskavě...
Úterý, 18 Srpen 2009 - 10:26 | Anonym | re: ZOLLINO @ 198.178.192.1 - včera, 17. srpna...
Pondělí, 17 Srpen 2009 - 23:15 | Eso Rimmer | Co se týče her, tak se stačí podívat na staré...
Pondělí, 17 Srpen 2009 - 17:57 | Anonym | 2vwer: Obávám se, že jsi princip .NET...
Pondělí, 17 Srpen 2009 - 17:25 | Anonym | 2TyNyT: Koukam zes toho uz hoodne pozapomel,...
Pondělí, 17 Srpen 2009 - 17:23 | Anonym | Michal123> heh napisat mutithread hru no...
Pondělí, 17 Srpen 2009 - 16:30 | Vratislav Boch | Programování pro více jader je problém. Ne že by...
Pondělí, 17 Srpen 2009 - 15:20 | Anonym | Šmánkote Michale123, to že dokážete naprogramovat...
Pondělí, 17 Srpen 2009 - 15:16 | no-X | "Nárůst ALU vzhledem k fixním...

Zobrazit diskusi