IBMからCellSDK3.0リリース


以前、Cell SDK 3.0の early release が出ていたと書いたが、
IBMから正式なリリースがあったようだ。(2007.10.19)
時間があるときに内容物をチェックしたい。
開発キットに含まれるのは以下の通り、(いいかげんな直訳なので注意)




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

  • Developer package : 開発用パッケージ
    • Data Communication and Synchronization (DaCS)
      • データ通信および同期(DaCS)ライブラリは、プロセス管理、データ移動、データおよびプロセス同期のための機能、位相特徴(グループ概念のような)およびエラーハンドリングを含んでいます。DaCSはCBEAハードウェア上でのみ使用されます。
    • GNU GCC Toolchain
      • GNU Toolchainパッケージは、Cell/B.E(PPEとSPE)のプロセッサのためのコードを生成しデバッグするために十分な開発ツール(GCCコンパイラー、アセンブラー、結合物、デバッガ、2進法のユーティリィティおよびランタイム・ライブラリ)を提供します。toolchainは、Cellエンジン・アーキテクチャー上で走る、従来のバージョンおよび他のPowerPC Linuxシステムの両方として提供されます、 また、cross-toolchainがx86またはx86_64のLinuxシステム上で。GNU Toolchainを使用する方法についての詳細は、SDK 3.0 Programmer's Guide を参照してください。
    • Performance Debugging Tool
      • パフォーマンスデバッグ用ツール(PDT)は、アプリケーション実行の間に任意のイベントをトレースし、かつ、SPEおよびPPE、およびOpteronからの これらのイベントと関係するデータを記録する能力を提供します。
    • PDT Reporting tools
      • pdtrは読むコマンドライン・ツール、 およびPDTがトレースした後のプロセスです。使用法の情報については、man を参照してください。
    • SIMD math library
      • SIMD数学ライブラリは、従来の数学機能の部分集合のベクトル・バージョンを提供します。これらのベクトル・バージョンは、スカラー基準によって述べられた仕様書にできるだけ緊密に一致します。しかしながらスカラーアーキテクチャーとCell/B.Eアーキテクチャの間の基本の差。NaNとinfinitiesのような、球状化、エラー状態、浮動小数点式の例外および特別のオペランドの取り扱いを含むいくつかの偏差を要求します。
    • MASS (Mathematical Acceleration SubSystem) library
      • 数学的アクセラレータサブシステム(MASS)は数学組み込み関数のライブラリから成ります。それは特にCell/B.E上の最適の実行のために調整されます。 32ビットおよび64ビットのPPUライブラリおよび32ビットのSPUが支援されます。
    • IBM Eclipse IDE for Cell/B.E.SDK
      • IBMは、開発環境にCell SDKを統合しました。それはEclipseプラグインCell/B.E. tool chain 、またCell/B.Eの高速ビルドを可能にします。およびC開発ツール(CDT)プラットフォームで構築されます。GNU tool chain、コンパイラー、Cell/B.E.のためのステム・シミュレータ。そして他の開発コンポーネント、Cell/B.Eを単純化する包括的でユーザー・フレンドリーな開発プラットフォームを提供するために。重要な特徴は:構文強調表示を支援するC/C++エディター;カスタマイズ可能なテンプレート;また手続きに対するアウトライン・ウィンドウ見通し、変数、宣言、また機能、それがソース・コードに現われる、PPE(パワー処理要素)およびSPE(相乗効果の処理要素)GDB(GNUデバッガ)のための豊かなグラフィカルなインターフェース、 Eclipseおよび自動建築者の中へのシミュレータのシームレス統合、実行ツール、また他のいくつかの増強。
    • Feedback Directed Program Restructuring (FDPR-Pro)
      • FDPR-Proは、ユーザ・レベル・アプリケーション・プログラムのランタイムを縮小する、パフォーマンス・チューニング・ユーティリィティです。ツールは、プログラムの典型的な仕事量の下の振る舞いに関する情報収集によってプログラムの実行可能なイメージを最適化します、またその仕事量のために最適化されるプログラムの新バージョンを作成することポスト・リンク・オプティマイザーによって生成された新しいプログラムは、オリジナル・プログラムより速く作動します。
    • Prototype libraries and samples package
      • ライブラリーとサンプルのRPMのパッケージは、開発費を大幅に縮小し、 SPUプログラムの実行を増強する相乗効果のプロセッサー要素(SPE)Cライブラリ・ルーチンを最適化された標準の豊富なセットに供給します。 アプリケーション指向の様々なライブラリ、高速フーリエ変換(FFT)を含んでいること、イメージ、オーディオ再サンプル、数学、ゲーム数学、intrinsics、マトリックス・オペレーション、多重正確数学、雑音生成、オシレーター、表面、同期およびベクトルもCell/B.Eの万能を実証するために含まれています。追加サンプルと仕事量は、プログラマがどのようにオンチップ計算能力を開発することができるか実証します。従来のプロセッサーより高い桁の実行パフォーマンスをもつ大きなFFTが含まれています。
    • libSPE/libSPE2
      • Cellエンジン・アーキテクチャー適用のためにプログラムするべきユーザ・スペースAPIを定義する、低レベルのライブラリ。
    • numactl
      • 非同一のメモリ・アクセス(NUMA)機械を合わせるためのライブラリ。
  • Product package
  • Extras package
    • Accelerated Library Framework (ALF) for Hybrid-x86
    • Data Communication and Synchronization (DaCS) for Hybrid-x86
    • FFT Library
    • Random Number Generation Library
    • IBM C/C++ Alpha Edition for Multicore Acceleration single source compiler
    • Hybrid Performance Tools
    • SPU Timing tool
    • SPU Timer
  • For Fedora 7 only, the Extras package also includes:
    • IBM Full System Simulator
    • Sysroot Image for System Simulator
    • Hardware Performance Counter
    • Oprofile
    • Crash SPU Commands
    • SPU Isolation



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

