did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780136008866

Programming the Cell Processor For Games, Graphics, and Computation

by
  • ISBN13:

    9780136008866

  • ISBN10:

    0136008860

  • Edition: 1st
  • Format: Hardcover
  • Copyright: 2008-10-14
  • Publisher: Prentice Hall
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $74.99
We're Sorry.
No Options Available at This Time.

Summary

"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."--BOOK JACKET.

Author Biography

Matthew Scarpino lives in the San Francisco Bay area and develops software to interface embedded devices. He holds a masters in electrical engineering and has spent more than a decade in software development. His experience encompasses computing clusters, digital signal processors, microcontrollers, and field programmable gate arrays, but he loves programming the Cell processor most of all.

Table of Contents

Forewordp. xv
Prefacep. xvii
Introducing the Cell Processorp. 1
The Software Development Toolsp. 13
The Cell Software Development Kit (SDK)p. 15
Building Applications for the Cell Processorp. 35
Debugging and Simulating Applicationsp. 53
The Cell SDK Integrated Development Environmentp. 83
The PowerPC Processor Element (PPE)p. 97
Introducing the PowerPC Processor Unit (PPU)p. 99
The SPE Runtime Management Library (libspe)p. 125
SIMD Programming on the PPU, Part 1: Vector Libraries and Functionsp. 153
SIMD Programming on the PPU, Part 2: Methods and Algorithmsp. 195
Part IIIp. 217
Introducing the Synergistic Processor Unit (SPU)p. 219
SIMD Programming on the SPUp. 239
SPU Communication, Part 1: Direct Memory Access (DMA)p. 285
SPU Communication, Part 2: Events, Signals, and Mailboxesp. 317
Advanced SPU Topics: Overlays, Software Caching, and SPU Isolationp. 345
SPU Assembly Languagep. 367
Mathematics and Computationp. 409
Chapter 16p. 411
Chapter 17p. 439
Chapter 18p. 463
Graphics and Gamesp. 489
Programming the Frame Buffer: Linux and the Play Station 3p. 491
OpenGL on the Cell: Gallium and Mesap. 503
Building Games with Ogre3Dp. 529
Packaging Graphics with COLLADAp. 559
Epiloguep. 581
Appendicesp. 583
Understanding ELF Filesp. 585
Updating the PS3 Add-On Packages and Installing a New Linux Kernelp. 609
The Accelerated Library Framework (ALF)p. 617
SPU Instruction Set Referencep. 649
A Brief Introduction to Tclp. 661
Indexp. 669
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

Foreword ForewordThe Cell Broadband Engine Architecture (Cell/B.E.) defines a new processor structure that extends the 64-bit Power Architecture technology and incorporates unique features that support critical real-time response of highly parallel, computationally intensive code. The first implementation of the architecture has resulted in a single device of heterogeneous processors mixed with simultaneous multithreading and special computational "accelerator" cores for more performance and efficiency gains. The processor comprises a vector Power Processor Element (PPE) with two levels of cache and eight independent Synergistic Processor Elements (SPEs), each with its own multilevel storage organization. In addition to processor-level parallelism, each processing element has Single Instruction Multiple Data (SIMD) units that can process from 4 words up to 16 characters per processing cycle, and globally consistent Direct Memory Access (DMA) engines that provide a rich set of DMA commands for seamless communication between all Cell/B.E. processing elements. The dual thread, 64-bit PPE controls and runs the operating system, manages system resources, and coordinates work sent to the SPEs, while the SPEs are dedicated only to the compute thread and its data.Although the Cell/B.E. processor was initially intended for application in game consoles and media-rich consumer-electronics devices, a much broader use of the architecture is starting to emerge to handle streaming workloads found in today's applications across such industry segments as health care, life sciences, petroleum exploration, financial services, digital media, electronics, government, and education. To fully harness the power of Cell/B.E., developers need to use different programming models and to write multithreaded code that ensures the SPEs are well utilized and work is equally off-loaded across the SPEs.This book is the first commercially published book written for those who want to program the Cell/B.E. It provides comprehensive learning material for developing multithreaded code that allows an application structured for parallelism to execute much more efficiently on those SPE accelerators. It starts with the IBM Software Development Kit (SDK) for Multicore Acceleration Version 3.0, which consists of run-time tools (such as the Linux kernel), development tools, GNU toolchain, software libraries and frameworks, performance tools, a system simulator, sample source codes and benchmarks--all of which fully support the capabilities of the Cell/B.E. The book discusses the device's architecture, including the PPE vector processing unit, SPE SIMD capabilities, and DMA communication mechanisms. The book also details SPU programming and exploitation of SPU storage by software module overlay and software managed cache. It includes an in-depth section on libraries, ranging from the basic vector and matrix libraries to BLAS, MASS, FFT, and Monte Carlo libraries.Multicore processing is the future trend of the computing industry. Cell/B.E. offers a general-purpose, programmable multicore processor available to developers through high level programming languages such C/C++ and Fortran. However, in order to fully leverage the processor parallel capabilities, the application needs to be properly designed in both code and data. This book describes the processor in enough details and contains many practical code examples to get you off the ground to write your first Cell/B.E. application. Such experience should give you a competitive edge when working with other multicore systems, or as a foundation to work on Cell/B.E. homogeneous and/or hybrid clusters that are being deployed to support a wide range of high performance computing workloads.Duc J. Vianney, Ph. D. Technical Solution Architect 1 Education Lead--Cell/QUASAR Ecosystem & Solut

Rewards Program