Consoles & Propoganda

Status
Not open for further replies.
Agreed - a thread split would be appropriate.

Agreed. I enjoy reading intelligent discussion as much as everyone else but this thread has become a beast. At least it's pretty easy to follow the tangents that created this monster.
 

I don't think that was FUD. The DirectX10 group seems to think that integer instruction is more important for games and made some hardware requirement for it in DX10...I think. Even when speaking about DX10 the group talked down console flop performance on both systems in favor of integer. I wouldn't be surprised if that is where Nelson got that information from.

http://www.extremetech.com/article2/0,1697,1982101,00.asp
 
Last edited by a moderator:
Hmm..this pot seems a little still....gotta side with Chef on the MN document (surprise!), because as full of crap as it was, it's basic premise has proven true, that Xenon can hold it's own against CELL despite the specs being much lower, why? Because it is better at general purpose processing.

The systems are a wash, which is all the document has said, in the end that seems to be the case. So, somewhat validated in hindsight imo.
 
First of all, I agreed this document was false. Multiple times! What I said was the general concept of this document was "prove how the systems are generally a wash and considered equal". Most devs on this board and abroad have stated just that. Why you refuse to give credence to this fact is unknown but I'll go ahead and run through this thing even though it doesn't look complete.

Uh huh. Ok, well I'll go ahead and give you my take on it as well ok? ;)

DETAILED ANALYSIS OF PERFORMANCE SPECIFICATIONS

CPU
The Xbox 360 processor was designed to give game developers the power that they actually need, in an easy to use form. The Cell processor has impressive streaming floating-point power that is of limited use for games.

False - the Cell processor is capable of delivering greatly elevated levels of performance in running 'game code' relative to the XeCPU; there is no task that cannot be moved to the SPEs given the proper optimization

The majority of game code is a mixture of integer, floating-point, and vector math, with lots of branches and random memory accesses. This code is best handled by a general purpose CPU with a cache, branch predictor, and vector unit.

The majority of present unoptimized code is of this nature, but there is no contraint that confines "game code" to this paradigm. When code is optomized for the Cell, it will run faster than the 'messy' code left unchanged for sake of ease and cross platform compiler-reliance.

The Cell's seven DSPs (what Sony calls SPEs) have no cache, no direct access to memory, no branch predictor, and a different instruction set from the PS3's main CPU. They are not designed for or efficient at general purpose computing. DSPs are not appropriate for game programming.

The SPEs have local store instead of cache, which is faster but does put an extra burden on the programmer. 'General purpose' computing I would contend does not exist at all - it is a blanket statement to refer to unoptimized and legacy code, and it's use would refer most often to sclaer code that works best on an OOE processor. DSP stands for digital signal processor - these are *extremely* limited in what they are capable of handling, and MajorNelson is purposefully dismissive of the SPEs by likening them to the chip in you CD player. The SPEs are capable of performaing any task in the world of computing - they will not always be the best candidate, but with optimized code they will sometimes be the best candidate. And this includes many of the functions one might flipppantly put under the term 'game code.'

Xbox 360 has three general purpose CPU cores. The Cell processor has only one.

General purpose, here we go again...

Xbox 360's CPUs has vector processing power on each CPU core. Each Xbox 360 core has 128 vector registers per hardware thread, with a dot product instruction, and a shared 1-MB L2 cache. The Cell processor's vector processing power is mostly on the seven DSPs.

Vector math and dot products... can you explain to me why these are important Chef? And after doing so, can you explain to me why the processing power of Cell in vector math being on the SPEs is a bad thing?

Here is my problem with all of this, people who don't understand the underpinnings of the technology read something like this MajorNelson article, and... it sounds knowledgable, right? But yet every single thing you're saying is true is either false or a patent misdirection on MS' part.

Dot products are critical to games because they are used in 3D math to calculate vector lengths, projections, transformations, and more. The Xbox 360 CPU has a dot product instruction, where other CPUs such as Cell must emulate dot product using multiple instructions.

You said this was false, so good yes - this entire dot product hype is the red herring of the generation.

Cell's streaming floating-point work is done on its seven DSP processors. Since geometry processing is moved to the GPU, the need for streaming floating-point work and other DSP style programming in games has dropped dramatically.