(Barcelona Supercomputing Center の解説)

The IBM SDK for Multicore Acceleration Version 3.0 is available for two different Linux® distributions (RHEL5.1 and Fedora 7) 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 as three previous package types ISO images.

Developer package
The Developer package is provided under an International License Agreement for Non-Warranted Programs and are intended for evaluations of the SDK in a non-production environment. The Developer package provide access to all the mature technologies in the SDK 3.0 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.

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.

BLAS library
BLAS library for single and double precision linear algebra functions.

GNU GCC 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.0 Programmer’s Guide for more information on how to use the GNU Toolchain.

GNU Ada compiler for PPE
Provides an Ada compiler for PPE.

GNU Fortran compiler for PPE and SPE
Provides a Fortran compiler for PPE and SPE 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 Opteron.

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.

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 7 only, the Developer package also includes:

Linux Kernel
Enhanced Fedora 7 Linux kernel that fully enables and supports IBM BladeCenter QS20 and QS21 hardware.

libSPE/libSPE2
Low level library that defines the user space API to program for Cell Broadband Engine Architecture applications.

numactl
A library for tuning Non-Uniform Memory Access (NUMA) machines.

Product package
The SDK 3.0 RHEL5.1 Product package provides the same function as the RHEL5.1 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.1 and Fedora 7. 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.

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

Random Number Generation Library
A random number generation library suitable for simulation.

IBM C/C++ Alpha Edition for Multicore Acceleration single source compiler
The IBM XL C/C++ Alpha Edition for Multicore Acceleration for Linux, V 0.9 is an advanced, high-performance cross compiler that is tuned for the Cell Broadband Engine Architecture and allows users to compile and link both PPU and SPU code segments with a single compiler invocation.

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.

SPU Timer
The SPU timer library provides virtual clock and timer services for SPU applications.

For Fedora 7 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.

Sysroot Image for System Simulator
The system root image for the system simulator is a file that contains a disk image of FC7 files, libraries and binaries that can be used within the system simulator. This disk image file is pre-loaded with full range of FC7 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.

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

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.

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.


The IBM SDK for Multicore Acceleration Version 3.0

ダウンロード先
IBM
http://www.ibm.com/developerworks/power/cell/downloads.html
(Barcelona Supercomputing Center)
http://www.bsc.es/plantillaH.php?cat_id=458

インストール等の解説が載っているサイト
http://cell.fixstars.com/ps3linux/index.php/Cell_SDK_3.0%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B

ちなみにBarcelona Supercomputing Centerのスーパーコンピュータ
http://gigazine.net/index.php?/news/comments/20070827_supercomputer_in_chapel/