Gubbi said:It depends on how you how count. A SPE can do a 4-way fused multiply-add every cycle which is 4 muls and 4 adds, or 8 ops. Some count the mul-add as one op and then you only get 4.
Cheers
ok i understand! thanks you!
Gubbi said:It depends on how you how count. A SPE can do a 4-way fused multiply-add every cycle which is 4 muls and 4 adds, or 8 ops. Some count the mul-add as one op and then you only get 4.
Cheers
Nope. I have here a processor that runs at 3 GHz, with 32 'ADD' units that add, can only add, and that's all this processor does. It performs 96 Billion integer instructions per second. Is it good at integer work?Edge said:25 to 27 billion total integer instructions per second.
Hopefully this dispels the myth that CELL is not good at integer work!
Shifty Geezer said:Nope. I have here a processor that runs at 3 GHz, with 32 'ADD' units that add, can only add, and that's all this processor does. It performs 96 Billion integer instructions per second. Is it good at integer work?
...
Jaws said:Edge's point was clearly that SPUs didn't suck at integer MATH.
Gubbi said:Not clear at all.
Only his last post detailed integer arithmetic.
Before that he just talked about the SPUs not having inferior integer performance.
Cheers
Jaws said:Well the fact that he mentioned integer "instruction" was a dead giveaway as referring to math instructions. Maybe I've seen this too often on this forum for it to be obvious...
DarkRage said:Come on, you are counting integer operations within the vector capabilities as integer general purpose capabilities.
They are not.
Again, something as usual as a = b[i+1]+c[i+2] is described by IBM as a significant number of operations needed, together with performance penalties, and you are using the full vector for it, with the other 3 32-bits "ALUs" in the vector doing useless work.
add n to (x) said:Now three extra instructions isn't exactly what I'd call "significant". And with the large (128) register file, general variables like indices, loop counters etc. aren't flushed to memory very often.
That wasn't clear to me. Being good at integer math doesn't really solve the idea that SPE's are good at 'integer workloads' either as it doesn't take into account the other non-maths functions, which is the crux of the discussion, though I think it took a bit of a detour there with someone doubting SPE's int-math performance.Jaws said:Edge's point was clearly that SPUs didn't suck at integer MATH.
Not that I've seen . Perhaps just a case on non-maths-processing counts? Bitwise transformations, comparisons, load/stores, that all have nothing to do with adding and multiplying (and all combinations thereof) numbers count as general purpose computing.PeterT said:Has there actually been a consensus in the earlier thread about what "general purpose" is?
No, because PPE have 512KB L2 cache .Shifty Geezer said:Write a bubble sort to sort 500 Kb of data (greater than LS) in PPE and SPE and see how they perform. Would that be a fair comparison?
'Integer Performance' is maybe a catchall for everything not Floating Point Math related. AFAIK the term was coined by MS in response to Cell, as it not? Has it been used before then? They certainly went to no effort to define the term!
Perhaps an example of 'general purpose' performance would be a bubble sort? That's all load/store/compare. Write a bubble sort to sort 500 Kb of data (greater than LS) in PPE and SPE and see how they perform. Would that be a fair comparison?
Shifty Geezer said:That wasn't clear to me.
...Being good at integer math doesn't really solve the idea that SPE's are good at 'integer workloads' either as it doesn't take into account the other non-maths functions, which is the crux of the discussion, though I think it took a bit of a detour there with someone doubting SPE's int-math performance.
...
It's one of those subjects that really can only be solved iwth benchmarks I think. Take a useful real-world routine that you want the integer performance for from a normal processor and port it verbatim for SPE, with maybe some memory management beyond pure on-demand fetching. There's a software cache solution IIRC that could be employed. Then see how well SPE copes with branching, random memory accessing compared with the PPE and see if it is fast enough to be useable or that slow as to be a 'last resort'.
For sure, SPE's general purpose computing performance isn't really an issue because that's not what they're going to be used for. It'd still be nice to have a comparison with a conventional processor just to know how well SPE's can cope, and how much of a reason there is for a PPE over another SPE or two, which is the point of this thread after all!Jaws said:Devs will be experimenting with different algorithms and what works best. Hopefully in the next few years, we'll see the fruits of that labour...
Shifty Geezer said:Nope. I have here a processor that runs at 3 GHz, with 32 'ADD' units that add, can only add, and that's all this processor does. It performs 96 Billion integer instructions per second. Is it good at integer work?
Others have explained well the entirety of Integer work's demands, but I felt the obvious illustration worth adding to show the flaw in your conclusion.
Yep . Just saying that all the Int operations in the world doesn't mean good performance if they're not meaningful, useful operations. A processor capable of a trillion int ops per second is not a good int perform if only 20,000 of those ops can load data in registers where they are needed.Edge said:You're just being silly.