Application development for the Cell processor
Simulated Entity
Before you can launch the Cell Full System Simulator, you must store the path to the simulator in the SYSTEMSIM_TOP environmental variable, which is /opt/ibm/systemsim-cell by default.
The following command wakes up the simulator:
/opt/ibm/systemsim-cell/bin/systemsim -g
The -g option launches a Tcl/Tk-based graphical interface (Figure 6). To see the various modes the simulator offers, press the Mode button. For a simple function test, Fast Mode is probably your best choice. Clicking Go launches the simulator. Now the console window will show you the operating system booting on the simulated Cell machine.
To load the program you want to run on the simulator, use the callthru command. If you run the command without any parameters, it will just show a help text. To import an executable file stored in the path /tmp/pi_libspe on the physical machine, use the command:
callthru source /tmp/pi_libspe > pi_libspe
After modifying the permissions, as in chmod u+x pi_libspe, you can then finally launch the program:
./pi_libspe 1000000 8
Running the program tells the simulation machine to create a million pairs of random numbers using eight SPEs. The precision with which the result matches the accepted value of PI depends on the quality of the pseudo-random numbers, but also on the number of attempts. The statistical error is approximately identical to the reciprocal value of the square root of the number of attempts. Given one-million attempts, the deviation between the approximated value and the actual value of PI is about one thousandth, that is, about 0.003.
Another programming tool is the Data Communication and Synchronization (DaCS) library. Dacs abstracts a number of the Cell processor's special features, which means that it potentially could be ported to other accelerator architectures. In contrast to this, the Accelerator Library Framework (ALF) implements a programming model that swaps out individual functions to the SPEs. DaCS and ALF are included in the IBM developer environment.
The Multicore Application Runtime System (Mars) is an open source project spearheaded by Sony [7]. Mars installs miniature kernels on the SPEs, and the kernels autonomously manage the execution of programs on "their" SPEs. Released in November 2008, version 1.0.1 is available as either an RPM package or Tar archive.
Infos
- Top 500: http://www.top500.org
- Green 500: http://www.green500.org
- Cell SDK: http://www.ibm.com/developerworks/power/cell
- Cell system simulator: http://www.alphaworks.ibm.com/tech/cellsystemsim
- Barcelona Supercomputer Center: http://www.bsc.es
- Linux on the PS 3: http://en.wikipedia.org/wiki/Linux_for_PlayStation_3
- Mars software and documentation: ftp://ftp.infradead.org/pub/Sony-PS3/mars
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)