Here's how MajorNelson works it - he tells you that Cell has its FP operations performed on the SPEs; he then informs you that geometry work has moved mainly to GPUs in the modern era - the subtle hint you're supposed to get is that the FP power of the SPEs is good at geometry - and *only* good at geometry - but hey 360 has that covered via the GPU. And you would be left with a grave misconception thinking that the SPEs are there only for geometry work, because there are many other tasks they can be utilized for that you can be wel-assured that the Xenos cannot go back and help the XeCPU on.

Just like with the PS2's Emotion Engine, with its missing L2 cache, the Cell is designed for a type of game programming that accounts for a minor percentage of processing time.

How in he world are you saying that this is true? Tell me then - what type of game programming is the PS3 about?

Sony's CPU is ideal for an environment where 12.5% of the work is general-purpose computing and 87.5% of the work is DSP calculations. That sort of mix makes sense for video playback or networked waveform analysis, but not for games. In fact, when analyzing real games one finds almost the opposite distribution of general purpose computing and DSP calculation requirements. A relatively small percentage of instructions are actually floating point. Of those instructions which are floating-point, very few involve processing continuous streams of numbers. Instead they are used in tasks like AI and path-finding, which require random access to memory and frequent branches, which the DSPs are ill-suited to...

...Based on measurements of running next generation games, only ~10-30% of the instructions executed are floating point. The remainders of the instructions are load, store, integer, branch, etc. Even fewer of the instructions executed are streaming floating point?"probably ~5-10%. Cell is optimized for streaming floating-point, with 87.5% of its cores good for streaming floating-point and nothing else.

The above two paragraphs are the most ridiculous in the entire bunch - again he's there with the 'general purpose' BS and again he's there with calling the SPEs DSPs. There's just no way to even describe what a false front he's presenting here, and how ignorant the reader that believed it would have made themselves afterward. By the way, Cell's SPEs are not confined to a streaming floating point model Chef, just in case you were wondering. Nelson seems obsessed with using the word streaming as often as he can.

Again like I said, I know what the purpose of this document was and from what I recall, it summerized in "They are a wash" which is what I took from it and what I remember. Now there are also cases where cell is outperformed by xcpu are there not?

They are certainly not a wash... Cell grinds the XeCPU under its heel. Even in his charts MajorNelson brings up Integer performance - he informs you that te XeCPU has three times the performance of Cell in this regard. Now, did you know that the situation is actually reversed, and that Cell actually has over twice the IntOp potential of the 360? Hey - with MajorNelson as a guide, how could you? :)


Now getting back to my original point. What I said was, as false as this document is, I can validate the general concept through what is on the shelf right now between multiplat xbox360 games and ps3 games. Does it mean this article in whole is correct? no. It means the general idea of "the machines are a wash" seems to ring true from every corner (that isn't ps3 diehard) is saying. The edge currently in these titles I speak of is mostly due to better tools and an easier to code for system. That's by design. That's "let the best man win".

The bolded part is the only part of that that's true, and as such we'll leave it at that.

The MajorNelson document is the equivelent of 'professional' docs that say smoking doesn't cause cancer or global warming isn't happening. It is 100% misdirection. 100%. And what people like myself have to deal with is every month someone starting another thread in the tech section asking about "general purpose" computing, or "Cell is only good at floating point," or "Floating point doesn't matter in game code" type stuff.

Yes, it makes me crazy. ;)
 
Hmm..this pot seems a little still....gotta side with Chef on the MN document (surprise!), because as full of crap as it was, it's basic premise has proven true, that Xenon can hold it's own against CELL despite the specs being much lower, why? Because it is better at general purpose processing.

Ok here we go again - general purpose computing.

Scooby, let me ask you, what's a "general purpose" computing task you associate with gaming? Word procesing, spreadsheet software, what?
 
Major Nelson is a MS employee whos job is to spin and hype the 360, why are you guys debating the content of his spin? Maybe next you guys can debate why Budweiser thinks Bud is better than Miller?

MS PR pisses off Sony fans, Sony PR pisses off MS fans. QED.
 
Ok here we go again - general purpose computing.

Scooby, let me ask you, what's a "general purpose" computing task you associate with gaming? Word procesing, spreadsheet software, what?

Obviously I'm no console programmer, but I simply define it as less specialized, generally more flexible and more easily suited to a wider variety of tasks.

Anytime you have specialized hardware like the SPE's, you lose flexibility.

What other explanation would you give for the fact MS's 3 cores are able to prouce similar, and even better results than the 7cores in the PS3 at this point in time? Is it not the fact that the PPE cores are more robust, more flexible, and easier to work with?
 
