The Cell Broadband Engine (Cell/BE) chip is a revolutionary 64-bit multicore processor capable of up to a staggering 218 GFLOPS , which is available on the Sony Playstation 3, or on IBM or Mercury Blade servers. However, with it's 9 cores, multiple DMA engines and 64-bit PowerPC architecture, it can be a pig to program at the best of times!
We are releasing the Cell/BE Execution Framework (CEF for short) in order to supply a framework which will make the programming of this chip much easier.
The CEF is a software system that integrates into the IBM Cell/BE Software Development Kit to facilitate the quick and (relatively) easy development of algorithms that can make use of the Cell/BE's power, without having to worry about how data is distributed across the multiple cores that exist within the chip.
- An easy to use command line tool to execute user algorithms on the Cell Simulator, PS3, IBM Blade or PCI Express processor board.
- File I/O and Socket I/O to the chip
- Parameter passing down to the algorithm
- Double buffered DMA support for maximum data throughput
- An easy to use build environment, just type 'make'
- Automatic parallelisation of the user's algorithm onto a specified number of processors (SPEs)
- Example code for FFT and image rotation
The CEF is being release under an open source bsd license, for the community to take up and contribute to. It is available from this site, or from sourceforge. We welcome any questions or comments on the CEF, and would be happy to assist anyone attempting to write their own algorithm to run on the Cell.
The user documentation is available CEF User Guide (252.23 kB)
The source code can be downloaded cef-0.1.0.tar.bz2 (255.11 kB), but you will need to register first.
The Cell Broadband Engine (Cell/B.E.) processor is the first implementation of a new multiprocessor family that conforms to the Cell/B.E. Architecture (CBEA). The CBEA and the Cell/B.E. processor are the result of a collaboration between Sony, Toshiba, and IBM, which formally began in early 2001. Although the Cell/B.E. processor is initially intended for applications in media-rich consumer-electronics devices, such as game consoles and high-definition televisions, the architecture has been designed to enable fundamental advances in processor performance. These advances are expected to support a broad range of applications in both commercial, defence and scientific fields.
It contains a mix of CPU cores: one Power Processor Element (PPE) and eight (six for the playstation 3) Synergistic Processor Elements (SPEs).