For the same amount of logic, there's no way any other architecture can possibly outperform dedicated hardware.
The dedicated hardware is likely to make more efficient use of its bandwidth. Remember the guiding principle in texturing: 'assume you cache miss'. This is at the core of the design of all modern VPU's.zidane1strife said:Hmmm, what if the former(other) has far better memory, and b/w...For the same amount of logic, there's no way any other architecture can possibly outperform dedicated hardware.
Gubbi said:MfA said:Cell, Bluegene, Merrimac ... are these more like GPUs or modern CPUs? Personally I find them closer to GPUs.
I question the flexibility of Intel and AMD in making a 180 and leaving the safe path of concentrating on legacy applications. To compete with the likes of Sony (and GPUs) they will need to severely compromise serial performance, and I dont think they are ready for that.
I think they'll be ready if there's a market for it. Streaming architectures like Merrimac or CELL has yet to prove themselves in a market place. They have a limited set of applications to run, but those applications will fly like sh*t off a silver shovel.
Whether these architectures can compete against dedicated GPUs in the graphics market or against traditional CPUs in the general purpose market has yet to be seen. The optimist thinks they will outperform both. The pessimist that it will have, at best, mediocre performance in those fields.
Cheers
Gubbi
Not going to happen. Not realistically, anyway. CPU's have modular memory. Modular memory will never be as fast as fixed memory (i.e. the fact that you can't upgrade the memory on a graphics board means that there can be tighter tolerances on the memory, and therefore you get faster memory), and a general purpose CPU typically needs much more memory than a GPU, so the memory is typically much slower anyway.zidane1strife said:Hmmm, what if the former(other) has far better memory, and b/w...For the same amount of logic, there's no way any other architecture can possibly outperform dedicated hardware.
When did he state his timeline on CPU's taking over graphics?see colon said:the more i think about this the more i can't believe tim would believe this. given tim's timeline, he's expecting the world to move back to software rendering around the same time microsoft is releasing an os that requires hardware acceleration.
Well, this is very old stuff, nearly five years old. Obviously Tim Sweeney misread the market. He believed that triangle processing would accelerate more quickly than pixel processing, which is not the case. He, quite possibly, also believed that CPU's would advance faster than they have. CPU evolution is slowing down, and Moore's Law will be obviously broken within the next few years.see colon said:i posted this a few pages back, but i'll post it again in case anyone missed it. if longhorn come out in 2005/6 as is expected, it would be fairly close (about a year) away from when tim expects video hardware to become "a waste of silicon", except it'll be a requiorement for the worlds most popular os.
he also states that non-traditional rendering primatives (voxels, splines, ect) will comonplace, and i do see this happening but not on the cpu. as gpu's become more programable i'd imagine that they would begin supporting non-polygon primatives as well. in fact, doesn't dx10 (or maybe it was just ps3.0, don't remember exactly) has support for hardware acceleration of voxels?
c:
I don't think so. Here's what you quoted:see colon said:he actualy did a pretty decent job predicting shader use, t&l, ect. everything seamed to fall in line (within reason) to aprox. when he predicted. so as far as gpu's went his predictions were ok, but he misread the cpu market.
1999: Large triangles as rendering primitives, software T&L.
2000: Large triangles, with widespread use software-tesselated curved surfaces, limited hardware T&L.
2001: Small triangles, with hardware continuous tesselation of displacement-mapped surfaces, massive hardware T&L.
2002-3: Tiny triangles, full hardware tesselation of curved and displacement-mapped surfaces, limited hardware pixel shaders a la RenderMan.
2004-5: Hardware tesselation of everything down to anti-aliased sub-pixel triangles, fully general hardware pixel shaders. Though the performance will be staggering, the pipeline is still fairly traditional at this point, with straightforward extensions for displacement map tesselation and pixel shading, which fit into the OpenGL/Direct3D schema in a clean and modular way.
2006-7: CPU's become so fast and powerful that 3D hardware will be only marginally benfical for rendering relative to the limits of the human visual system, therefore 3D chips will likely be deemed a waste of silicon (and more expensive bus plumbing), so the world will transition back to software-driven rendering. And, at this point, there will be a new renaissance in non-traditional architectures such as voxel rendering and REYES-style microfacets, enabled by the generality of CPU's driving the rendering process. If this is a case, then the 3D hardware revolution sparked by 3dfx in 1997 will prove to only be a 10-year hiatus from the natural evolution of CPU-driven rendering."
agreedChalnoth said:Now, I do have to admit that it is highly disappointing just how slowly triangle processing has advanced. It is really far past time we had some robust higher-order surfaces support.
...many of the things he predicted were implemented in hardware around when he predicted they would be but never used either for software/hardware/political reasons.
2002-3: Tiny triangles, full hardware tesselation of curved and displacement-mapped surfaces, limited hardware pixel shaders a la RenderMan.
The major problem with floating point textures and pixel pipelines at the moment is that they do not implement what has become the essential features of the integer pipeline (texture filtering, antialiasing, etc.). This substantially limits their usefulness as a general pipeline for realtime 3d graphics. They are, however, very useful for offline work where filtering can be done in (shader) software and performance is not an issue. They are also currently useful for some specialized realtime pixel shaders.
With integers it is easy to implement a large amount of computation directly in hardware in parallel. Floating point requires far more transistors to implement. As a result, it makes no sense to dedicate all those transistors to fixed functions. Allocating all those transistors to floating point only makes sense if you make the pipeline programmable.
The problem is that while you might do dozens of operations in parallel in a single clock per pipe for integer vectors, you are generally limited to as little as one (or a few) for floating point.
This was a lesson learned long ago for other types of hardware. As soon as you increase the sophistication of the data types and the computations, direct hardware implementation is no longer feasible. You must rely on software. As soon as you do this the entire hardware design picture changes dramatically. It becomes extremely important to maximize frequency, data availability, and software computation parallelism to squeeze the most out of all those transistors in each pipe. Since you can perform far fewer operations per pipe per cycle, you must increase the number of cycles and the number of pipes dramatically.
In the future, I expect to see much more emphasis on frequency and the number of pipelines than in the past.
CPUs, however, only improve performance approximately linearly based on the same metric. This is because CPUs get most of their performance improvement from increased frequency and get very little additional benefit from increased transistor count. Additional transistors are usually allocated to more cache, larger buffers, etc. all of which offer only a few percent improvement.
3d graphics chips therefore improve in performance far faster than CPUs and most of this due to increased transistor counts.
The move from .15m to .13m should therefore provide (.15/.13)^3 or ~1.5 times the overall performance. However, the next generation of hardware will use higher precision computations which require a significant amount of extra transistors. To keep up with performance improvement expectations, 3d vendors will need to rely on some other techniques other than just process improvements. Those vendors that do a better job of this will fare better this generation. There are ways of course other than just process improvements to increase transistor count, and there are ways to improve performance other that just increasing transistor count such as memory bandwidth improvements and reducing the amount of computation needed.
True, but such predictions must be made by game engine developers. In this sense, Tim Sweeney didn't do as good of a job predicting the direction of hardware development as John Carmack did.Ailuros said:IMHO predictions that go that far into the future are more than just unsafe, because it's fairly impossible to encount/foresee all factors and all possible changes that might occur and play a significant role.
Current hardware can render extremely complex pixel shaders. But you're right, the software is lagging, as it always has.see colon said:i don't really consider the pixel shaders we have today "very good".
see colon said:right, software does always lag behind hardware. but in this case, games with just a few shaders bring even the fastest hardware down from screamingly fast to just acceptable levels. take halo, for example. it's probly the most shader intensive fps available today, and performance is an issue on pretty much any hardware. read any review or gaming hardware forum and you'll find mention of it.