A software development kit (SDK) is available for the Cell Broadband Engine.
The SDK contains the essential tools required for developing programs for
the Cell Broadband Engine. Preface describes
the assumptions with respect to the available SDK.
The SDK consists of numerous components including the following:
- The IBM Full System Simulator for the Cell Broadband Engine, systemsim (see The simulator).
- system root image containing Linux execution environment for use within systemsim.
- GNU tools including C and C++ compilers, linkers, assemblers and binary
utilities for both PPU and SPU.
- IBM xlc (C and C++) compiler for both PPU and SPU.
- IBM xlf (Fortran) compiler for both PPU and
SPU.
- newlib for the SPU. newlib is
a C standard library designed for use on embedded systems.
- gdb debuggers for both PPU and SPU with support for remote gdbserver debugging.
The PPU debugger also provides combined, PPU and SPU, debugging.
- PPC64 Linux with CBE enhancements.
- SPE Runtime Management Library providing a standardized, low-level
application programming interface for application access to the SPEs.
- Libraries to assist in the development and execution of parallel
applications, including the:
- Accelerated Library Framework library (ALF) support SM, and the
- Data Communication and Synchronization (DaCS) library.
- Performance tools including:
- oprofile – a system-wide profiler for Linux,
- CellPerfCount – a low level tool to configure and access
HW performance counters,
- FDPR-Pro – a tool for gather information for feedback
directed optimization,
- CodeAnalyzer – examines executable files and displays
detailed information about functions, basic blocks, and assembly instructions,
and
- Visual Performance Analyzer (VPA) – an Eclipse-based
performance visualization toolkit.
- spu_timing – a static timing analysis timing
tool that instruments assembly source (either compiler or programmer generated)
with expected, linear, instruction timing details.
- PDT – a performance debugging tool which provides
a tracing infrastructure for application timing analysis.
- An Eclipse-based Integrated Development Environment (IDE) to improve programmer
productivity and integration of development tools.
- Standardized SIMD math libraries for the PPU’s Vector/SIMD Multimedia Extension and
the SPU.
- Mathematical Acceleration Subsystem (MASS) libraries supporting
both long and short (SIMD) vectors.
- Cell optimized domain-specific application libraries, including
Basic Linear Algebra Subprograms (BLAS) library, Fast Fourier Transform (FFT)
library, and Monte Carlo Random Number Generator library.
- Example source code containing programming examples,
example libraries, benchmarks, and demos.