Before you start
Learn what to expect from this tutorial, and how to get the most out of it.
This series of six quick-and-easy tutorials introduces the IBM SDK for Multicore Acceleration 3.0 (the Cell/B.E. SDK 3.0) and explains how to create, build, and run POWER™ Processing Unit (PPU) and Synergistic Processor Unit (SPU)-managed make projects. During this process, you will learn how to use some of the main features of the Multicore Acceleration SDK.
The tutorial series contains the following tutorials:
- Cell/B.E. SDK 3.0, Part 1: Create an SPU project
- Cell/B.E. SDK 3.0, Part 2: Create a PPU project
- Cell/B.E. SDK 3.0, Part 3: Create the Cell/B.E. simulator environment
- Cell/B.E. SDK 3.0, Part 4: Configure the application launcher
- Cell/B.E. SDK 3.0, Part 5: Debug and complete dynamic or static performance analysis
- Cell/B.E. SDK 3.0, Part 6: Use simulator consoles, use the ALF wizard, and set IDE preferences
In this tutorial series, you will:
- Get step-by-step instructions on how to create, build, and run PPU- and SPU- managed make projects.
- Understand how to use the Local Cell Simulator environment.
- Walk through ways of using the static and dynamic performance analysis tools.
- Discover how to configure and use the C/C++ Cell Target Application launcher to run and debug your Cell/B.E. applications.
- See a great example usage scenario of the Accelerated Library Framework IDE wizard (ALF).
Although this is a fairly entry-level tutorial, it is written for readers with some experience installing and using IDEs, especially makefiles. Some past experimentation with the Cell/B.E. SDK version 2.1 is a plus, but not required. This tutorial assumes only minimal familiarity with the Eclipse IDE.
The version 3.0 release of the SDK contains a number of significant enhancements over previous versions of the SDK and completely replaces earlier SDK versions. Enhancements include:
- New installation process based on YUM.
- Addition of PPU and SPU Fortran compiler.
- Addition of PPU-only GNU Ada compiler.
- Minor enhancements to XL C/C++ compiler.
- Addition of single-source XL C/C++ compiler.
- Compilers now generating code that is compliant with the SPE Stall App. Note.
- GCC toolchain enhancements, including:
- GCC C/C++ compilers supporting infix operations on vector data types.
- GCC support of additional PPU VMX intrinsics.
- GCC performance enhancements.
- Link time estimation of SPU stack consumption.
- Transparent SPE embedding.
- SPE function descriptor support for embedded executables.
- Additional POSIX API support in the SPE runtime library.
- Addition of SPE direct access of PPE address space using __ea qualified data types. This feature is supported by the GCC C++ compiler only.
- Combined debugger enhancements.
- Restructuring of examples and demonstration source code, and more examples.
- Addition of DaCS and DaCS for Hybrid-x86 programming model.
- Major enhancements to ALF framework and addition of ALF for Hybrid-x86.
- Complete implementation of SIMDMath library.
- Addition of BLAS Linear Algebra library.
- Addition of FFT library.
- Addition of SPU virtual clock and timer services.
- Addition of Performance and Debug Tracing tool (PDT and PDTR).
- Updates to Cell Performance Counter, OProfile, and FDPR-Pro performance tools.
- Addition of Hybrid performance tooling.
- Performance enhancements to the Full System Simulator.
- Updated Full System Simulator sysroot to Fedora 7.
You can also use these related products with the SDK 3.0 components for additional capability:
The SDK 3.0 has specific hardware and software requirements.
The following table shows the recommended minimum configuration for each hardware platform.
Hardware requirements
| System | Recommended minimum configuration |
|---|---|
| x86 or x86-64 | 2GHz Pentium® 4 processor |
| PowerPC® | 64-bit PPC with a clock speed of 1.42 GHz 32-bit PPC platforms not supported |
| BladeCenter® QS20 | Revision 31 or greater and minimum firmware level of QA-06.14.0-0F (7.21) |
| BladeCenter QS21 | Minimum hardware firmware level of QB-01.08.0-00 |
Additionally, all systems must have:
- Hard disk space: 5GB (minimum) to install the source package and the accompanying development tools
- 1GB RAM (minimum) on the host system
Note: If you use the Full System Simulator, the minimum amount of RAM installed must be twice the amount of simulated memory. For example, to simulate a system with 512MB of RAM, the host system must have at least 1GB of RAM installed.
This tutorial requires Fedora 7, which must be installed before you install the SDK.
SELinux: The SELinux policy files that are included in the Fedora 7 base
distribution prevent spufs from loading correctly on
boot. To install the SDK, you must either turn off SELinux or update the
selinux-policy and
selinux-policy-targeted RPMs to the latest version.
The preferred method is to update the RPMs. To update, type the following
commands as root:
yum update selinux-policy selinux-policy-targeted.
expat: The DaCS for Hybrid-x86 daemon for both X86_64 and the BladeCenter
QS20 and QS21 platforms requires the expat XML parsing library. Install expat by
typing the following command as root:
yum install expat.
SDK utility software: The SDK requires the packages rsync, sed, TCL, and
wget. To install these dependencies, type the following command as root:
yum install rsync sed tcl wget.




