Skip to Content
Programming the Cell Processor: For Games, Graphics, and Computation
book

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

by Matthew Scarpino
October 2008
Intermediate to advanced
744 pages
18h 21m
English
Pearson

Overview

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

    Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
    and much more.

    Read now

    Unlock full access

    More than 5,000 organizations count on O’Reilly

    AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

    QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
    Julian F.
    Head of Cybersecurity
    QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
    Addison B.
    Field Engineer
    QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
    Amir M.
    Data Platform Tech Lead
    QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
    Mark W.
    Embedded Software Engineer

    You might also like

    GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics

    GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics

    Randima Fernando
    OpenGL – Build high performance graphics

    OpenGL – Build high performance graphics

    Muhammad Mobeen Movania, David Wolff, Raymond C. H. Lo, William C. Y. Lo
    Linux® Kernel Primer, The: A Top-Down Approach for x86 and PowerPC Architectures

    Linux® Kernel Primer, The: A Top-Down Approach for x86 and PowerPC Architectures

    Claudia Salzberg Rodriguez, Gordon Fischer, Steven Smolski

    Publisher Resources

    ISBN: 9780137156115Purchase book