Software/CPU-based 3D Rendering

Relative to the closest SB LV Xeon I could find, the E3 1260L has 3.4 GF/W, which shows low-power scaling by a factor of ~2.7.

The upper desktop range shows going from 2700K to 4700K yields an improvement of ~2.3x.
 
I'm saying that all graphics should be done on the CPU. That's a pretty ingenious program.

So graphics should not be done on a chip that is designed from the ground up to render graphics?

When you say complexity is better, I'm guessing you mean something like ray tracing, but even that is moving to the GPU.
 
The future of 3D rendering:

  • Fast - 4 ghz
    Complex - out-of-order instruction dispatch, massive caches
    Not massively parallel - 12-24 cores

With that many cores you're only good at running parallel code. See the Intel Xeon Phi which competes not against the Opteron, but the Nvidia Tesla.
 
So graphics should not be done on a chip that is designed from the ground up to render graphics?
No. For the same reasons that Ageia no longer has a PhysX chip designed from the ground up to do physics. There's a point where hardware specialization just adds costs, and inhibits innovation.

Also, "graphics" is an incredibly wide topic. Both the Voodoo and GeForce Titan are chips designed from the ground up to render graphics, but obviously very different kind of graphics. In ten years from now, graphics could just be synonymous with computing, and a homogeneous chip that can extract high levels of ILP, TLP and DLP can take care of that better than something designed for the narrow definition of graphics we have today.
 
As I understand it, raytracing is massively data access limited. So the CPU feels nice with its massive L2 and L3 caches (and even possibly L4, which is kind of what the i7 4770R has)

But the GPUs get better at that maybe, see unified L2 on Fermi and Kepler, slowly increasing or moving in weird steps : 768K on GF100, 128K on GF108, 512K on GF104, 512K on GK104, 256K on GK107, 1536K on GK110, 512K on GK208. Well NV seems to be putting a floor on it at least.
I wonder if they will quadruple it?, and whether that allows to do new things.

Or maybe we should think about the CPU+GPU architectures like Kaveri and if confirmed, PS4 (dunno if Xbone is lacking some glue)
Now instead of choosing between CPU and GPU, you have both! So you can mix "branchy" and "streamy" code at will and techniques only doable or useful on software rendering will become possible, while still using a GPU.
I think NV will move there too (with ARMv8 + GPU) and Intel will maybe do Xeon + Xeon Phi on a single die, then move than to Core i3/i5/i7 and Pentium, Celeron. Maybe with a gaming performance sacrifice (like Larrabee getting 30% of a contemporary GPU, perhaps less severe) ; I can imagine them aiming for game performance stagnation (in regular DX9 and DX11 games that is) when transitioning from GPU to Xeon Phi successor. Sort of like the low performance of 8600GT and HD2600. They would rely on their increasing advance in process tech.

The sad thing is you don't quite have the universality of software rendering or even OpenGL/DX11, seems like you will either develop for one company's products (similar to doing CUDA-only today) or use some middleware like OpenCL and have a subset of the features and random performance at times. Or some gnarly mix of OpenCL or other + DX12 or OpenGL 5.0, if that makes sense?

What about doing a franken app that uses an AMD APU, Xeon Phi and nvidia GPU. That sounds cool, and incredibly stupid I know (like a couple hundred people will be able to use it) but I wonder if we're going to have some stupid things like that. If you want to run software made for APU and software made for CUDA (Kepler or Maxwell level) on the same computer you will need to get a PC with a Kaveri and Maxwell.
 
Last edited by a moderator:
Ageia struck me as a company whose primary purpose was to impress somebody enough to buy them.
It never had the pull or compelling case to insinuate itself as a third wheel in the CPU/GPU game system.

What little was disclosed about the hardware showed a very aggressive for the time on-die messaging interconnect and more modest granular issue capability that neither GPUs nor CPUs are really close to fitting.
I don't know enough about the design or their vision then to know if today's architectures are really where they wanted to be.
This wouldn't be the only time I've seen some discussion about the desire for more esoteric functions or instruction/execution methods that don't fit down the ever-widening SIMD paradigm. I'm trying to find some of John Carmack's discussion about some of his ideas for alternate rendering methods from years back which discussed this.
 
I remember someone wanted to introduce a hardware dedicated card for A.I., just like Ageia with physics.
But that would have meant extra $$ for an additional component.
Both physics and A.I. on discrete didn't live because the benefits weren't there.
When audio was took away from discrete cards with Microsoft's X-Audio the majority didn't riot; on the contrary because it just saves them money.
Same story if Intel/AMD finally makes CPUs with good enough graphics performance to take away from the market all the chips up to 200 mm2.
It doesn't matter if the 3-500 mm2 chips will still always be unreachable for CPUs, because they will be in the next 2 generations.
 
Nick said:
No. For the same reasons that Ageia no longer has a PhysX chip designed from the ground up to do physics.
You mean we shouldn't do graphics on a chip designed to do graphics because nvidia bought the company ?
You missed the point. It's not about the company disappearing, it's about the dedicated chips disappearing. They disappeared because of cost and because physics calculations merely consist of various arithmetic formulas. This is just generic computing, which can be handled by a CPU or a highly programmable GPU. Any kind of hardware specialization for certain types of physics calculations would create limitations that hamper innovation.

The same thing is happening with graphics. Vertex and pixel processing unified into generic programmable computing. The rest of it is also becoming programmable. NVIDIA's project Echelon doesn't even mention any fixed-function hardware, and yet they call it a GPU. Their only focus is generic computing. Also note how much cache it has versus a CPU.

Floating-point shaders are hardly the most efficient way to implement legacy graphics operations. OpenGL ES 2.0 is a step back in terms of pixels/Watt over ES 1.1, but even in the power restrained mobile market everyone's pushing ahead with ES 3.0 and beyond. Computing is cheap in comparison to moving data around (hence the growing caches), and people want the versatility that comes with programmability. There's no point in scaling performance without also expanding the possibilities of what you can do with it.
 
No. For the same reasons that Ageia no longer has a PhysX chip designed from the ground up to do physics. There's a point where hardware specialization just adds costs, and inhibits innovation.

Ageia no longer has PhysX because Nvidia bought them. And the PPU was redundant from the beginning because GPUs were already good at physics. CPUs aren't good at graphics.
 
You missed the point. It's not about the company disappearing, it's about the dedicated chips disappearing. They disappeared because of cost and because physics calculations merely consist of various arithmetic formulas
All any processor can do is various arithmetic functions. PhysX cards filled a niche because compute shaders didn't exist back then.
OpenGL ES 2.0 is a step back in terms of pixels/Watt over ES 1.1,

If you aren't using shaders, then you've missed the point of ES 2.0.
 
Ever since Intel found out we were never going to hit 10GHz, they started pushing out 2, 4, 8-core CPUs. That's parallel computing.

Physics, video, AI, graphics, scientific simulations, and pretty much anything requiring a fast processor all run better on a GPU. I think in 20 years, computers won't have CPUs at all.
 
Back
Top