Tuesday, September 15, 2009

Ps3 Engine

So I started to work on a Ps3 Engine (No the Ps2 engine is not dead. I'm just getting a bit side tracked here)

The purpose of it is mainly to get more familiar with the Ps3 but also to tackle general concurrency problems.

My basic idea for one frame looks something like this (Note that the each block does not represent the actual time that it may take during a real frame. This is just a high concept but still a bit interesting to see where I will end up with it.


I will be mostly coding use pro-devtools at work so I can't post every single detail here but most concepts I can talk about. Currently I'm implementing a high level jobmanager that will just execute jobs for whole systems (so large granularity) and let the system itself doing load balancing. This is possible as everything should be running on the SPU.

This presentation has been a good inspiration when deciding the direction for the JobManager.

GDC2009 SPU Wrangling

The prime goal is to test out scenarios which is hard to do in a production environment with tons of code and here I can just go while and crazy to test out stuff. For example. Let's say we want to run all gameplay code on SPU. How should the data be designed? What kind of functionality is needed to for example create a Battlefield type vehicle that has lots of components and parts that interacts with each other? And so on.

Hopefully some of this will also be good to bring back to the engine at work.

Watch this space for more updates.

And also do anyone knows how to post images on blogger without the annoying rescale?

3 comments:

  1. I am looking at your diagram and I hope you are not really planning to run those 5 SPUs in lock-step.:-)

    Marco

    ReplyDelete
  2. No, The idea is that each system internally can will schedule the the work as it fits.

    Each system has better understanding of the requirements than a general scheduler. Of course if a system decides that's the best way it may do so.

    But I we aim for going 'wide' on the same data on x amount of SPUs at the same time. Of course at times it might be better to go wide on 4 SPUs and leave the fifth to do calculations that takes a bit longer time (still within the 'system')

    ReplyDelete
  3. Re: how to post images on blogger without the annoying rescale?

    I upload photos to picasaweb.google.com first (using my google account) then manually write in the IMG html tags for the image in the post (using the "Embed image" text generated in picasa). Unfortunately you only get 144/188/200/400/800 pix size options, but better than the blogger upload.

    ReplyDelete