cell programming workshop welcome session › ~mueller › cluster › ps3 › ...powerpc...

13
Systems and Technology Group Course Code: 1-day Cell Programming Workshop - Welcome 06/27/06 © 2005 IBM Corporation CELL Programming Workshop Welcome Session 27 June 2006 Cupertino, CA, USA Cell Ecosystem Solutions Enablement

Upload: others

Post on 26-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Systems and Technology Group

Course Code: 1-day Cell Programming Workshop - Welcome 06/27/06 © 2005 IBM Corporation

CELL Programming WorkshopWelcome Session

27 June 2006Cupertino, CA, USACell Ecosystem Solutions Enablement

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/062

Welcome to the Cell Broadband Engine Programming Workshop!

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/063

Workshop Objectives

At the end of this workshop you should know– The Cell Broadband Engine (CBE) architecture, software

model, and software development environment

– How to write programs that exploit the performance of the CBE

Trademarks - Cell Broadband Engine ™ is a trademark of Sony Computer Entertainment, Inc.

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/064

Schedule

Closing session (Duc Vianney)5:00-5:3012

Cell programming tips and techniques (Hema Reddy)4:15-5:0011

Break4:00-4:15

Using the SDK sample programs - euler (Hema Reddy)3:30-4:1510

Cell communication - DMA and mailboxes (Hema Reddy)2:45-3:3009

Break2:30-2:45

SIMD programming (Hema Reddy)1:45-2:3008

Running your first cell program - hello world (Max Aguilar)1:00-1:4507

Lunch12:00-1:00

Build cell-based partnerships with IBM (Fred Christensen)11:45-12:0006

Cell software development environment (Max Aguilar)11:00-11:4505

Cell software model (Max Aguilar)10:15-11:0004

Break10:00-10:15

Cell architecture (Duc Vianney)9:15-10:0003

Cell overview (Duc Vianney)8:55-9:1502

Welcome (Duc Vianney)8:45-8:5501

Registration (Tanaz Sowdagar)8:15-8:4500

TopicsTimeSession

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/065

So let’s get started!

Where to get CBE information?

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/066

Web SitesCell resource center at developerWorks– http://www-128.ibm.com/developerworks/power/cell/Cell developer's corner at power.org– http://www.power.org/resources/devcorner/cellcorner/The cell project at IBM Research– http://www.research.ibm.com/cell/The Cell BE at IBM alphaWorks– http://www.alphaworks.ibm.com/topics/cellCell BE at IBM Engineering & Technical Services– http://www-03.ibm.com/technology/IBM Power Architecture– http://www-03.ibm.com/chips/power/ Cell BE documentation at IBM Microelectronics– http://www-

306.ibm.com/chips/techlib/techlib.nsf/products/Cell_Broadband_EngineCell Linux info at the Barcelona Supercomputing Center website– http://www.bsc.es/projects/deepcomputing/linuxoncell/

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/067

Standards and Documentation at developerWorkshttp://www-128.ibm.com/developerworks/power/cell/downloads_doc.html

Cell Broadband Engine Programming HandbookGet information for developing applications, libraries, middleware, drivers, compilers, or operating systems for the Cell Broadband Engine processor.

Cell Broadband Engine Hardware Initialization GuideThis document describes the sequences for initializing a Cell Broadband Engine processor, from Power-On Reset (POR) through calibration of the memory and I/O interfaces and the PowerPC Processor Element (PPE) firmware.

Cell Broadband Engine Linux Reference Implementation ApplicationBinary Interface SpecificationThis document defines a standard interface that allows compiled objects to be linked and run on the Linux Reference Implementation for the Cell Broadband Engine without recompilation or recoding.

Cell Broadband Engine RegistersThis document describes the CBE memory-mapped I/O registers used by the PowerPC Processor Element (PPE), the Synergistic Processor Elements (SPEs) and other units.

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/068

Standards and Documentation at developerWorkshttp://www-128.ibm.com/developerworks/power/cell/downloads_doc.html

Cell Broadband Engine Architecture V1.0Like the Power Architecture, but different -- the CBE Architecture builds upon knowledge contained in the Power Architecture "books" and describes the app-level User Mode Environment (UME) and the OS-level Privileged Mode Environment (PME) in astonishingly rich detail.

Synergistic Processor Unit (SPU) Instruction Set Architecture V1.0Somewhere between a general-purpose processor and special-purpose hardware lies the Cell SPU: designed to provide leadership performance in game, media, and broadband applications, this document describes the Instruction Set of the Synergistic Processor Unit (SPU). Get to know all of its instructions.

SPU Application Binary Interface Specification V1.4 Including register usage and calling conventions, data type sizes and alignment, low-level system and language binding information, information on loading and linking, and coding examples, this specification defines the system interface for SPU-targeted object files to help ensure maximum binary portability across implementations.

