Projects using the cell

Investigation into how Linux on the PS3 might lead to homebrew development.

Moderators: cheriff, emoon

Post Reply
Compound
Posts: 48
Joined: Thu May 12, 2005 10:29 am

Projects using the cell

Post by Compound »

hi, not too sure if this is the right place to post this, but basically im just entering my final year of a game programming degree and have decided that for my final project id like to get a ps3 and do some development on the cell processor, as my final project needs to be a academic research topic id like to do something that probably hasnt been done before. or go over some previous papers on subjects like shadowing techniques and optimise them for the cell

basically im looking at suggestions for things.... can anyone think of anything i can spend the next year doing that will prob help the ps3 community at all?

hopefully its ok to keep this thread as a place i can report on my progress

thanks alot
pitrz
Posts: 8
Joined: Sun Nov 18, 2007 10:52 pm

Post by pitrz »

Well if i was in the same position as you, i would probably choose some advanced audio or image processing.

My opinion is that doing some 3d visualization project isn't probably a good idea, there is a quite a lot of these things around already.

What i personally would choose is to make some project on top of the excellent OpenCV computer-vision library, which some guys here are already optimizing for the cell.

http://cell.fixstars.com/opencv/index.p ... n_the_Cell

http://opencvlibrary.sourceforge.net/

I really recommend downloading the windows package of the library, taking your webcam and playing with the demos which are included and precompiled.

There is plenty of stuff like the real time face/object detection/object tracking from webcam video etc...

It is really easy to learn and to use.

A LOT can be done with this, for example you could combine multiple functions of the library (and optimize it for running on background) to control mouse in Xwindows by tracking (via webcam captured image) eye movements of the user. (find face-> find eyes -> find pupils -> track pupil position relative to the eye/head)

It is really easy to impress people with stuff created using OpenCV and it is really easy to get good grades also .)

Also there is a lot of projects using OpenCV trying to create the autonomous computer controlled vehicle (car controlled by ps3? :)) ).

You can actually create custom detectors of practically anything using haartraining utility which is part of this library (haar detector functions are only one part of the library, there is a lot more available, including face recognition algorithms etc).

More about haar detectors here http://www.intel.com/technology/itj/200 ... ection.htm

Good luck,

Peter
Compound
Posts: 48
Joined: Thu May 12, 2005 10:29 am

Post by Compound »

thanks alot for your input, does sound like a very interesting project, i think a friend of mine tried something with OpenCV for his Masters degree. its not really the kind of project i can see myself enjoying working on though to be honest

ive had a few other suggestions from friends of mine.

multithreaded real time wave equation simulator for rivers and oceans.

real time deformation of the mesh based on it physical attributes, also collisions and deformations


and

infection epidemic spreading using social and genetical algorithm simulations


anyone have any sort of opinion on any of these subject matters?
pitrz
Posts: 8
Joined: Sun Nov 18, 2007 10:52 pm

Post by pitrz »

Well it all sounds very interesting anyway, i was also doing some deformation stuff several years ago.

Sometimes i wish i could go back to school to work on such great and interesting projects, but life goes on :). Who knows, maybe someday i'll have the time to return to get a phd.

Good luck with your project.
Compound
Posts: 48
Joined: Thu May 12, 2005 10:29 am

Post by Compound »

thanks alot. ive not looked too far into the capabilities of homebrew so far on the ps3 but i understand that the RSX is in a primitively usable state. so would it be fair to assume that i would be able to render lists of verts with all the gpu transform capabilities, maybe being able to use the vert / fragment shaders?... and is it looking likely that it might be possible to use an API such as OpenGL? or compile a ppc version of Ogre for it?
pitrz
Posts: 8
Joined: Sun Nov 18, 2007 10:52 pm

Post by pitrz »

Well i've been following the FIFO/RSX thread in these forums from its beginning, and i suggest that you read throught it (at least the nontechnical parts) to fully understand what can be currently done.
Full OpenGL/Mesa driver for RSX will not be available for quite some time..if ever. Same goes for stuff built on OpenGL like ogre/blender and lots of other things people are asking for.
However you can still program the RSX in other ways... Just read the thread, download the samples/kernel module...
Compound
Posts: 48
Joined: Thu May 12, 2005 10:29 am

Post by Compound »

whats the best way for me to begin with this? currently im editing otheros demo in visual studio (purely using it as a text editor with autocomplete etc), compiling with cygwin, copying onto my usb pen then installing on the ps3 to test... quite clearly a long process, have looked at k-boot and like the idea of it but have no usb keyboard right now to actually use it to boot .elf files.

as there is nothing like ps3link currently availible i feel in order to be most productive i should install fedora onto the ps3 and use some kind of IDE within that for programming (any suggestions for this one?) but i feel that running linux with KDE or gnome uses up about 180mb of ram which would severely limit me.......

other alternitive would be for me to dev on windows and use ssh / smb, what would be the best way to integrate with visual studio? (i hear the pro-tools are almost completely supported by sony for visual studio, but obviously we wont have anything like that) should i look at working out how to link visual studio with cygwin ? should i just edit with visual studio and spend hours messing about copying files over, building then having to go back into VS to edit?. im sure these questions are probably already answered somewhere and /or are obvious.



on a different note.... ive taken a look at the various different tech I selected and decided to go with the multithreaded wave simulation, have learned alot about it from this paper

http://softwarecommunity.intel.com/arti ... g/1565.htm

just wondering what everyones opinion of how i should approach this is?.... as its a study into the workings of the cell, maybe i should try and do the entire thing in software using only the ppe and spe's to do all the 3d work, and compare it with a pc doing similar using dual core and gpu....... or do all the calculations using the spu's and use the rsx's vert / fragment shader for the rendering, just like a PC would.

too many questions etc, but any input constructive / negative would be greatfully appreceated

thanks
notzed
Posts: 3
Joined: Thu Aug 09, 2007 8:47 pm

Post by notzed »

Definitely install a linux distro - ubuntu is quite decent/easy to get going, but anything modern will do. gnome/kde are more platforms than anything - you can pick and choose what you want to run and you can get the memory footprint down a lot if you do that. Or you could just run no X and log in via ssh and run X on your own machine, or just use text mode - it really depends on what you end up deciding to do.

Personally I would just use emacs as my 'ide' - but i've used it for over 10 years so that's what i prefer. Note that any large ides (like eclipse) are gonna run like a pig, if at all.

Even if you want to edit remotely it is worth installing linux, as apart from being able to compile/etc and run, you can run debuggers and have easy access to even simple things like 'printf' from within spu code which will make your life more bearable.
Arwin
Posts: 426
Joined: Tue Jul 12, 2005 7:00 pm

Post by Arwin »

You're probably best off doing everything using the PPE/SPEs, as RSX drivers are still very much up in the air for the PS3 right now, and guarding your PS3 against firmware updates may be stressy.

I would focus first on getting the simulation going on any number of SPEs (making that configurable), so that you can post performance scaling figures from using 1 to using 6 SPEs.

When you have that in place, you can then as an additional step try to allocate one or two SPEs to displaying the wave forms graphically. A basic 3d plot should do, so that might work. Alternatively, you could try a mesagl implementation that runs on the PPE, displaying the results you get from the SPE calculations. MesaGL is a software implementation of OpenGL that runs on the PPE. It's not fast, but it could still be fast enough for your project, and make it easier to develop.
Post Reply