Okay guiys, I'm just going to step in here with a polite suggestion - don't write any more! We've had these debates before. Perspectives are very different and not going to change. If you enjoy the discussion, by all means go ahead. But if it were me (and why I haven't contributed) I'd say all that time spent typing responses can be put to other uses like...heck, playing the game consoles we own? :D I wouldn't spend any time trying to convince Scooby that SPE's are 'general purpose' or trying to convince xbd that float-maths isn't that important. Opinions on these matter are set in stone, given that reams of previous debate hasn't shifted anyone's opinion even an inch.

So of course feel free to carry on, but sometimes I have to remind myself how the time I spend on forums in debates that go nowhere, I'd rather be spending doing other stuff, and I thought you guys might appreciate a little reminder too.
 
Uh huh. Ok, well I'll go ahead and give you my take on it as well ok?

:smile:

False - the Cell processor is capable of delivering greatly elevated levels of performance in running 'game code' relative to the XeCPU; there is no task that cannot be moved to the SPEs given the proper optimization

Is the original statement factually incorrect or misleading? Big difference. He's not going to explain how one could rethink their programing habits and in fact from what I've seen since the inception of this document is most of this rethink is post the original article! So no, I don't believe this part was false. Misleading yes. False - no.

The majority of present unoptimized code is of this nature, but there is no contraint that confines "game code" to this paradigm. When code is optomized for the Cell, it will run faster than the 'messy' code left unchanged for sake of ease and cross platform compiler-reliance.

Again why would MN attempt to provide examples of rethinking game coding to fit cell in this document especially when at the time, many methods were still undiscovered?

The SPEs have local store instead of cache, which is faster but does put an extra burden on the programmer. 'General purpose' computing I would contend does not exist at all - it is a blanket statement to refer to unoptimized and legacy code, and it's use would refer most often to sclaer code that works best on an OOE processor. DSP stands for digital signal processor - these are *extremely* limited in what they are capable of handling, and MajorNelson is purposefully dismissive of the SPEs by likening them to the chip in you CD player. The SPEs are capable of performaing any task in the world of computing - they will not always be the best candidate, but with optimized code they will sometimes be the best candidate. And this includes many of the functions one might flipppantly put under the term 'game code.'

Agreed. See above.

General purpose, here we go again...

Is this statement False?

Vector math and dot products... can you explain to me why these are important Chef? And after doing so, can you explain to me why the processing power of Cell in vector math being on the SPEs is a bad thing?

It isn't a bad thing, obviously MN will spin the facts to paint the picture which shows xb360 in the best light possible given the circumstance of the timing of this article(!)

Here is my problem with all of this, people who don't understand the underpinnings of the technology read something like this MajorNelson article, and... it sounds knowledgable, right? But yet every single thing you're saying is true is either false or a patent misdirection on MS' part.

Misdirection of course. Timing & circumstance. ;)

You said this was false, so good yes - this entire dot product hype is the red herring of the generation.

:smile:

Here's how MajorNelson works it - he tells you that Cell has its FP operations performed on the SPEs; he then informs you that geometry work has moved mainly to GPUs in the modern era - the subtle hint you're supposed to get is that the FP power of the SPEs is good at geometry - and *only* good at geometry - but hey 360 has that covered via the GPU. And you would be left with a grave misconception thinking that the SPEs are there only for geometry work, because there are many other tasks they can be utilized for that you can be wel-assured that the Xenos cannot go back and help the XeCPU on.

misleading ...of course

How in he world are you saying that this is true? Tell me then - what type of game programming is the PS3 about?

At the time of the writting ...

The above two paragraphs are the most ridiculous in the entire bunch - again he's there with the 'general purpose' BS and again he's there with calling the SPEs DSPs. There's just no way to even describe what a false front he's presenting here, and how ignorant the reader that believed it would have made themselves afterward. By the way, Cell's SPEs are not confined to a streaming floating point model Chef, just in case you were wondering. Nelson seems obsessed with using the word streaming as often as he can.

I know.

They are certainly not a wash... Cell grinds the XeCPU under its heel. Even in his charts MajorNelson brings up Integer performance - he informs you that te XeCPU has three times the performance of Cell in this regard. Now, did you know that the situation is actually reversed, and that Cell actually has over twice the IntOp potential of the 360? Hey - with MajorNelson as a guide, how could you?

Whoa! I never said cell is a wash with xcpu! I said the ps3 is basicly a wash with xb360 as a system. Big difference. Also you never answered my question: Are there not circumstances where xcpu would outperform cell? ;)

