Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Develop for PlayStation 3 Linux [closed]

I'm interested in developing software for Sony PlayStation 3 consoles which contains a multi-core Cell processor, targeting any PS3-compatible Linux distribution.

"A single PS3 performs better than the highest-end desktops available and compares to as many as 25 nodes of an IBM Blue Gene supercomputer." ~ PlayStation3 Gravity Grid

Most importantly:

  1. CPU - Any Linux OS has access to 6 of the 7 Synergistic Processing Elements
  2. GPU - Sony implements a hypervisor restricting access to the RSX
  3. Parallel - IBM provides an introduction to programming parallel applications on the PS3

So to get started:

  1. Install Linux on the PS3:
    • For YDL Linux - installation guide here
    • For Fedora 8 - installation guide here and here.
    • For Ubuntu 8 - compiling and installation guide here.
    • For OpenSUSE- any guides?
    • For Debian - any guides?
  2. Get an IDE with a compiler suitable for that Linux. ..(help!)
    • C++ IDE: KDevelop, Eclipse CDT, Code::Blocks
    • GCC 4.3 with Binutils 4.1
    • IBM XL for the Cell - available as part of IBM's Cell SDK
    • OpenMPI for PowerPC Linux ..(what?)
like image 297
Robin Rodricks Avatar asked Jan 22 '09 00:01

Robin Rodricks


2 Answers

You might also try Ubuntu 8.10 (Intrepid Ibex). Their PS3 support is pretty good, and instructions for installation and a rough primer on compilation can be found here. GCC 4.3 and binutils 4.18 include targets for the Cell PPU (a generic PowerPC target) and SPUs, and there are packages available in the Ubuntu repositories (e.g. spu-gcc, spu-g++, spu-binutils, ppu-gdb, spu-newlib, etc) which will compile binaries for you.

As far as a proper IDE, the above utilities should integrate fine with about any IDE (i.e. KDevelop, Eclipse CDT, Code::Blocks), so long as you can find syntax highlighting files (available for most popular IDEs). The Cell SDK is available as well, and could potentially provide better integration, and packages are available for RHEL 5.2 and Fedora 9 (should be able to use alien to pull these into Debian/Ubuntu, but not sure on that).

OpenMPI is a fine idea, they've been able to compile it for Cell-based blades (here) so I don't think it should be an issue. You could also roll your own message passing, as low overhead is key in extracting good performance on the Cell (though I don't know how well-suited OpenMPI is for this, it could be great).

like image 136
Matt J Avatar answered Nov 16 '22 02:11

Matt J


You may want to try Offload C++ from Codeplay Software. It provides an extended dialect of C++ easing development of software on multicore hardware like the Cell processor.

A cross compiler toolchain allows compilation of code for the PS3 on Windows, which can be useful given the resource constraints (e.g. system memory) on a PS3 console running Linux, which can impact compile times and make the use of a PS3 as a desktop awkward.

Versions of the Offload C++ compiler and tools are available targeting the PS3 GameOS and Linux on Cell with the Cell BE SDK. The Cell Linux version integrates with the Eclipse CDT for an IDE.

Disclaimer: I am a developer at Codeplay.

like image 45
grrussel Avatar answered Nov 16 '22 02:11

grrussel