cell broadband engine cell be sdk for multicore acceleration version 3.0

24
IBM Systems & Technology Group Cell/Quasar Ecosystem & Solutions Enablement Cell Programming Workshop 06/27/22 © 2007 IBM Corporation 1 Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0 Francesco Bertagnolli Francesco Bertagnolli System & Technology Group System & Technology Group

Upload: brynne-stanley

Post on 31-Dec-2015

44 views

Category:

Documents


0 download

DESCRIPTION

Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0. Francesco Bertagnolli System & Technology Group. Class Objectives. Things you will learn The Cell Broadband Engine™ (Cell BE) Software Development Kit for Multicore Acceleration v3.0. Agenda. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group

Cell/Quasar Ecosystem & Solutions Enablement

Cell Programming Workshop 04/19/23 © 2007 IBM Corporation1

Cell Broadband Engine

Cell BE SDK for Multicore Acceleration Version 3.0

Francesco BertagnolliFrancesco Bertagnolli

System & Technology GroupSystem & Technology Group

Page 2: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/232

Class Objectives

Things you will learn

– The Cell Broadband Engine™ (Cell BE) Software Development Kit for Multicore Acceleration v3.0

Cell BE SDK for Multicore Acceleration v3.0

1. Overview: Packaging and Installation

2. Runtime Environment

3. Program Development Tools

4. Development Libraries

5. Performance Tools

Agenda

Page 3: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/233

Cell BE SDK for Multicore Acceleration v3.0

1- Overview: Packaging

Page 4: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/234

SDK 3.0 Packages

Component

License

LibSPE2

GCC Compiler

Performance Tools (FDPR-PRO, PDT, PDTR), SPU Timing, OProfile

Development Libraries (ALF, DacS, BLAS, SIMDMath, MASS)

Cell Eclipse IDE

Examples, Demos Tutorial, Docs

XL C/C++ SS compilers

Mambo Simulator

Page 5: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/235

Cell BE SDK for Multicore Acceleration v3.0

2- Runtime Environment

> System Simulator

Page 6: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/236

IBM Full-System Simulator

Emulates the behavior of a full system that contains a Cell BE processor.

Can start Linux on the simulator and run applications on the simulated operating system.

Supports the loading and running of statically-linked executable programs and standalone tests without an underlying operating system.

Simulation models

– Functional-only simulation

For code development and debugging.– Performance simulation

For system and application performance analysis.

Page 7: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/237

Cell BE SDK for Multicore Acceleration v3.0

Program Development Tools> gcc and GNU Toolchain> XL C/C++ Compilers> Eclipse IDE

Page 8: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/238

GCC and GNU Toolchain Base toolchain

– Based on GCC 4.1.1 extended by PPE and SPE support

– binutils 2.18, SPE newlib 1.15.0+, GDB 6.6+

New hardware support

– Code generation for SPE with enhanced double precision FP

Contains the GCC compiler for the PPU and the SPU. – ppu-gcc, ppu-g++, ppu32-gcc, ppu32-g++, spu-gcc, spu-g++– For the PPU, GCC replaces the native GCC on PPC platforms and it is a

cross-compiler on x86. The GCC for the PPU is preferred and the makefiles are configured to use it when building the libraries and samples.

– For the SPU, GCC contains a separate SPE cross-compiler that supports the standards defined in the following documents:

• C/C++ Language Extensions for Cell BE Architecture V2.4• SPU Application Binary Interface (ABI) Specification V1.7• SPU Instruction Set Architecture V1.2

Page 9: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/239

XL C/C++/Fortran Compilers

IBM XL C/C++ for Multicore Acceleration for Linux, V9.0 (dual source compiler)

IBM XL Fortran for Multicore Acceleration for Linux, V11.1 (dual source compiler)

IBM XL C/C++ Alpha Edition for Multicore Acceleration, V0.9 (single source compiler)

– Allows programmer to use OpenMP directives to specify parallelism on PPE and SPE

Page 10: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2310

Eclipse IDE

IBM IDE, which is built upon the Eclipse and C/C++ Development Tools (CDT) platform, integrates Cell GNU tool chain, XLC/GCC 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.

Eclipse

CDT

Cell IDE

Page 11: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2311

Cell IDE Key Features

Cell C/C++ PPE/SPE managed make project support

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.

Full configurable build properties.

Integration of Cell BE Simulator into Eclipse

