Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session1
CELL Programming WorkshopClosing Session
27 June 2006Cupertino, CA, USACell Ecosystem Solutions Enablement
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session2
Review 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
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session3
Review Learning Objectives
At the end of this lecture you should know– what makes the difference of the Cell BE Architecture
– how to write programs that exploit the performance of the Cell BE using• SIMD operations• Mailboxes• DMAs• Application Partitioning
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session4
Cell Information Roadmap
Cell Broadband Engine Programming HandbookI/O Architecture
Cell Broadband Engine SDK LibrariesHistograms
Cell Broadband Engine SDK LibrariesGame Math Library
SPU C/C++ Language Extensions, Version 2.5Floating-Point Arithmetic on the SPU
Cell Broadband Engine SDK LibrariesFFT Library
Cell Broadband Engine Architecture V1.5Extensions to the PowerPC Architecture
Performance Analysis with MamboEvaluation Criteria for Performance Simulations
Cell Broadband Engine Programming HandbookDMA Transfers and Inter-Processor Communication
SPU Application Binary Interface Specification, Version 1.5Debug Format
SPU C/C++ Language Extensions, Version 2.0Data Types and Program Directives
Cell Broadband Engine SDK LibrariesCurves and Surfaces Library
Cell Broadband Engine SDK LibrariesConditional Variables
SPU C/C++ Language Extensions, Version 2.2Composite Intrinsics
Cell Broadband Engine SDK LibrariesCompletion Variables
Cell Broadband Engine Architecture V1.4CBEA-Specific PPE Special Purpose Registers
Cell Broadband Engine Programming HandbookCache Management
Cell Broadband Engine SDK LibrariesAudio Resample Library
SPU Assembly Language Specification, Version 1.3Aliases
Cell Broadband Engine Architecture V1.6Access Ordering
SPU C/C++ Language Extensions, Version 2.4C and C++ Standard Libraries
DocumentationInformation looking for
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session5
Cell Information Roadmap
Cell Broadband Engine Programming HandbookOverview of the Cell Broadband Engine Processor
Cell Broadband Engine SDK LibrariesOscillator Libraries
Cell Broadband Engine Programming HandbookObjects, Executables, and SPE Loading
SPU Application Binary Interface Specification, Version 1.6Object Files
Cell Broadband Engine SDK LibrariesNoise LibraryPPE
Cell Broadband Engine SDK LibrariesMutexes
Cell Broadband Engine SDK LibrariesMulti-Precision Math Library
Cell Broadband Engine Architecture V1.11MFC Commands
Cell Broadband Engine Architecture V1.2Memory Maps
Cell Broadband Engine Programming HandbookMemory Map
Cell Broadband Engine Architecture V1.10Memory Flow Controller
Cell Broadband Engine SDK LibrariesMatrix Library
Cell Broadband Engine SDK LibrariesMath Library
Cell Broadband Engine Programming HandbookMailboxes
SPU Application Binary Interface Specification, Version 1.4Low-Level System Information
SPU C/C++ Language Extensions, Version 2.1Low-Level Specific and Generic Intrinsics
Cell Broadband Engine Programming HandbookLogical Partitions and a Hypervisor
Cell Broadband Engine SDK LibrariesLarge Matrix Library
SPU Assembly Language Specification, Version 1.2Instruction Set and Instruction Syntax
Cell Broadband Engine SDK LibrariesImage Library
DocumentationInformation looking for
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session6
Cell Information Roadmap
Cell Broadband Engine SDK LibrariesSimulation Library
Cell Broadband Engine Programming HandbookSIMD Programming
Cell Broadband Engine Programming HandbookSignal Notification
Cell Broadband Engine Programming HandbookShared-Storage Synchronization
Cell Broadband Engine Programming HandbookResource Allocation Management
SPU Application Binary Interface Specification, Version 1.7Program Loading and Dynamic Linking
Cell Broadband Engine Architecture V1.12Problem State Memory-Mapped Registers
Cell Broadband Engine Architecture V1.1Privileged Mode Environment
Cell Broadband Engine SDK LibrariesPPE Serviced SPE C Library Functions
Cell Broadband Engine SDK LibrariesPPE Oscillator Subroutines
Cell Broadband Engine Programming HandbookPPE Multithreading
Cell Broadband Engine Programming HandbookPPE Interrupts
Cell Broadband Engine Architecture V1.8PowerPC Processor Element
Cell Broadband Engine Programming HandbookPowerPC Processor Element
Cell Broadband Engine Programming HandbookPower and Thermal Management
Performance Analysis with MamboPerformance Simulation and Analysis with Mambo
Cell Broadband Engine Programming HandbookPerformance Monitoring
Performance Analysis with MamboPerformance Instrumentation with Profile Checkpoints and Triggers
Performance Analysis with MamboPerformance Data Collection and Analysis with Emitters
Cell Broadband Engine Programming HandbookParallel Programming
DocumentationInformation looking for
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session7
Cell Information Roadmap
Cell Broadband Engine Architecture V1.15SPU Isolation Facility
SPU Architectural OverviewSPU Interrupt Facility
SPU Architectural OverviewSPU Integer and Logical Instructions
SPU Architectural OverviewSPU Hint-for-Branch Instructions
SPU Architectural OverviewSPU Floating-Point Instructions
SPU Architectural OverviewSPU Control Instructions
SPU Architectural OverviewSPU Constant-Formation Instructions
SPU Architectural OverviewSPU Compare, Branch, and Halt Instructions
Cell Broadband Engine Architecture V1.3SPU Channel Map
SPU Architectural OverviewSPU Channel Instructions
SPU Architectural OverviewSPU Architectural Overview
SPU Application Binary Interface Specification, Version 1.3SPU Application Binary Interface
SPU C/C++ Language Extensions, Version 2.3SPU and Vector Multimedia Extension Intrinsics
Cell Broadband Engine SDK LibrariesSPE Serviced C Library Functions
Cell Broadband Engine Programming HandbookSPE Programming Tips
Cell Broadband Engine SDK LibrariesSPE Oscillator Subroutines
Cell Broadband Engine SDK LibrariesSPE Local Storage Memory Allocation
Cell Broadband Engine Programming HandbookSPE Events
Cell Broadband Engine Programming HandbookSPE Context Switching
Cell Broadband Engine Programming HandbookSPE Channel and Related MMIO Interface
DocumentationInformation looking for
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session8
Cell Information Roadmap
Cell Broadband Engine Programming HandbookVirtual Storage Environment
Cell Broadband Engine Programming HandbookVector/SIMD Multimedia Extension and SPU Programming
Cell Broadband Engine SDK LibrariesVector Library
Cell Broadband Engine Architecture V1.0User Mode Environment
Cell Broadband Engine Programming HandbookTime Base and Decrementers
Cell Broadband Engine Architecture V1.13Synergistic Processor Unit Channels
Cell Broadband Engine Architecture V1.9Synergistic Processor Unit
Cell Broadband Engine Programming HandbookSynergistic Processor Elements
Cell Broadband Engine SDK LibrariesSync Library
Cell Broadband Engine Architecture V1.7Storage Models
Cell Broadband Engine Architecture V1.14Storage Access Ordering
SPU Architectural OverviewSPU Synchronization and Ordering
SPU Architectural OverviewSPU Shift and Rotate Instructions
SPU Architectural OverviewSPU Rotate and Mask
Performance Analysis with MamboSPU Performance Evaluation Criteria and Statistics
Performance Analysis with MamboSPU Performance Evaluation
SPU Architectural OverviewSPU Memory - Load/Store Instructions
DocumentationInformation looking for
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session9
What is next
Access to a cell blade center – Fred Christensen
Getting a system loaner – Fred Christensen
Further questions– Duc Vianney [email protected]
– Hema Reddy [email protected]
– Max Aguilar [email protected]
– Fred Christensen [email protected]
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session10
Future Cell workshop schedule
Sydney, AustraliaNov 21-22
San Mateo, USANov 7-8
Austin, USAOct 30-31
Hursley, UKOct 5-6
Paris, FranceOct 2-3
Dallas, USASep 19-20
Shanghai, ChinaSep 12-13
Austin, USASep 4-5
Bangalore, IndiaAug 29-30
Waltham, USAAug 22-23
Chicago, USAAug 15-16
Stuttgart, GermanyJul 26-27
Toronto, CanadaJul 24-25
Cupertino, USAJun 27
LocationDate
For details, see
https://www-304.ibm.com/jct09002c/isv/spc/events/cbea.html
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session11
Feedback – Let us hear what you think!
Any more questions ?
Please give us some thoughts on the course– Expectations, Ideas for improvement, Things to
discuss, Suggestions, …
Thank you!
Systems and Technology Group
06/27/06Course Code: 1-day Cell Programming Workshop - Closing session12
(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