Debugging IBM Cell Broadband Engine Programs
The IBM Cell Broadband Engine is a heterogeneous computer having a PPE (­PowerPC Processor Element) and eight SPEs (Synergistic Processor Elements). Debug Cell programs in the same way as programs running on other architectures.
 
Figure 240 – Cell Architecture
Of course, the way in which these programs are loaded and execute mean there are a few differences. For example, when a context is created on an SPU (Synergistic Processor Unit), this context is not initialized; instead, resources are simply allocated. This empty context is visible, but there are no stack traces or source displays. No equivalent to this exists on other architectures that TotalView supports. At a later time, the PPU (PowerPC Processor Unit) will load an SPU image into this context and tell it to run.
In all cases, when you focus on a PPU thread, only the PPU address space is visible. Similarly, when you focus on an SPU thread, the address space of that SPU thread is visible.
TotalView looks at the executing program in a slightly different way. Figure 241 shows how TotalView models the processes running on the Cell.
 
Figure 241 – A Cell Process
 
TotalView separates the PPU address space from that of each SPU. The PPU has its own image. In addition, it uses pthreads to launch SPU contexts. TotalView manages each context individually. This structuring lets you see the PPU and each SPU separately. For example, you can switch from one to another by diving on it in the Root Window.