Tim Sweeney, chief executive officer of Epic Games, said during his keynote at High Performance Graphics 2009 conference earlier this month that it is dramatically more expensive to develop software that relies on general purpose computing on graphics processing units (GPGPU) than to create a program that utilizes central processing units. He also re-iterated his earlier claims that the days of GPUs are counted.
It is not a secret that peak performance of hardware is increasing very fast these days. However, in order to utilize the additional performance and feature-set, developers of software, namely video games, have to increase development time and budgets. Although the market of video games has been growing rather rapidly in the recent years, game budgets have not been increasing that rapidly. Mr. Sweeney claims that although performance increase may be 20 times, game budgets will only increase less than two times. As a result, it is vital for game developers to take advantage of the modern hardware capabilities and performance at the lowest possible cost.
According to Mr. Sweeney, if the cost (time, money, pain) to develop an efficient single-threaded algorithm for central processing unit is X, then it will cost two times more to develop a multithreaded version costs, three times more to develop Cell/PlayStation 3 version and ten times more to create a current GPGPU version. Meanwhile, considering the game budgets, over two times higher expenses are uneconomical for the majority of software companies.
With so high development costs, it is not surprising that potentially very advanced heterogeneous multi-core Cell processor (jointly developed by IBM, Sony and Toshiba) is generally not very popular, and so are GPGPU technologies. According to the head of Epic, current GPGPU models are limited in general.
The keynote of Tim Sweeney at High Performance Graphics 2009 was mostly dedicated to the death of the graphics processing units as we know them today. It is not the first time when Mr. Sweeney advocates various software rendering techniques and claims that fixed-function GPUs will not be efficient going forward and that Epic Software will concentrate on developing rendering engine for general-purpose, not graphics specific, hardware.
“In the next generation we’ll write 100% of our rendering code in a real programming language – not DirectX, not OpenGL, but a language like C++ or CUDA. A real programming language unconstrained by weird API restrictions. Whether that runs on Nvidia hardware, Intel hardware or ATI hardware is really an independent question. You could potentially run it on any hardware that's capable of running general-purpose code efficiently," said Mr. Sweeney in an interview last year.