The bolded part is the only part of that that's true, and as such we'll leave it at that.

??? You're saying that current multiplat games are not roughly equal on ps3 and xb360 and that most unbiased devs have not called the systems a wash overall?? c'mon xbd! That's ehrm ... questionable.

The MajorNelson document is the equivelent of 'professional' docs that say smoking doesn't cause cancer or global warming isn't happening. It is 100% misdirection. 100%. And what people like myself have to deal with is every month someone starting another thread in the tech section asking about "general purpose" computing, or "Cell is only good at floating point," or "Floating point doesn't matter in game code" type stuff.

Yes, it makes me crazy.

Sorry you have to deal with these idiots in the tech forum ... I try not to cause too much trouble there. :D
 
Last edited by a moderator:
Okay guiys, I'm just going to step in here with a polite suggestion - don't write any more! We've had these debates before. Perspectives are very different and not going to change. If you enjoy the discussion, by all means go ahead. But if it were me (and why I haven't contributed) I'd say all that time spent typing responses can be put to other uses like...heck, playing the game consoles we own? :D I wouldn't spend any time trying to convince Scooby that SPE's are 'general purpose' or trying to convince xbd that float-maths isn't that important. Opinions on these matter are set in stone, given that reams of previous debate hasn't shifted anyone's opinion even an inch.

So of course feel free to carry on, but sometimes I have to remind myself how the time I spend on forums in debates that go nowhere, I'd rather be spending doing other stuff, and I thought you guys might appreciate a little reminder too.

Thoughtful debate is healthy isn't it? At least that's my my Mum tells me ;)

I disagree Shifty I think we've added quite a few new members on this forum since the article and a good honest reflection is helpful IMO.

Plus I do enjoy a good conversation.
 
Last edited by a moderator:
Is the original statement factually incorrect or misleading? Big difference. He's not going to explain how one could rethink their programing habits and in fact from what I've seen since the inception of this document is most of this rethink is post the original article! So no, I don't believe this part was false. Misleading yes. False - no.
(This'll be my only contribution to this conversation!)
What MS have done in being misleading is no different to to what a lot of Sony's marketting is that you complain about. A common hatred of E3 '05s trailers is based on people being mislead (in the main, although things got messy with different spokespersons giving different info as the matter was pressed) rather than outright lied to.

On the whole, there are few outright lies in marketting. There is truth stretched beyond all recognition, but still founded on a legitimate POV; and there's hyperbolic PR fluff which is meaningless. That goes for all and every company. That's the rules of the game. I want the rules changed, so all we get are proper facts and figures allowing for intelligent analysis, but that'll never happen and companies must be expected to keep trying to outplay each other with their PR gumpf. That means Sony will release visualisation of what devs think they'll be able to do with PS3, and MS will release pseudo-tech docs 'educating' the public on the way machines work, and everyone who isn't careful will get sucked in to some misunderstanding.
 
Ok, a while ago "general purpose" was discussed at length in a thread that wondered whether a modern OOE processor might not have been a better choice for these consoles.

Read this four-page thread: http://forum.beyond3d.com/showthread.php?t=38592

And come away with a better understanding of what that term means, and why Major Nelson is just throwing up smoke when he uses it. Essentially though it boils down to there being *no* game code run on Cell that need go unoptomized as the gen progresses. Major Nelson is doing things like implying that "general purpose" code like animation can't run on Cell... but if you change the way you do your animation, then voila! - suddenly it runs and it runs extremely well to boot. And that's why I hate the term, and it misleads those that read it.

Anyway, read the thread, it is *the* place to gain an understanding of the term, and saves me a lot of typing here. :p
 
Ok, a while ago "general purpose" was discussed at length in a thread that wondered whether a modern OOE processor might not have been a better choice for these consoles.

Read this four-page thread: http://forum.beyond3d.com/showthread.php?t=38592

And come away with a better understanding of what that term means, and why Major Nelson is just throwing up smoke when he uses it. Essentially though it boils down to there being *no* game code run on Cell that need go unoptomized as the gen progresses. Major Nelson is doing things like implying that "general purpose" code like animation can't run on Cell... but if you change the way you do your animation, then voila! - suddenly it runs and it runs extremely well to boot. And that's why I hate the term, and it misleads those that read it.

Anyway, read the thread, it is *the* place to gain an understanding of the term, and saves me a lot of typing here. :p

It's all semantics though, what is general purpose code? is there such a thing? who really cares? I think it's a silly phrase as well, I think we can all agree on that, and move on sinse it really clouds the discussion.

The fact is the PPE are better general purpose cores than the SPE's, they are more flexible, they are better suited to a wider variety of code. I think it was always implicit, that you could rewrite code to work on the SPE's, but that was at the heart of the argument, rewriting would take extra time, and come at a cost.

Now, if this isn't the case, why are PS3 xplatform developers having such a hard time matching the performance of Xenon with CELL? Is there another explanation?
 
Obviously I'm no console programmer, but I simply define it as less specialized, generally more flexible and more easily suited to a wider variety of tasks.

Anytime you have specialized hardware like the SPE's, you lose flexibility.

What other explanation would you give for the fact MS's 3 cores are able to prouce similar, and even better results than the 7cores in the PS3 at this point in time? Is it not the fact that the PPE cores are more robust, more flexible, and easier to work with?

The SPEs are semi-specialized; specialized in that they favor certain programming models, but general in that they can be applied to any task. It's not the processor that is the limiting factor in their case, but the programmer (for better or worse). They are however quite flexible. The XeCPU has an advantage in that it more closely resembles the processors most (non-PS2) programmers are used to working with, and that MS' tools support makes re-compilation from PC quite painless. But the cores themselves are not going to keep pace with well written SPE code, and although easy to wrap ones head around, their theoretical performance peak is actually harder to reach than the SPEs using optimized code.
 
It's all semantics though, what is general purpose code? is there such a thing? who really cares? I think it's a silly phrase as well, I think we can all agree on that, and move on sinse it really clouds the discussion.

Well, read that thread to gain insights into GP. :)