SPU Assembly Language Specification V1.3 Program directly to the SPU Instruction Set! This specification will prove an indispensable aid in your efforts as it takes you on a carefully-worded journey describing SPU assembly-level syntax and machine-dependent features for the GNU assembler (but serves as an example specification for other SPU assemblers as well).

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/069

Standards and Documentation at developerWorkshttp://www-128.ibm.com/developerworks/power/cell/downloads_doc.html

SPU C/C++ Language Extensions V2.1 Unleash the full processing power of the SPUs. This specification extends the C and C++ languages with a rich set of vector data types, several programmer directives, and an extensive set of vector intrinics.

PowerPC Architecture Book, Version 2.01This three-volume set (pdf), Version 2.01, defines the instruction and registers used by application programs, the storage models, privileged facilities, and related instructions for the POWER4 and POWER4+ processors.

PowerPC Architecture Book, Version 2.02This three-volume set (pdf), Version 2.02, defines the instruction and registers used by application programs, the storage models, privileged facilities, and related instructions for the IBM POWER5 processor family.

PowerPC Microprocessor Family: Vector/SIMD Multimedia Extension Technology Programming Environments Manual Version 2.06cCreate software that is compatible across the family of 64-bit PowerPC processors, which have implemented the Vector/SIMD Multimedia Extension technology -- from the 970FX, to the Cell Broadband Engine -- and beyond.

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/0610

IBM Full-System Simulator – XLC – Software Sample at alphaworks http://www.alphaworks.ibm.com/topics/cell

IBM Full-System Simulator for the Cell Broadband Engine Processor – A full-system simulation infrastructure and tools for the Cell

Broadband Engine processor. XL C Alpha Edition for Cell Broadband Engine Processor– A high performance C compiler for the IBM Cell Broadband

Engine processor. IBM Cell Broadband Engine Software Sample and Library Source Code – Working examples and libraries that demonstrate programming

techniques and performance of Cell Broadband Engine Architecture.

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/0611

Linux on Cell at the Barcelona Supercomputer Center http://www.bsc.es/projects/deepcomputing/linuxoncell/cbexdev.html

Cell Broadband Engine SDK for x86 installation script and open source packages– The cross-hosted Cell Broadband Engine development

environment contains packages from several sources. This page includes a primary install/build script for the Cell Broadband Engine SDK, an SPU/PPU toolchainpackage, a Fedora Core 4 for PowerPC run-time package for the GNU/Linux on Cell simulation environment, Cell BE kernel patches for the 2.6.14 Linux Kernel, and the source code for the SPE run-time management library.

Systems and Technology Group

© 2005 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/0612

Linux on Cell at the Barcelona Supercomputer Center http://www.bsc.es/projects/deepcomputing/linuxoncell/cbexdev.html

GCC Toolchain– Contains the GCC compiler for the SPE implemented by SCE which also

supports the standards defined in the SPU C/C++ Language Extensions V2.1, SPU Application Binary Interface Specification V1.4, and Synergistic Processor Unit (SPU) Instruction Set Architecture V1.0 documents (previously released). The associated assembler and linker additionally support the SPU Assembly Language Specification V1.3. The assembler and linker are common to both the GCC and XL C compilers.

Linux Kernel Patch– This set of patches to the Linux operating system provides services needed to

support the hardware facilities of the Cell Broadband Engine microprocessor.Fedora Core 4 linksSPE Management Library– Contains an SPE thread programming model for CBEA applications. SDK Installation Script– The install script grabs the RPMs and builds the CBE programming

environment Linux on Cell – Provides information about how to enable Linux on CBE platforms.

Systems and Technology Group

© 2006 IBM CorporationCourse Code: 1-day Cell Programming Workshop - Welcome 06/27/0613

(c) Copyright International Business Machines Corporation 2005.All Rights Reserved. Printed in the United Sates September 2005.

The following are trademarks of International Business Machines Corporation in the United States, or other countries, or both. IBM IBM Logo Power Architecture

Other company, product and service names may be trademarks or service marks of others.

All information contained in this document is subject to change without notice. The products described in this document are NOT intended for use in applications such as implantation, life support, or other hazardous uses where malfunction could result in death, bodily injury, or catastrophic property damage. The information contained in this document does not affect or change IBM product specifications or warranties. Nothing in this document shall operate as an express or implied license or indemnity under the intellectual property rights of IBM or third parties. All information contained in this document was obtained in specific environments, and is presented as an illustration. The results obtained in other operating environments may vary.

While the information contained herein is believed to be accurate, such information is preliminary, and should not be relied upon for accuracy or completeness, and no representations or warranties of accuracy or completeness are made.

THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED ON AN "AS IS" BASIS. In no event will IBM be liable for damages arising directly or indirectly from any use of the information contained in this document.

IBM Microelectronics Division The IBM home page is http://www.ibm.com1580 Route 52, Bldg. 504 The IBM Microelectronics Division home page is Hopewell Junction, NY 12533-6351 http://www.chips.ibm.com