CONTACT   |   QUICK LINKS   |   SITEMAP     search
 
Computer Sciences
image aboutBSC computational earth life computer applications marenostrum image
Computer Sciences
SDK 2.1
Home > Computer Sciences > Programming Models > Linux on Cell > Cell BE SDKs > SDK 2.1 pdf print
 
 

Cell BE Software Development Kit (SDK) Version 2.1

stroke

Fedora Core 6 based

This new SDK 2.1 release requires Fedora Core 6 distribution so if using SDK2.0/FC5 release, it is recommended to upgrade/resinstall your systems to FC6.

GNU Toolchain

The GNU tool chain contains the GCC compiler for the PPU and SPU implemented by Sony Computer Entertainment. For the PPU it is a cross-compiler on x86 and a replacement for the native GCC compiler on PPC platforms. The GCC compiler for the PPU is preferred and the make files are configured to use it when building the Libraries and Samples. The GCC compiler also contains a separate SPE cross-compiler that supports the standards defined in the SPU C/C++ Language Extensions V2.4, SPU Application Binary Interface Specification V1.7, and Synergistic Processor Unit (SPU) Instruction Set Architecture V1.11 documents.

IBM XL C/C++ Compiler

The IBM XL C/C++ compiler for Cell BE Processor is a cross-compiler for x86 platforms only. This C/C++ cross-compiler generates code for the PowerPC Processor Unit (C and C++) or Synergistic Processor Unit (C only) and is tuned for the Cell BE Architecture. The compiler requires the GCC Tool chain for Cell Broadband Engine, which provides tools for cross-assembling and cross-linking applications for both the PPE and SPE.

IBM Full System Simulator

The IBM Full System Simulator is a software application that emulates the behavior of a full system that contains a Cell BE Processor. Users are able to boot a Linux operating system on the simulator and run applications on the simulated operating system. In addition, the simulator also supports the loading and running of statically-linked executables and stand-alone tests without an underlying operating system. This version adds support for an enhanced CBEA compliant processor with a fully pipelined, double precision SPE.

Sysroot Image for System Simulator

The system root image for the system simulator is a file that contains a disk image of FC6 files, libraries and binaries that can be used within the system simulator. This disk image file is pre-loaded with full range of FC6 utilities and also includes all of the Cell BE Linux support libraries. The RPM file is by far the largest of the RPM files and when installed takes up 1.6 G bytes on the host machine’s hard disk.

Linux Kernel

The upgraded Linux kernel 2.6.20 contains enhancements for preemptive scheduling of SPE tasks, SPE logical affinity support and improved performance via 64 KB Local Store page mapping.

Cell BE libraries

SPE Runtime Management Library Version 1.2 (deprecated)

The SPE runtime management library (libspe) contains an SPE thread programming model for Cell BE applications.

SPE Runtime Management Library Version 2.1

SPE Runtime Management Library version 2.0 is an upgrade to version 1.2 and replaces that older and less functional library that is being deprecated in this SDK release. The elfspe enables direct SPE executable execution from a Linux shell without the need for a PPE application creating an SPE thread.

SIMD math library

The SIMD math library provides vector versions of a subset of the traditional math functions. These vector versions conform as closely as possible to the specifications set out by the scalar standards. However, fundamental differences between scalar architectures and the Cell BE Architecture require some deviations, including the handling of rounding, error conditions, floating-point exceptions, and special operands, such as NaN and infinities.

MASS (Mathematical Acceleration SubSystem) library

The Mathematical Acceleration Subsystem (MASS) consists of libraries of mathematical intrinsic functions, which are tuned specifically for optimum performance on the Cell BE processor. 32-bit and 64-bit PPU libraries and 32-bit SPU are supported.

Prototype code

Prototype libraries and samples package

The libraries and samples RPM package provides a rich set of optimized standard Synergistic Processor Element (SPE) C library routines that greatly reduce the development cost and enhance the performance of SPU programs. A variety of application-oriented libraries, including Fast Fourier Transform (FFT), image, audio resample, math, game math, intrinsics, matrix operation, multi-precision math, noise generation, oscillator, surface, synchronization, and vector are also included in order to demonstrate the versatility of Cell BE architecture. Additional samples and workloads demonstrate how a programmer can exploit the on-chip computational capacity. Included is a large FFT workload that showcases a performance that is more than an order of magnitude higher than a traditional processor.

Accelerated Library Framework API (ALF)

The Accelerated Library Framework (ALF) API provides a set of functions to help programmers solving data parallel problems on a hybrid system. ALF supports the single-program-multiple-data (SPMD) programming style with a single program running on all accelerator elements at one time. ALF offers programmers an interface to partition data across a set of parallel processes easily without having to write architecturally dependent code. The provided features include: data transfer management, parallel task management, double buffering, and data partitioning.

Performance support libraries and utilities

Cell Performance Counter utility

A Cell Performance Counter utility has been included and allows to monitor and count cell performance events.

SPU Timing tool

The SPU static timing tool, spu_timing, annotates an SPU assembly file with scheduling, timing, and instruction issue estimates assuming straight, linear execution of the program. The tool generates a textual output of the execution pipeline of the SPE instruction stream from this input assembly file.

Feedback Directed Program Restructuring (FDPR-Pro)

The FDPR-Pro is a performance-tuning utility that reduces the runtime of user-level application programs. The tool optimizes the executable image of a program by collecting information about the program's behavior under a typical workload, and creating a new version of the program that is optimized for that workload. The new program generated by the post-link optimizer typically runs faster than the original program.

