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

Cell/B.E.™ Software Development Kit (SDK) Version 3.1

stroke

The IBM SDK for Multicore Acceleration Version 3.1 is available for two different Linux® distributions (RHEL5.2 (or later) and Fedora 9) and in three different package types: Developer, Product, and Extras.

BSC hosts all the open source components that are part of the IBM Software Development Kit (SDK) for Cell/B.E.™. The IBM components and associated documentation are found at IBM developerWorks packaged as ISO images.

Developer package

The Developer package is provided under an International License Agreement for Non-Warranted Programs and is intended for evaluations of the SDK in a non-production environment. The Developer package provides access to all the mature technologies of SDK 3.1 including:

Accelerated Library Framework (ALF)

Accelerator Library and Framework (ALF) provides for ease of use in multi-core computing by simplifying the data distribution and work queue management for multiple tasks.The host is the PPU and the SPUs are the accelerators. The source and examples are available under a BSD license.

Data Communication and Synchronization (DaCS)

Data Communication and Synchronization (DaCS) library contains functions for process management, data movement, data and process synchronization, topology features (such as the group concept), and error handling. DaCS is used only on CBEA hardware. The source and examples are available under a BSD license.

BLAS library

BLAS library for single and double precision linear algebra functions. The source and examples are available under a BSD license.

GNU Toolchain

The GNU Toolchain packages provide a full development tool chain (GCC compiler, assembler, linker, debugger, binary utilities, and runtime library) to generate and debug code for the Cell/B.E.™ PPE and SPE processor cores. The toolchain is provided both as native version running on Cell Broadband Engine Architecture and other PowerPC Linux systems, and as a cross-toolchain hosted on X86 or X86_64 Linux systems. See the SDK 3.1 Programmer's Guide for more information on how to use the GNU Toolchain. As part of the toolchain, GCC 4.3 is shipped as prototype code.

Performance Debugging Tool

The Performance Debugging Tool (PDT) provides the ability to trace events of interest during the application execution, and record relevant data related to these events from the SPEs and PPE and the AMD Opteron processor.

PDT Reporting tools

pdtr is a command line tool that reads and post-processes PDT traces. See the man page for usage information.

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/B.E.™ 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/B.E.™ processor. 32-bit and 64-bit PPU libraries and 32-bit SPU are supported.

FFT Library

This library handles a wide range of 1D and 2D Fast Fourier Transforms.

LAPACK

The Linear Algebra Package for Cell/B.E.™.

Monte Carlo library

A random number generation library suitable for simulation.

IBM Eclipse IDE for Cell/B.E.™ SDK

The IBM Integrated Development Environment for Cell Broadband Engine SDK is a set of Eclipse plug-ins that integrate the Cell/B.E.™ tool chain and enable rapid building of Cell/B.E.™ applications. It is built upon the Eclipse and C Development Tools (CDT) platform, integrates the Cell/B.E.™ GNU tool chain, compilers, IBM Full-System Simulator for the Cell/B.E.™, and other development components in order to provide a comprehensive, user-friendly development platform that simplifies Cell/B.E.™ 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.

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.

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/B.E.™ 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.

Documentation

Documentation consists of man pages, PDFs, and README files in individual directories. The PDFs for the SDK are installed into directories under the /opt/cell/sdk/docs directory.

For Fedora 9 only, the Developer package also includes:

Linux Kernel

The operating system kernel with Cell Broadband Engine Architecture support. The kernel is included in RHEL 5.2 (or later). For Fedora 9, the kernel is part of the SDK.

libSPE1/libSPE2

A low level library that defines the user space API to program for Cell Broadband Engine Architecture applications. LIBSPE2 is supplied with RHEL 5.2 (or later). For Fedora 9, LIBSPE2 and backwards compatibility support of LIBSPE1 is provided.

Product package

The SDK 3.1 RHEL5 Product package provides the same function as the RHEL5 Developer Package plus access to IBM Support and is intended for production purposes.

Extras package

The Extras package provides add-ons that can be applied to both the Product package and Developer package on RHEL5.2 (or later) and Fedora 9. The Extras packages are used to make available our latest and greatest technologies as soon as possible. They tend to be less mature or technology preview level code that may or may not become part of the generally available product in the future. The Extras packages are licensed under an International License Agreement for Early Release of Programs and contain:

Accelerated Library Framework (ALF) for Hybrid-x86

This version of ALF is directed toward a hybrid computing environment with an X86_64 host and CBEA hardware accelerators.

Data Communication and Synchronization (DaCS) for Hybrid-x86

Data Communication and Synchronization (DaCS) library contains functions for process management, data movement, data and process synchronization, topology features (such as the group concept), and error handling. DaCS for Hybrid-x86 is used between a X86_64 host and CBEA hardware.

FFT3D Library

This library provides 3D Fast Fourier Transforms.

Hybrid Performance Tools

These tools are designed to assist in using a number of the performance tools in a hybrid system that uses more than one processor architecture in the design. In particular the Cell Broadband Engine is used as an accelerator for a host system with a different architecture.

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.

Cell Performance Counter

The cell-perf-counter (cpc) tool is used for setting up and using the hardware performance counters in the Cell/B.E. processor. You can use these counters to see how many times certain hardware events occur when analyzing the performance of software running on a Cell/B.E.™ system.

For Fedora 9 only, the Extras package also includes:

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/B.E.™ 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.
The simulator is not provided with the SDK and is available from alphaWorks.

Sysroot Image for System Simulator

The system root image for the system simulator is a file that contains a disk image of Fedora 9 files, libraries and binaries that can be used within the system simulator. This disk image file is pre-loaded with full range of Fedora 9 utilities and also includes all of the Cell/B.E.™ 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.

Oprofile

OProfile is a tool for profiling user and kernel level code. It uses the hardware performance counters to sample the program counter every N events. OProfile is included with the RHEL 5.2 (or later) distribution. For users of Fedora 9, The SDK provides OProfile.

Crash SPU Commands

Crash extension with specific commands for analyzing Cell Broadband Engine Architecture SPU run control state in a system crash.

SPU Isolation

SPU-Isolation provides a build and runtime environment for signing and encrypting SPE applications.

SPU Libcrypto

SPU-Libcrypto provides basic cryptographic routines optimized for execution on an SPE. These functions include AES, DES, Triple-DES, and RSA encryption and decryption routines; and MD5, SHA-1, and SHA-256 cryptographic hashing routines. The SDK provides this component for the Fedora 9 platform. It has not been tested on RHEL 5.2 (or later).

netpbm

This graphics bitmap library is used by the Julia example. A cross development version is provided in the SDK for use on X86 and X86_64 platforms.

 
  top
link_top
  Barcelona Supercomputing Center, 2010 - Legal Notice
 
link_top