CELL from GDC

one

Unruly Member
Veteran
EDIT: a thorough coverage and more slides at Hiroshige Goto's article @ PC Watch
ps316.jpg
 
Cell from GDC said:
Advances in Cell over VU
...
...
Permute(byte shuffle) Ins. - Swizzle Operands
...

Since when is that a f#$%$%#5 advance? -_- Next they'll tell me there's no broadcast multiply/add instruction either.
 
Wait, so is the PS3's API going to be GL ES or a customized variant of GL ES? I mean, I see no reason to keep compatibility with GL ES. It's not like anyone will want to do a straight port from PS3 to a mobile platform.
 
I'm sure that Nvidia and ATI can implement OpenGL|ES in their drivers without too much trouble. Actually, afaik OpenGL|ES is a sub-set of OpenGL, so there should be little to no problems. It'll just make porting easier.
 
Wait, so is the PS3's API going to be GL ES or a customized variant of GL ES? I mean, I see no reason to keep compatibility with GL ES. It's not like anyone will want to do a straight port from PS3 to a mobile platform.
Don't be SO sure about that :p
PSP uses OGL ES if I remember correctly. I doubt that would be a "straight" port though :p Perhaps some of the code can be reused?
 
Fafalada said:
[Since when is that a f#$%$%#5 advance? -_- Next they'll tell me there's no broadcast multiply/add instruction either.
IIRC we already discussed that. No broadcast my friend..AFAIK
 
nAo said:
IIRC we already discussed that. No broadcast my friend..AFAIK
Well there was nothing really conclusive said in that discussion though :p

Anyway what do they expect me to do with no broadcast and no dotproduct, replicating scalar value into entire vector for every dotproduct during matrix and vector transforms? :cry:
Don't even get me started on compiler trying to work in such ways, it took GCC like a decade just to support madds.
 
Unfurtunately...yes
I guess that's their recipe for over 80% utilization of both pipes. Have a permute every cycle -_-
Seriously though, if that's really the case, I predict it'll be years before we get anything even remotely decent code generated by a compiler. If ever at all.
 
nAo said:
Fafalada said:
replicating scalar value into entire vector for every dotproduct during matrix and vector transforms? :cry:
Unfurtunately...yes o_O

Its all SoA like SSE, pre-swizzle all you data (working on 4 elements simultanously, so XYZW,XYZW,XYZW,XYZW becomes XXXX, YYYY, ZZZZ, WWWW) and never work on single elements ever.

Of course if the GPU doesn't consume SoA data then you have to swizzle on the way out.
 
SAN FRANCISCO--It's big, complicated and shares a fair amount of DNA with IBM servers, but there's no reason to be afraid of the Cell processor, Sony technicians told game developers on Wednesday.

That's because Cell, the chip that will power the next version of Sony's PlayStation video game console, will use programming tools that developers should already be familiar with and new tools that should allow them to work smarter, two researchers from Sony Computer Entertainment America said during a panel discussion at the Game Developers Conference here.


"The Cell is a complicated piece of machinery," said Mark DeLoura, manager of developer relations for SCEA. "What we can to do to make it easy for you, we'll do...We don't want to make you learn a new API (application programming interface) every time we come out with a new chip."

Sony has been working on the Cell, in partnership with IBM and Toshiba, for four years. Engineers revealed architectural details of the chip last month, explaining that it will be a multicore processor based on IBM's Power architecture.

Sony shared some of the first programming details on the chip on Wednesday, promising that Cell would adapt many existing development tools rather than force developers to learn whole new languages.

For starters, said DeLoura, Cell graphics will rely on a variation of the standard OpenGL library already widely used for PC games. Sony and software consortium the Khronos Group are developing Open GL/ES, a dialect of OpenGL optimized for interactive content, DeLoura said.

"OpenGL is huge--it has a lot of we just don't need for games," he said. "We've developed something for games, not running CAD (computer-assisted drafting)."

Cell will also use Cg, a language developed by graphics chip leader Nvidia for creating high-level graphics effects. And programmers will be able to control the eight "synergistic processing elements" that account for the bulk of Cell's horsepower using standard C or C++ tools, instead of the exacting assembly-level programming required with the current PlayStation 2.

New tools include Collada, a dialect of XML (extensible markup language) being created by Sony and creators of leading development tools to serve as a standard format for describing game assets. The goal is to save developers the hassle of recreating the same visual elements in different games. Make a great looking pine tree, for example, and you'll have a uniform way to describe the tree to other development tools and game systems.

"The tool vendors are working with us to create the importers and exporters for you," DeLoura said. "It's their job to make sure your stuff arrives intact."

Such reassurances were especially welcome after Dominic Mallinson, research director for SCEA, explained likely programming models for getting the most out of Cell's nine processing units, a task he likened to creating music for a large orchestra. System-level work will be handled by the operating system, but it'll be up to developers to figure out how to slice and dice their computing tasks.

"You, the developers, are the composers," Mallinson said. "It's up to you to assign tasks to get the best possible performance."

So the PS3 will be getting one Cell chip?
 
Fafalada said:
Faf..I wouldn't be so worried cause you would work that way (with at least 4 elements at time) anyway if you like efficiency ;)
Let's hope they gives us GOOD SPEs compiler, that's the real concern to me.
 
Simon F said:
DeanoC said:
Its all SoA like SSE,
Pardon my ignorance, but what do these acronyms mean in this context?
Cheers
SoA = Structure of Array 4 position would be stored XXXXYYYYZZZZWWWW
AoS = Array of Structures XYZWXYZWXYZWXYZW

SSE = Streaming Simd Extenstion (x86 float SIMD instructions)

Obviously the ideas comes from before the Pentium 3 but I expect most people heard the terms when Intel were promoting Pentium 3.
 
fxtech said:
wherw are the slide from 0 to 45 ? :oops:

Hiroshige Goto @ PC Watch has uploaded his article just now... anyway expect the whole presentation at SCEA Research later :p

...Well, Goto's article contains so many slides I stopped reposting them here, just go watch the article by yourself ;)
 
Back
Top