Game Development Reference
In-Depth Information
-3-
Broad Phase and Constraint
Optimization for PlayStation R 3
Hiroshi Matsuike
3.1
Introduction
The Cell Broadband Engine TM (Cell/BE) is a heterogeneous multi-core processor
installed in PlayStation R
3 as its CPU. Because of this structure, Cell/BE de-
mands that programmers take advantage of parallel computation to draw on its
vast computational power. However, many existing codes that have been used by
game developers are made for serial computation. So it is difficult to get better
performance if we simply port existing codes to Cell/BE.
Rigid-body simulation has several stages, such as broad phase, collision de-
tection, constraint solver, and integration. In these stages, it is easy to parallelize
collision detection and integration because there aren't any dependencies between
the data. On the other hand, it is difficult to parallelize broad phase and constraint
solver. First, we describe the basic approach of how to optimize for Cell/BE
and then focus on optimization of broad phase and constraint solver. Some opti-
mization techniques showed in this chapter will also be useful for other general
programs, such as ray casting or particle simulation. In this chapter, we describe
how to draw on the power of the Cell/BE processor through optimizing the rigid
body simulation.
3.2 Overview of Cell/BE
The Cell/BE is a multi-core processor composed of one power processing unit
(PPU) and eight synergistic processor units (SPUs) in one chip (for PlayStation R
3,
available SPUs are seven out of eight because of improving chip yields). The
PPU is designed to handle general-purpose operation such as system control or
handling SPUs. On the other hand, an SPU is designed to perform a single-
instruction multiple-data (SIMD) program effectively, such as image processing
 
Search Nedrilad ::




Custom Search