counters

goolge search

Tuesday, March 3, 2009

Programming the Cell Processor:For Games, Graphics, and Computation 1 Book Cased (Hardback)

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.



1) Mastering the Cell SDK, including the GCC-based buildchain, ppu-gdb/spu-gdb debuggers, IBM Full System Simulator, and Cell IDE
2) Understanding the Cell's central processing core, the PowerPC Processor Unit (PPU): structure, programming libraries, and AltiVec instructions
3) Programming the Synergistic Processor Unit (SPU): vector processing, communication, caching, assembler coding, and more
4) Leveraging SDK vector and matrix libraries, including the Large Matrix Library, BLAS Library, FFT libraries, Multiprecision Library, and Monte Carlo API
5) Coding basic 2D graphics using the Linux frame buffer
6) Building 3D graphics with the new Gallium OpenGL library
7) Constructing 3D games with Ogre3D and packaging them using Collada digital content interchange
8) Optimizing the performance of your Cell applications
9) Developing on standard PCs and transferring code to Cell systems such as the PlayStation 3

CPU scaling in games with quad-core processorsCPU scaling in games with dual & quad core processors

Each year the topic of CPU scaling comes to mind in relation to gaming. Especially when we see new processors enter the market time after time I ask myself again; how much influence do these new model processors actually have? There have been some dramatic changes over the past couple of years though as processor manufacturers have hit a hard brick wall. That wall being the incremental increase of the clock frequency, or moreover ... the lack of it. Somehow everything stops at 3200 MHz in the processor R&D segment and for years now the fastest clocked processors never have exceeded that magic number. Surely we overclock much higher and new records have been set at 4 and with LN2 sub-zero temperature cooling reaching 5 GHz, for us 'regular' consumers we stick at that 3.2 GHz frequency border.

Apparently it's difficult to get the hundreds of millions transistors clocked higher. Therefore in an attempt to divert that fundamental issue, a couple of years ago we saw the introduction of multi-core processors. See, it's way more easy to shrink the die-size of a processor than to get it faster clocked. Shrinking die's makes more room for other stuff. Moore's Law ceased to exist and became Moores laws (e.g. multiple). Multi-threaded computing was introduced. The problem to date however is simple .. right down to the source all software was never developed with multiple processor cores in mind, and though we see some applications being supported better, the one type of application you guys like the most, games, are very much hindered by this fact. 80% of the games currently available will only use one logical CPU core at best, perhaps add another 18% that finally does support two cores, and the remaining 2% uses multiple cores, ideally. These numbers do change when you look at the games released over the past 12 months though.

None-the-less the past year has been an interesting one, we've seen a strong development in gaming with multi-core CPU's, AMD released the B3 stepping of its Phenom quad-core and triple core processors while Intel is steadily shifting towards it's Penryn based 45nm processors. Two, three, four even 8 logical processor cores is now a viable option in the consumer market. Prices for an entry level quad core processor hover at 200-300 USD in the mainstream segment. Everybody is jumping the multi-core bandwagon, but guys ... quite honestly, the most value is still to be found in the mid-range dual-core processors.