Application development for the Cell processor
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:
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 . 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.
- 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
Buy this article as PDF
Popular open source encryption tool is vulnerable to attack
New “Yakkety Yak” edition emphasizes cloud and servers
Google finally enters the phone hardware business.
Innovative system adds a hard drive and Ubuntu Core to the RPi for an IoT hub.
Linux is two weeks younger than we thought!
The Apache Software Foundation considers retiring OpenOffice
Adobe won’t kill the plugin in 2017
Linux Foundation's big event celebrates the 25th anniversary of Linux
Linux has evolved from “won’t be a professional” project to one of the most professional software projects in the history of computers.