Automatic makefile generator, builder, performance tools, and several other enhancements.

Support development platforms (x86, x86_64, Power PC, Cell)

Performance tools Support .

Automatic embedSPU integration

Page 12: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2312

Cell BE SDK for Multicore Acceleration v3.0

Development Libraries>SIMD Math>MASS>BLAS>FFT>Monte carlo Random Number Generator>SPU Timer

Page 13: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group

Cell/Quasar Ecosystem & Solutions Enablement

Cell Programming Workshop 04/19/23 © 2007 IBM Corporation13

Hands-on System Start&Check

Cell Programming WorkshopCell Ecosystem Solutions Enablement

Page 14: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2314

Class Objectives – Things you will learn

For this class, we will create a Cell BE virtual machine which provides a Cell program development environment with a host Linux system and the current release of Cell SDK 3.0 and tools

Make sure to have a fully Cell operational environment under VMware player

–Fedora 7 as host

–Cell SDK 3.0

–system simulator systemsim-cell

–Cell IDE

Page 15: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2315

Perform Cell VMware image installation

Cell VMware image – Cell-VMWare-F7-SDK30

– Fedora 7 + Cell SDK 3.0 + IDE + XLC + Hands-on-30

Assume your system is running under WinXP, and at least 512MB of RAM

– Copy all files to a windows directory, e.g., cellvm• Cell-VMware-F7-SDK30-ddmm07.zip• VMware-player-2.0.1-55017.exe (for Windows)• VMware-player-2.0.1-55017.i386.rpm (for Linux)

– Unzip Cell-VMware-F7-SDK30-ddmm07.zip

– Install VMware player

Page 16: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2316

Check for correct system installation

Start the VMware Player

– Select the correct virtual machine configuration file

– For the first time run, answer all questions using the default selected options

– Wait for the complete boot of the guest Fedora 7, then login

• Userid: root• Password: inn0vate

– Open a terminal session and do “cat /proc/version” or “uname –a”, you should see the kernel version 2.6.22.9-91.fc7

!

Page 17: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2317

Check for correct system components

We should have at least the following directories

– /opt/cell (Cell SDK 3.0 installation script)

– /opt/cell/sdk (Cell SDK 3.0 top directory)

– /opt/cell/sdk/buildutils (Cell SDK 3.0 makefile files)

– /opt/cell/sdk/docs (Cell BE documentation)

– /opt/cell/sdk/src (Cell SDK 3.0 examples)

– /opt/ibm/systemsim-cell (Cell BE full system simulator)

– /opt/ibmcmp (IBM xlc and xlcpp)

– /home/student/eclipse (Cell BE Integrated Development Environment)

– /opt/cell_class (hands-on examples)

Page 18: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2318

Check for IDE Operational

cd /home/student/eclipse

./eclipse

Note: eclipse should come up after ./eclipse was typed. If you don’t see it, it is probably hidden and running behind some foreground windows. To see it, you click on the screen to bring the background to foreground.

Page 19: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group

Cell/Quasar Ecosystem & Solutions Enablement

Cell Programming Workshop 04/19/23 © 2007 IBM Corporation19

Cell Broadband Engine

Linux on PS3

Francesco BertagnolliFrancesco BertagnolliSystem & Technology GroupSystem & Technology Group

Page 20: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2320

Open source software choice to accelerate the development of an ecosystem for the Cell architecture

– accelerated architecture validation ad debugging

– environment for early Cell adopters

– accelerated market deployment: familiar programming environment

steadily growing community of Cell developers

Open Source Environment for Cell BE

Fedora

Yellow dog

www.yellowdoglinux.com

Page 21: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2321

Install Linux on PS3

We have:

– USB or Memory card

– DVD with Fedora (YLD)

– USB Keyboard and mouse

– Bootloader Installer (1 MB)

(otheros.self)

– Bootloader (otheros.bld)

Page 22: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2322

Software Development

Demo >>

www.ibm.irt.com

Page 23: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2323

1 2 3 4

>>

Page 24: Cell Broadband Engine Cell BE SDK for Multicore Acceleration Version 3.0

IBM Systems & Technology Group – Cell/Quasar Ecosystem & Solutions Enablement

© 2007 IBM CorporationCell Programming Workshop 04/19/2324

If you want:

• System simulator• Playstation 3• IBM cell blade

(2xCell processor)– Remote access– Segrate!

Develop for Cell BE

www.yellowdoglinux.com