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

Matthew Scarpino

  • 出版商: Prentice Hall
  • 出版日期: 2008-10-24
  • 定價: $2,460
  • 售價: 8.0$1,968
  • 語言: 英文
  • 頁數: 744
  • 裝訂: Hardcover
  • ISBN: 0136008860
  • ISBN-13: 9780136008866
  • 相關分類: 遊戲設計 Game-design
  • 立即出貨

買這商品的人也買了...

商品描述

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

 

商品描述(中文翻譯)

充分利用IBM突破性的Cell處理器在任何遊戲、圖形或科學應用中

IBM的Cell處理器提供了令人驚嘆的計算能力,足以滿足最苛刻的遊戲玩家和圖形開發人員的需求。這就是為什麼索尼選擇Cell來驅動其突破性的PlayStation 3,以及為什麼Cell處理器成為當今最強大超級計算機的核心。但是,許多開發人員一直在努力創建高性能的Cell應用程序,因為他們所需的實用、一致的信息根本不存在。

《Programming the Cell Processor》解決了這個問題。無論您是遊戲開發人員、圖形程序員還是工程師,Matthew Scarpino都會向您展示如何創建充分利用Cell所有非凡能力的應用程序。Scarpino涵蓋了從Cell的先進架構到其強大的工具和庫的所有內容,並提供了實際的代碼示例,幫助您逐漸深入且直觀地理解Cell開發。

Scarpino闡明了Cell最重要的技術創新,介紹了訪問其能力所需的命令,並引導您完成整個開發過程,包括編譯、鏈接、調試和模擬代碼。他還提供了三個特別重要的Cell應用程序(遊戲、圖形和科學計算)的從頭到尾的案例研究。Cell平台具有前所未有的潛力,而本書將幫助您充分利用它。

本書涵蓋的主題包括:
- 掌握Cell SDK,包括基於GCC的構建鏈、ppu-gdb/spu-gdb調試器、IBM全系統模擬器和Cell IDE
- 理解Cell的中央處理核心,即PowerPC處理器單元(PPU):結構、編程庫和AltiVec指令
- 編程協同處理器單元(SPU):向量處理、通信、緩存、組合語言編碼等
- 利用SDK的向量和矩陣庫,包括大型矩陣庫、BLAS庫、FFT庫、多精度庫和Monte Carlo API
- 使用Linux幀緩衝區編寫基本的2D圖形
- 使用新的Gallium OpenGL庫構建3D圖形
- 使用Ogre3D構建3D遊戲,並使用Collada數字內容交換進行打包
- 優化Cell應用程序的性能
- 在標準PC上開發並將代碼轉移到Cell系統,如PlayStation 3

前言 xv
前言 xvii
第1章:介紹Cell處理器 1
第I部分:軟件開發工具 13
第2章:Cell軟件開發工具包(SDK) 15
第3章:為Cell處理器構建應用程序 35
第4章:調試和模擬應用程序 53
第5章:Cell SDK集成開發環境 83
第II部分:PowerPC處理器元件(PPE) 97
第6章:介紹PowerPC處理器單元(PPU) 99
第7章:SPE運行時管理庫(libspe) 125
第8章:PPU上的SIMD編程,第1部分:向量庫