Oprofile

OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. OProfile is released under the GNU GPL and this updated version supports cycle couting profiling of code running on the SPE.

IBM Eclipse IDE for Cell BE SDK

The IBM Integrated Development Environment for Cell Broadband Engine SDK is a set of Eclipse plug-ins that integrate the Cell BE tool chain and enable rapid building of Cell BE applications. It is built upon the Eclipse and C Development Tools (CDT) platform, integrates the Cell BE GNU tool chain, compilers, IBM Full-System Simulator for the Cell BE, and other development components in order to provide a comprehensive, user-friendly development platform that simplifies Cell BE development. Key features include the following: a C/C++ editor that supports syntax highlighting; a customizable template; and an outline window view for procedures, variables, declarations, and functions that appear in source code, a rich visual interface for PPE (Power Processing Element) and SPE (Synergistic Processing Element) GDB (GNU debugger), seamless integration of simulator into Eclipse and an automatic builder, performance tools, and several other enhancements.

RPMs in SDK

The table below shows the complete list of packages that can be installed for each supported platform. The rows in green are RPMs that can be download from IBM alphaWorks website and the remainder are hosted here.


x86
ppc64
Cell BE-based Blade Server
GNU Toolchain for PPU
ppu-binutils-2.17.50-8.i686.rpm
ppu-gcc-4.1.1-10.i686.rpm
ppu-gcc-c++-4.1.1-10.i686.rpm
ppu-gdb-6.6-15.i686.rpm
ppu-sysroot-fc6-1.noarch.rpm
ppu-sysroot64-fc6-1.noarch.rpm
ppu-binutils-2.17.50-8.ppc.rpm
ppu-gcc-4.1.1-10.ppc.rpm
ppu-gcc-c++-4.1.1-10.ppc.rpm
ppu-gdb-6.6-15.ppc.rpm
GNU Toolchain for SPU
spu-binutils-2.17.50-8.i686.rpm
spu-gcc-4.1.1-9.i686.rpm
spu-gcc-c++-4.1.1-9.i686.rpm
spu-gdb-6.6-12.i686.rpm
spu-newlib1.15.0-7.i686.rpm
spu-binutils-2.17.50-8.ppc.rpm
spu-gcc-4.1.1-9.ppc.rpm
spu-gcc-c++-4.1.1-9.ppc.rpm
spu-gdb-6.6-12.i686.rpm
spu-newlib-1.15.0-7.ppc.rpm
IBM XL C/C++ Compiler
xlc.lib-8.2.0-20.i386.rpm
xlc.cmp-8.2.0-20.i386.rpm
xlcpp.cmp-8.2.0-20.i386.rpm
xlcpp.lib-8.2.0-20.i386.rpm
xlcpp.help-8.2.0-20.i386.rpm
xlc.cmp-8.2.0-20.ppc64.rpm
xlc.lib-8.2.0-20.ppc64.rpm
xlcpp.cmp-8.2.0-20.ppc64.rpm
xlcpp.help-8.2.0-20.ppc64.rpm
xlcpp.lib-8.2.0-20.ppc64.rpm
Linux Kernel
Pre-integrated within System Root Image for Simulator
kernel-2.6.20-CBE.ppc64.rpm
IBM Full System Simulator
systemsim-cell-2.1-10.i386.rpm
systemsim-cell-2.1-10.x86_64.rpm
systemsim-cell-2.1-10.ppc64.rpm
System Root image for Simulator
sysroot_image-2.1-8.noarch.rpm
SPE Runtime Lib v1.2 (deprecated)
Pre-integrated within System Root Image for Simulator
libspe-1.2.2-0.ppc64.rpm
libspe-1.2.2-0.ppc.rpm
libspe-devel-1.2.2-0.ppc64.rpm
libspe-devel-1.2.2-0.ppc.rpm
SIMD math library
simdmath-2.1-1.ppc.rpm
simdman-2.1-1.noarch.rpm
spu-simdmath-2.1-1.ppc.rpm
MASS library
ppu-mass.lib-4.4.0-20.ppc64.rpm
ppu-mass.lib-4.4.0-20.ppc.rpm
spu-mass.lib-4.4.0-20.ppc.rpm
Prototype libraries and samples package
cell-sdk-lib-samples-2.1-2.noarch.rpm
ALF library
cell-alf-2.1-2.noarch.rpm
SPE Runtime Lib v2.1
Pre-integrated within System Root Image for Simulator
elfspe2-2.1.0-0.ppc.rpm
libspe2-2.1.0-0.ppc64.rpm
libspe2-2.1.0-0.ppc.rpm
libspe2-devel-2.1.0-0.ppc64.rpm
libspe2-devel-2.1.0-0.ppc.rpm
Cell Perf-Counter
Pre-integrated within System Root Image for Simulator
cellperfctr-driver-2007.03.19-1.ppc64.rpm
SPU Timing tool
cell-spu-timing-2.1-1.i686.rpm
cell-spu-timing-2.1-1.ppc.rpm
FDPR-Pro
Not Available
fdprpro-5.4.0-8.ppc.rpm
OProfile
Pre-integrated within System Root Image for Simulator
oprofile--0.9.2-0.3.ppc.rpm
oprofile-devel--0.9.2-0.3.ppc.rpm
IBM Eclipse IDE for Cell BE SDK
com.ibm.celldt_2.1.0.2007031201.tar.gz
Not Available

 
  top
link_top
  Barcelona Supercomputing Center, 2010 - Legal Notice
 
link_top