Sunday, June 14, 2009

PS3 - Cell B.E. and GNU Octave

For the past two weeks I have been compiling GNU gcc and octave in Yellow Dog Linux on my Playstation 3. For what ever reason, they both the up-to-date version of gcc 4.4.3 and octave, from a svn branch, both absolutely fail to compile.

Previously I was able to get these to work in my Gentoo install on the same system with little to no fuss at all. It seems like something is really broken in gcc on Yellow Dog Linux.

Why would I be wanting to do this on a Playstation 3 you might ask? See http://forum.beyond3d.com/showthread.php?t=43137 -
"Sony Computer Entertainment Inc. contributed Vector Math library and SIMD math library as open source under the BSD license. Bullet physics SDK will be the main repository. Vector Math was previously only available to licensed PlayStation 3 developers."
For more up to date info, and white papers on the Cell B.E. I have been reading here as well - http://www.ibm.com/developerworks/power/cell/ -
"The Cell/B.E.™ resource center is a good starting point for developers looking for information about IBM Cell/B.E. technology-based software."

"Both libraries are optimized for Cell PPU and SPU, but also provide portable scalar version. This includes PS3 Linux and Cell Blade support. A SSE x86 version of Vector Math has been contributed by Richard Foster."

The PS3 has some amazing capabilities for vectorized mathmatics, I would like to tap into these capabilities to create an octave capable PS3 cluster, then document how it was done so that Universities and poor countries would be able to follow in using the cheap ultra fast power of the Cell Broadband Engine for research.

But given the lack of functions from YDL I might have to switch back to Gentoo which has less built in bang for the buck, and takes a lot more time to setup, but at least the compilers worked!

I ran a copy of obench.m from http://www.reimeika.ca/marco/obench/ and the results without SPU/SPE support were un surprisingly slow. But for what ever reason, Yellow Dog refuses to compile anything useful without maximal effort.

If I figure this out I will be sure to post how I got it working later in this blog.

No comments:

Post a Comment