The fact is the PPE are better general purpose cores than the SPE's, they are more flexible, they are better suited to a wider variety of code.

That's not true though. Again, the PPE cores are better towards models of programming, but not the tasks themselves. Change the method, and tap the SPEs - this will become an increasing part of what happens on the PS3 this gen.

Now, if this isn't the case, why are PS3 xplatform developers having such a hard time matching the performance of Xenon with CELL? Is there another explanation?

First of all, are PS3 devs having a problem matching the XeCPU with Cell? I'm not hearing that - to my knowledge, the only deficiencies so far are more graphics-related... a GPU rather than CPU issue. Again, the XeCPU benefits from its approachability and its tools - but the actual architecture is no crowd pleaser among devs; ask the 360 devs here their thoughts. Cell will pull away, trust in this. Now whether it will be hamstrung and to what extent if it needs to be helping RSX out w/geometry vs Xenos, I don't know. But it's like this, if it was 2 consoles, Cell and Xenos vs XeCPU and Xenos, the former system would show its merit over the later in a big big way a couple of years after their respective launches, and those differences would be "game code" related. ;)
 
The fact is the PPE are better general purpose cores than the SPE's, they are more flexible, they are better suited to a wider variety of code.

Now, if this isn't the case, why are PS3 xplatform developers having such a hard time matching the performance of Xenon with CELL? Is there another explanation?

Cross-platform usually means a quick port, at least recently. It's the same reason that Quake 4 on the 360 was so bad, the port from the x86 was poorly done in a hurry. So you take a 360 game and do a quick port, using no SPUs, and you get bad results on the PS3. If you have two dev teams working on the same game, each knowing their target platform you get better results (or do a good port, see Oblivion).

There is no debate that a PPU is more general purpose (ie. it would run Word and Firefox better with less coding), the question is how much code in a game is general purpose?

Both Sony and MS would have loved to have a top of the line Intel or AMD for their CPU, but they could not afford the price or heat, so they both made compromises.
 
First of all, are PS3 devs having a problem matching the XeCPU with Cell? I'm not hearing that -

there was that one slip of the lounge last year by the Assassin's Creed team that mentioned the branching in Xenon allowing "better" AI than the PS3 version... quickly recanted. ;)

from what I've read wrt to Xenon/Cell comparisons I think the fact that nobody is talking about it does not mean that it is not an issue somewhere along the line in some game code (AI in that example).

Perhaps now devs are using the SPEs to pick up that slack. I (of course) realize that the SPEs allow the Cell to be SUPERIOR to Xenon cpu but... they are being leveraged in many, many instances to do some of the things the 360 does in other parts of the system; essentially giving us what many feel is the ultimate result... near parity between these two systems.
 
Status
Not open for further replies.
Back
Top