Programming the Cell Broadband Engine Processor
This page contains resources that are useful for programming the Cell Broadband Engine processor including
- Streaming Video of a Full-Day Workshop
- Lecture Slides and Hands On Programming Assignments for Cell
- Cell/B.E. Development Environment (SDK)
Setting up a Virtual Machine with the Cell SDK
The Cell SDK images (distributed through the links below as VMware Appliances) are used to provide a virtual machine which includes Fedore Core Linux, Cell SDK, and Cell IDE. This virtual machine can be installed on either Linux or Windows platforms. The VMware player for both Linux and Windows versions is licensing-free and available from VMware web site. Older SDKs are available here.
The system material is about 4 gigabytes so depending on your internet connection downloading the material can take a long time.
Installing the system takes up to 20 minutes.
- Installed and working VMWare Player.
- About 8 gigabytes of free hard drive storage.
- At least 512 megabytes of system RAM.
Downloading the System
Cell SDK3.0: (last updated: 17 July 2008)
We recommend that you use the Torrent, but also make available zip files for download.
- BitTorrent: Cell-VMWare-F7-SDK30-3Mar2008.torrent
- HTTP: The files you need are:
Unpacking the System Image
Unpack parts 1 to 5 of Cell-VMWare zip files
for f in *.zip; do unzip $f; done
Running the System
Before running the system for the first time you may need to adjust the size of allocated memory for the system. Do this by editing the line memsize = "xxxx" in the configuration file Cell Broadband.vmx. We recommend reserving about half the size of your physical RAM or at least 256.
- Start the VMWare Player.
- Select the Cell Broadband.vmx image.
- Answer all the questions with their default values.
- Login with root/inn0vate at the login screen.
Lecture Slides and Hands On Programming Assignments for SDK 3.0
This training material is a proprietary of IBM. The contents of this material is subject to change without notice. IBM is not responsible for the correctness of this material.
Cell Programming Workshop
In 2007 Georgia Tech hosted a one-day IBM Cell Programming Workshop run by Hema Reddy, Cell Solutions Engineer at IBM Cell Ecosystem & Solutions Enablement. The workshop consists of a series of lectures and hands-on exercises in a Cell development environment to familiarize the students with Cell basic programming skills. The workshop materials are available at http://www.cc.gatech.edu/~bader/CellProgramming.html
Streaming Presentation of the full-day workshop:
- Part 1: Cell BE Overview, Basic Cell Programming Concepts
- Part 2: Development tools, Cell SDK, Cell programming, SIMD aspects, hands-on SIMD examples
- Part 3: Communication aspects, DMA & mailboxes, hands-on examples
- Part 4: Parallel programming & application porting, programming tips & techniques
The Cell Broadband Engine (Cell BE) is a heterogeneous chip multiprocessor that consists of an IBM 64-bit Power Architecture core, augmented with eight specialized co-processors based on a novel single-instruction multiple-data (SIMD) architecture called Synergistic Processor Unit (SPU), which is for data-intensive processing, like that found in cryptography, media and scientific applications. The first major commercial application of Cell was in Sony's PlayStation 3 game console. For more information on Cell see http://www.research.ibm.com/cell/
- H. Peter Hofstee, Real-time Supercomputing and Technology for Games and Entertainment, Keynote Talk, SC06, Tampa, FL, November 16, 2006.
A comprehensive Cell Broadband Engine resource center is located at http://www.ibm.com/developer/power/cell