Tim Sweeney: vývoj software pro GPU je neekonomický, GPU zaniknou
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)
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.