How will be programming in Xenon Cpu ?

Will it be similar to programming Cell ? will programmers have to task their code into pieces aiming the concrete processor in which it must be run ? in this case, will it be much easier to coordinate the code in Xenon than in Cell due to the less cpus to manage ?
 
We don't know what the CPU in Xbox 2 is yet, do we? Dual core, 3 core? Who's knows. Maybe some of the guys developing on the alpha workststation can tell you what its like to program a dual core G5.
 
It's largely depending on the API and the development environment, and MS has a long history on providing the developers what they need(DX SDK, XBOX SDK, VC++ IDE set good examples).

Generally speaking, assuming the support from software side are about the same for XBOX2 and PS3, programming for PS3 could be slightly easier.

XBOX2 has 3 cores each is capable of 2 way SMT, that adds up to 6 threads. In order to fully explore the power of hardware, you'll need to split your code to 6 parts as evenly and as indepedently as possible. Believe me, it's not easy at all to do that.

For PS3, there's only one core, 2 threads then. I'm under the impression that SPE can only handle a specific kind of job (computational intensive, regular memory access, coherent data structure). That means you can't use them as often as the general purpose PPC cores. So you only need to split the program to 2 parts, and identify those parts can be accelerated by the SPE, assigning them to the SPE. We still don't know how the API for the SPEs would be, but it's probably like programming for GPUs on PC, with higher flexbility.
 
Not true. The SPU's in Cell aren't 'part time' processing units. You need to divide your code up into suitable packages to run the independant SPU's, just as on Xenon you need divvy up amongst multiple threads. Perhaps harder still for Cell the use of SPU's is different to anything else (not PPC) so they'll need a different approach when writing to, and there's also the need to use the PPU to control these SPUs AFAIK.

Thankfully one of the GDC slides showed SPUs and PPUs share a common API.
 
The SPEs are supposedly "general purpose", but certain code will run slower than other code. That doesn't mean you shouldn't use them for code if you don't have anything at that point in time that will take max advantage of them ;)
 
Programming xenon's threads should be a lot easier than CELL, if the rumor that it is an SMP is true.

In an SMP, all the threads are the same, they all have full access to each other's memory, and they all support the full instruction set of the machine IE they're full general purpose threads.

You can use classical multithreaded programming (like what is done on Windows today on multiproc workstations and servers), or you can use a threading layer like OpenMP (which happens to be built into the next Visual Studio).
 
Back
Top