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