IBM shows Cell support in Rapidmind (+ crowd simulation on Cell with..chickens!)

Titanio

Legend
I saw this via the link to Barry Minor's new Cell texturing demo, on GameTomorrow.

IBM has announced support for Cell in the Rapidmind development platform, at GDC. Basically Rapidmind allows a programmer to write code without any explicit reference to SPEs etc. and Rapidmind will distribute the work amongst all the SPEs. It also supports other multi-core and GPU architectures, so that code written once can be run on any of these via Rapidmind.

Their site is: http://www.rapidmind.net/

RapidMind is in the IBM booth at the Game Developers Conference in San Jose, CA to demonstrate how simple it is for application developers to leverage the performance capabilities of the Cell BE.

"We are excited to be part of the IBM booth at GDC", said RapidMind President and CEO, Ray DePaul. "To demonstrate the performance available on the Cell BE processor when using the RapidMind Development Platform, RapidMind has created a world in which the behaviors of thousands of interacting characters are simulated. While it is fun to watch thousands of chickens interact, the real breakthrough is how easy it was to accomplish this computational intensive demo using the RapidMind platform."

The RapidMind Development Platform allows developers to use standard C++ programming to easily create applications targeted for high performance processors. In the case of the Cell BE, the RapidMind platform distributes processing across the eight SPE cores, without any explicit reference by the developer to the Cell BE. Code can be written once, then run in parallel on any of the processors that RapidMind supports.

And that chicken demo?

Here's a video, with nice commentary: http://media.rapidmind.net/samples/crowds-medium.mov

and a paper on it:

http://media.rapidmind.net/samples/crowds.pdf

Basically they're simulating the behaviour of a crowd of 16,000 chickens, running on a dual-Cell blade via the Rapidmind platform.

There's a general overview of the platform here:

http://media.rapidmind.net/wp/datasheet.pdf

and one specifically about Cell here:

http://media.rapidmind.net/wp/cell.pdf
 
nintenho said:
Uh...how many sacrifices (if any) have to be made and how much time is saved?

No doubt you'd be sacrificing potential performance.

The gain is that it's a lot easier to code for, or so goes the claim. You don't have to worry about SPEs or any specific processor architecture, and indeed you can move code between the supported processors unmodified. They claim the "basic algorithm" for the crowd simulation stuff was written in a day (whatever the "basic algorithm" means).
 
Titanio said:
No doubt you'd be sacrificing potential performance.

The gain is that it's a lot easier to code for, or so goes the claim. You don't have to worry about SPEs or any specific processor architecture, and indeed you can move code between the supported processors unmodified. They claim the "basic algorithm" for the crowd simulation stuff was written in a day (whatever the "basic algorithm" means).
Yeah, but I'm sure it'll be a while before the average PC CPU can catch up so hopefully it won't be that necessary.
 
Titanio said:
No doubt you'd be sacrificing potential performance.

The gain is that it's a lot easier to code for, or so goes the claim. You don't have to worry about SPEs or any specific processor architecture, and indeed you can move code between the supported processors unmodified. They claim the "basic algorithm" for the crowd simulation stuff was written in a day (whatever the "basic algorithm" means).

Was the demo using only the cell or was it helped by a GPU to make the graphics?
I think it will be achievable in some extend in games like the Getaway simulating social behaviour of some sorts.
 
Nesh said:
Was the demo using only the cell or was it helped by a GPU to make the graphics?

The behaviour was being simulated on a dual-Cell blade, a client was rendering the scene with a GPU. The single field you see in the video or the photo was one of four that the blade is simulating at one time (presumably each has circa 4,000 chickens).
 
Last edited by a moderator:
I like chiken, specilally chiken burgers. However the chicken is to my belief one of the dumbest animals, so simulating it's behavior it's in my opinion rather simple. That explains how easy it was to make the main algorithm.

Also how many variables does a chicken consider to make a decision? Not many I bet, it seems like the perfect animal for the Cell to simulate(little memory accesses).
 
compres said:
I like chiken, specilally chiken burgers. However the chicken is to my belief one of the dumbest animals, so simulating it's behavior it's in my opinion rather simple. That explains how easy it was to make the main algorithm.

Also how many variables does a chicken consider to make a decision? Not many I bet, it seems like the perfect animal for the Cell to simulate(little memory accesses).

hehe
 
compres said:
I like chiken, specilally chiken burgers. However the chicken is to my belief one of the dumbest animals, so simulating it's behavior it's in my opinion rather simple. That explains how easy it was to make the main algorithm.

Also how many variables does a chicken consider to make a decision? Not many I bet, it seems like the perfect animal for the Cell to simulate(little memory accesses).
Actually chiickens are more complicated than what you think
 
Phil said:
Your question, london-boy, allows only one answer: VLC. ;)

:oops: You can play .mov files with VLC?! that's news to me, it never worked before, is it a new thing?
VLC is the only player i've used in the last couple of years...
 
Bah, that isn't impressive, it is just a big open field. Now if they had a road, and the got the chickens to cross that...


:p
 
Better still, include simulation of accelerated organic growth. Start with an egg, and from that a chicken realistically breaks the shell using material physics simulation with procedural mesh creation, and climbs out with feathers developing etc. Except I guess you'd need to start with a chicken to lay the egg from which the chicken hatches. But that chicken would have to come from an egg first, so you'd need to start with an egg. Only, where would that egg come from?
 
Shifty Geezer said:
Better still, include simulation of accelerated organic growth. Start with an egg, and from that a chicken realistically breaks the shell using material physics simulation with procedural mesh creation, and climbs out with feathers developing etc. Except I guess you'd need to start with a chicken to lay the egg from which the chicken hatches. But that chicken would have to come from an egg first, so you'd need to start with an egg. Only, where would that egg come from?

Doh!, religion solved that long ago: god created the first chiken. That was an easy one.
 
Back
Top