Wattle Software - producers of XMLwriter XML editor
 Bookstore Home | XMLwriter Home | Search | Site Map 
XML Related
 General XML
 XSLT & Stylesheets
 XHTML
 SGML
 XML DTDs
 XML Schema
Web Development
 Web Graphics
 HTML
 Dynamic HTML
Web Services
 General Web Services
 UDDI
 SOAP
 WSDL
 Programming/Scripting 
 PHP Programming
 Perl Programming
 Active Server Pages
 Java Server Pages
 JavaScript
 VBScript
 .NET Programming
 
XMLwriter
 About XMLwriter
 Download XMLwriter
 Buy XMLwriter
XML Resources
 XML Links
 XML Training
 The XML Guide
 XML Book Samples
 

Programming the Cell Processor: For Games, Graphics, and Computation


By Matthew Scarpino
 
Image of: Programming the Cell Processor: For Games, Graphics, and Computation
Pricing Details:

List Price:$69.99
You save:$15.40 (22%)
Your Price:$54.59
Buy Now

Book Details:

Format:Hardcover, 744 pages.
Publisher:Prentice Hall PTR 2008-10-24
ISBN:0136008860

Average Customer Rating:

4.5 4.5 out of 5 stars (3 reviews)

Editorial Reviews:

Make the Most of IBM?s Breakthrough Cell Processor in Any Gaming, Graphics, or Scientific Application

 

IBM?s Cell processor delivers truly stunning computational power: enough to satisfy even the most demanding gamers and graphics developers. That?s why Sony chose the Cell to drive its breakthrough PlayStation 3 and why Cell processors are at the heart of today?s most powerful supercomputers. But many developers have struggled to create high-performance Cell applications: the practical, coherent information they need simply hasn?t existed.

 

Programming the Cell Processor solves that problem once and for all. Whether you?re a game developer, graphics programmer, or engineer, Matthew Scarpino shows you how to create applications that leverage all the Cell?s extraordinary power. Scarpino covers everything from the Cell?s advanced architecture to its powerful tools and libraries, presenting realistic code examples that help you gain an increasingly deep and intuitive understanding of Cell development.

 

Scarpino illuminates each of the Cell?s most important technical innovations, introduces the commands needed to access its power, and walks you through the entire development process, including compiling, linking, debugging, and simulating code. He also offers start-to-finish case studies for three especially important Cell applications: games, graphics, and scientific computing. The Cell platform offers unprecedented potential, and this book will help you make the most of it.

 

  • Mastering the Cell SDK, including the GCC-based buildchain, ppu-gdb/spu-gdb debuggers, IBM Full System Simulator, and Cell IDE
  • Understanding the Cell?s central processing core, the PowerPC Processor Unit (PPU): structure, programming libraries, and AltiVec instructions
  • Programming the Synergistic Processor Unit (SPU): vector processing, communication, caching, assembler coding, and more
  • Leveraging SDK vector and matrix libraries, including the Large Matrix Library, BLAS Library, FFT libraries, Multiprecision Library, and Monte Carlo API
  • Coding basic 2D graphics using the Linux frame buffer
  • Building 3D graphics with the new Gallium OpenGL library 
  • Constructing 3D games with Ogre3D and packaging them using Collada digital content interchange
  • Optimizing the performance of your Cell applications
  • Developing on standard PCs and transferring code to Cell systems such as the PlayStation 3

 

Foreword xv

Preface xvii

Chapter 1: Introducing the Cell Processor 1

Part I: The Software Development Tools 13

Chapter 2: The Cell Software Development Kit (SDK) 15

Chapter 3: Building Applications for the Cell Processor 35

Chapter 4: Debugging and Simulating Applications 53

Chapter 5: The Cell SDK Integrated Development Environment 83

Part II: The PowerPC Processor Element (PPE) 97

Chapter 6: Introducing the PowerPC Processor Unit (PPU) 99

Chapter 7: The SPE Runtime Management Library (libspe) 125

Chapter 8: SIMD Programming on the PPU, Part 1: Vector Libraries and Functions 153

Chapter 9: SIMD Programming on the PPU, Part 2: Methods and Algorithms 195

Part III: The Synergistic Processor Element (SPE) 217

Chapter 10: Introducing the Synergistic Processor Unit (SPU) 219

Chapter 11: SIMD Programming on the SPU 239

Chapter 12: SPU Communication, Part 1: Direct Memory Access (DMA) 285

Chapter 13: SPU Communication, Part 2: Events, Signals, and Mailboxes 317

Chapter 14: Advanced SPU Topics: Overlays, Software Caching, and SPU Isolation 345

Chapter 15: SPU Assembly Language 367

Part IV: Mathematics and Computation 409

Chapter 16: Vectors and Matrices 411

Chapter 17: The Fast Fourier Transform (FFT) 439

Chapter 18: Multiprecision Processing and Monte Carlo Methods 463

Part V: Graphics and Games 489

Chapter 19: Programming the Frame Buffer: Linux and the PlayStation 3 491

Chapter 20: OpenGL on the Cell: Gallium and Mesa 503

Chapter 21: Building Games with Ogre3D 529

Chapter 22: Packaging Graphics with COLLADA 559

Epilogue 581

