Multicores in 3D
GPUs are dedicated processors that perform 3D graphics rendering. GPU manufactures are in a frenzy to deliver the latest technology that accelerates performance at a lower cost while still delivering high-end 3D graphics. Maybe this is something to think about. Maybe not. I do.I do a lot while trying to apply all this parallelism, threads, multicores, and ICOT stuff to a realtime embedded software visualization subsystem. I require GPUs to support OpenGL and make Blender blend seamlessly. Although I have a number of systems I can work on at Ctest Labs, I prefer the Mac and HP laptop. Both uses ATI Radeon technology with hardware support for OpenGL, the Mac has a ATI Radeon HD 2400. The Radeon HD 2400 is a graphics cards with one onboard single core GPU although it has CrossFire Multi-GPU Technology which means I can upgrade to 2 or more. The ATI Radeon Xpress 200 in the HP is an IGP. But for heavy lifting, I have access to the CBE with its "Reality Synthesizer". This graphics technology developed by Nvidia and Sony for the PS3 is a beast by any standard.
But what about the new stuff, just curious. Some of the most popular approaches to GPU technology are IGP (Integrated Graphics Processors). Another approach is to utilize multicore technology and have GPUs and CPUs on the same die. The CPU actually has embedded graphics circuitry. Both have there advantages and disadvantages. What's interesting is the goal is to have performance at the same level as graphics cards with onboard GPU.
All this tech is great! What I want to know is how does multicores affect the parallelism of the graphics pipeline? How can I optimally utilize multicores in the rendering process?