- Related Stories
-
Intel: Optimize applications for multicore
August 27, 2006 -
Coding for fame, and dollars
May 2, 2006
PC game developers appear to finally be getting the message: the free ride is over.
For years, developers were able to take advantage of faster and faster processors from Intel and Advanced Micro Devices. All they had to do was write their program once, and it would run faster and faster as Intel and AMD cranked up the clock speed.
But overheating forced chip companies to adopt designs with two or more processor cores running at slower speeds, which meant that some applications written to run on a single thread couldn't take advantage of that extra horsepower. This has required an entirely new way of looking at software development, prompting Intel this week to release another batch of software development tools aimed at helping developers make that transition.
Major games take years to develop, meaning that most of the games released around the time that dual-core chips hit the market in 2005 were not built with two lanes in mind. The good news is that developers have found a way around this so far with patches, which alert the game that it has two cores to work with.
director, Intel's game platform office
The bad news is that releasing patches is only a stopgap solution until game studios sell games designed with multiple software threads in mind. More and more studios seem to be getting the message, with dozens of major titles in the works for multicore processors. But this is hard work--the abandonment of decades of programming expertise for a new way of exploiting processor power.
"I'd say we're at a 'C-plus' right now," said Randy Stude, director of Intel's game platform office, assigning a grade for the industry's progress toward parallel development. "When the first dual-core chips came out (in 2005), we were at a D-minus."
Intel and AMD have spent significant time and energy urging developers to take advantage of the "low-hanging fruit"--easy ways to make their games more aware of parallel computing. AMD even sponsored a coding competition last year to help drive those points home.
As a result, over the past year, major game studios such as Blizzard Entertainment (World of Warcraft) and Id Software (Quake and Doom) have released patches to make their games multicore-friendly.
But that's not the same as having designed the game from day 1 with multiple processors or multicore chips in mind, said Ted Pollak, an analyst at Jon Peddie Research.
"It won't give the same kind of performance, but it's going to help, and it's better than nothing," Pollak said.
According to lists supplied by Intel and AMD, just more than 25 games are available that were designed with multiple-core processors in mind. One of those games, THQ's Supreme Commander, made its debut in February.
"We feel it's a design choice you have to make from the outset," THQ spokesman Ben Collier said.
Unfortunately, it's not always that simple. Massive PC games are multiyear projects, and many companies are reluctant to tinker with code that has been well-received by the public. Some developers are just working on a single game, while others are creating game engines that will power several games.
One company thinks that it has a product that can help alleviate the long nights spent coding for multicore chips. "It's a way to continue to use serial programming but achieve a parallel approach to data parallelism," said Ray DePaul, CEO of RapidMind.
Most of the work on the RapidMind development platform has been for IBM's multicore Cell processor, but the company is working on tools to support multicore x86 chips from Intel and AMD as well, DePaul said. Developers use an API (application programming interface) to write their application, and the platform figures out how to distribute the load across multiples cores.
A company called PeakStream has a similar product that can let developers plunge right into the multicore world.
Intel thinks that developers might as well just get used to the parallel world, however. Soon all PCs will have at least dual-core chips, with quad-core desktop chips already available from Intel and coming later this year from AMD.
Console games appear headed in that direction as well, Stude said, given the use of multicore chips in the PlayStation 3 and Xbox 360.
"The learning curve is becoming less and less to get threading work done," Stude said.
See more CNET content tagged:
multi-core processor,
multi-core,
game company,
dual-core processor,
THQ Inc.





I currently have a Radeon 9550 video card that has a processor that takes over control from the CPU to write to video. Soon Intel will make the GPU part of the CPU in some Dual Core process.
Games on the Amiga ran blindingly fast in comparison to the PC and Mac versions of the game, despite the Amiga having a lower Mhz CPU, the other processors made up for it.
Intel made the innovation to have a Dual Core processor and have each Core take over different processes. Now it has a Quad Core processor as well. It seems that if you cannot speed the system up with clock speed, you can speed it up by making the CPU work like two different CPUs or more. The second core works as a processor for the first one. One core can handle I/O like the network, while the other one can handle the video and audio to avoid network lag and graphic and audio lag.
The Amiga had the idea first to put tasks to different processors in order to speed up the games and the system. Of course the Amiga had these processors built into the motherboard and they are faster than processors built onto an expansion card.
In the past having a Dual CPU motherboard was costly, and few would even bother to do so, unless it was a server or something and needed fault tolerance. But now that Dual Core technology is cheaper and available with just one CPU, and now is getting software to take advantage of it, I think it is going to get more popular.