Part VI: Appendices 583

Appendix A: Understanding ELF Files 585

Appendix B: Updating the PS3 Add-On Packages and Installing a New Linux Kernel 609

Appendix C: The Accelerated Library Framework (ALF) 617

Appendix D: SPU Instruction Set Reference 649

Appendix E: A Brief Introduction to Tcl 661

Index 669

 


Customer Reviews:

4 out of 5 stars powerful libraries for higher level coding

IBM's Cell is a very impressive processor and Scarpino's text gives tons of practical information about programming it. But there is some material that's a little outdated. In chapter 6, it speaks about Apple's Power Mac using IBM's PowerPC 970 in 2002. However, for the past few years, Apple has gone with the Intel processor family. This book came out in 2008 and perhaps the mention of the Power Mac is slightly dated.

A strong point about Cell is its SIMD functionality. When appropriate, it lets you garner vast performance by crunching parallel data streams. For certain matrix operations, including a lot of image processing, SIMD is valid, and if these are your main applications, it is well worth taking a close look at using Cell.

What IBM has also done with Cell is emplace sophisticated libraries that can be accessed at the C/C++ level. The crucial point is that you are not restricted to coding in assembler. The code examples are given in C/C++ to drive home this point. The libraries include a lot of matrix algebra that, as mentioned above, lets you use SIMD. So the standard matrix operations are well covered. And there is even a special case of handling 4x4 floating point matrices. Used for 3 dimensional contexts. More generally, BLAS is also available, which helps if you have legacy packages that use it.

5 out of 5 stars Great First Look into the Cell Processor

Though the book is great for those wanting to understand the Cell processor, it is not for beginners. As a game design student with some programming skill, I clearly do not follow my own advice. This minor detail, though, will not keep me from telling others of Mr. Scarpino's fine work.

Starting with the basic structure of the Cell processor, the book gives a brief introduction to the hardware's PPU/SPU setup and capabilities. After a few walkthroughs that setup workspaces, the book delves more into the operations of the processor's operations, how parts interact, etc. These chapters are invaluable to programming on a Cell-based system and each detail was fairly easy to absorb. Thanks to the author's great explanations, it almost never felt like I was reading a textbook or programming primer.

My only gripe is that the material from the middle of the book onward is a bit difficult to understand at times, even with the author's help. I cannot fault the book since it was made for more experienced programmers, but keep this in mind when shopping.

Other forms of documentation on the Cell Processor fail to live up to the detail, readability, and focus that this book provides. I did not fully grasp every concept my first time through, but I will definitely read again and recommend to others.

4 out of 5 stars Everything you ever wanted to know about the Cell

First and foremost, this is NOT a book for beginners. It's for experienced programmers who want to start working with the Cell processor. If that describes you, then you should buy this book immediately.

Every imaginable detail about the Cell is covered here. You'll learn how to write code, yes, but you'll also learn how that code works in terms of the Cell's physical architecture. This is crucial to understanding how best to harness the Cell's power. There are numerous diagrams and clear writing throughout, succinctly explaining what your code does and why it does it.

The book opens with a few chapters on setting up your work environment. This goes into great detail, walking you through installing Linux on a Windows PC or a Playstation 3 system, using gcc/make, acquiring and configuring the Cell SDK, debugging and simulating Cell applications, and setting up Eclipse and the Cell IDE. If you already know your way around Linux you'll be able to skip most of this, but if you're a Windows user (like me) this section will prove invaluable.

This is followed by in-depth technical discussions of the PPU (the Cell's primary processor) and the SPUs (the smaller, distributed processors at the heart of the Cell's power), how these communicate with each other, and how to optimize these communications. Sprinkled throughout are use cases for various functions in the Cell standard libraries; by the end of this section you should be able to program the Cell processor reasonably effectively.

While this book is focused on the Cell processor in general, it does recognize that perhaps the most ubiquitous application of the processor at present is the Playstation 3 system; to that end, the third and final section of the book is targeted at using the Cell processor for specifically game-related tasks: programming the frame buffer, using OpenGL, running the popular Ogre3D engine on the Cell, and using the COLLADA shared graphics file format and libraries. Depending on your focus, this section may or may not be useful, but either way its quality remains up to par with the rest of the book.

My only complaint is that the book's structure is not particularly conducive to use as a reference guide. That is, while it covers a significant portion of the Cell libraries and features, you can't just quickly look something up. The book's design seems to suggest a deep, initial read-through and then only occasional re-references thereafter. But perhaps supplementing it with the SDK's own documentation is sufficient. This is the only reason the book falls short of 5 stars for me, and of course your mileage may vary.

Overall, highly recommended for experienced programmers who want to start working with the Cell processor.


Customers who bought this book were also interested in:


The Art of Multiprocessor Programming


Professional Multicore Programming: Design and Implementation for C++ Developers (Wrox Programmer to Programmer)


Real-Time Rendering, Third Edition


Beginning iPhone Development: Exploring the iPhone SDK


Programming Erlang: Software for a Concurrent World

 

Find similar books by category...


Search for more:

Search books:  



Google
 
Web XMLwriter.net




Last updated: Thu Jan 8 12:10:41 CST 2009
© Wattle Software 2007. All rights reserved.