Nvidia's Chief Scientist on the Future of the GPU
teh bigz writes "There's been a lot of talk about integrating the GPU into the CPU, but David Kirk believes that the two will continue to co-exist. Bit-tech got to sit down with Nvidia's Chief Scientist for an interview that discusses the changing roles of CPUs and GPUs, GPU computing (CUDA), Larrabee, and what he thinks about Intel's and AMD's futures. From the article: 'What would happen if multi-core processors increase core counts further though, does David believe that this will give consumers enough power to deliver what most of them need and, as a result of that, would it erode away at Nvidia's consumer installed base? "No, that's ridiculous — it would be at least a thousand times too slow [for graphics]," he said. "Adding four more cores, for example, is not going anywhere near close to what is required.""
Pretty good read; interesting that this guy is talking to press a lot more:
http://www.pcper.com/article.php?aid=530
Must be part of the "attack Intel" strategy?
Everything will be integrated into one chip, and we will call it the PU.
From TFA> The ability to do one thing really quickly doesn't help you that much when you have a lot of things, but the ability to do a lot of things doesn't help that much when you have just one thing to do. However, if you modify the CPU so that it's doing multiple things, then when you're only doing one thing it's not going to be any faster.
David Kirk takes 2 minutes to get ready for work every morning because he can shit, shower and shave at the same time.
There wasn't a horizon given on his predictions. What he said about the important numbers being "1" and "12,000" means consumer CPUs have about, what, 9 to 12 years to go before we get there? At which point it'd be foolish /not/ to have the GPU be part of the CPU. Personally, I think it'll be a bit sooner than that. Not next year, or the year after; but soon.
Those who fail to understand communication protocols, are doomed to repeat them over port 80.
... core processor? I don't understand the author's logic. Now, suppose it's 2012 or so and multiple core processors have gotten past their initial growing pains and computers are finally able to use any number of cores each to their maximum potential at the same time.
A logical improvement at this point would be to start specializing cores to specific types of jobs. As the processor assigns jobs to particular cores, it would preferentially assign tasks to the cores best suited for that type of processing.
truthfully only real application for the gpu/cpu hybrid would be in laptop use where they can get away with using lower end gpu chips
The more Nvidia gets sassy with Intel, the closer they seem to inch toward VIA.
This has been in the back of my mind for awhile... Could NV be looking at the integrated roadmap of ATI/AMD and thinking, long term, that perhaps they should consider more than a simple business relationship with VIA?
Your mind is clear / The things that you fear / Will fade with how much you / Believe what you hear
There's the sun reflecting off the cars, there's the cars reflecting off each other, there's me reflecting off the cars. There's the whole parking lot reflecting off the building. Inside, there's this long covered walkway, and the reflections of the cars on one side and the trees on the other and the multiple internal reflections between the two banks of windows is part of what makes reality look real. AND it also tells me that there's someone running down the hall just around the corner inside the building, so I can move out of the way before I see them directly.
You can't do that without raytracing, you just can't, and if you don't do it it looks fake. You get "shiny effect" windows with scenery painted on them, and that tells you "that's a window" but it doesn't make it look like one. It's like putting stick figures in and saying that's how you model humans.
And if Professor Slusallek could do that in realtime with a hardwired raytracer... in 2005, I don't see how nVidia's going to do it with even 100,000 GPU cores in a cost-effective fashion. Raytracing is something that hardware does very well, and that's highly parallelizable, but both Intel and nVidia are attacking it in far too brute-force a fashion using the wrong kinds of tools.
The pattern set by the whole CPU / Math Co-Processor integration showed the way. For those old enough to remember, once upon a time the CPU and Math Co-Processor were separate socketed chips. Specifically you had to add the chip to the MOBO to get math functions integrated.
The argument back then is eerily similar to the same as proposed by NV chief, namely the average user wouldn't "need" a Math Co-Processor. Then came along the Spreadsheet, and suddenly that point was moot.
Fast forward today, if we had a dedicated GPU integrated with the CPU, it would eventually simplify things so that the next "killer app" could make use of commonly available GPU.
Sorry, NV, but AMD and INTEL will be integrating GPU into the chip, bypassing bus issues and streamlining the timing. I suspect that VIDEO processing will be the next "Killer App". YouTube is just a precursor to what will become shortly.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
Despite what some major 3D game engine creators have to say if real-time ray tracing comes sooner than later, at about the time an eight core CPU is common, I think we might be able to do away with the graphics card especially considering the improved floating point units going in next gen. cores. Consider Intel's QuakeIV Raytraced running at 99fps at 720P on a dual quad-core Intel rig at IDF 2007. This set-up did not use any graphic card processing power and scales up and down. So, if you think 1280x720 is a decent resolution AND 50fps is fine you can play this now with a single quad-core processor. Now imagine it with dual octo-cores which should be available when? Next year? I hazard 120fps at 1080P on your (granted) above average rig doing real time ray tracing some time next year IF developers went that route AND still playable resolutions and decent fps with "old" (by that time) quad-cores.
'He was a dreamer, a thinker, a speculative philosopher... or, as his wife would have it, an idiot.' - Douglas Adams
Moving to a combined CPU/GPU wouldn't obsolete NVidia's product-line. Quite the opposite, in fact. NVidia would get to become something called a Fabless semiconductor company. Basically, companies like Intel could license the GPU designs from NVidia and integrate them into their own CPU dies. This means that Intel would handle the manufacturing and NVidia would see larger profit margins. NVidia (IIRC) already does this with their 3D chips targeted at ARM chips and cell phones.
The problem is that the GPU chipset looks nothing like the CPU chipset. The GPU is designed for massive parallelism, while CPUs have traditionally been designed for single-threaded operation. While CPUs are definitely moving in the multithreaded direction and GPUs are moving in the general-purpose direction, it's still too early to combine them. Attempting to do so would get you the worst of both worlds rather than the best. (i.e. Shared Memory Architecture )
So I don't think NVidia's chief scientist is off on this. (If he was, we'd probably already see GPU integration in the current generation of game consoles; all of which are custom chips.) The time will come, but it's not here yet.
Javascript + Nintendo DSi = DSiCade
Only Amiga made it possible! (Thanks to custom chips, not in spite of them.)
It doesn't seem likely that one generic item would be better at something than many specific ones. Sure CPU+GPU would just be all in one chip but why would that be better than many chips? Maybe if it had RAM inside aswell and that enabled faster FSB.
Even taking a small subset of the market:
8600GT, 8800GT, 8800GTS, 6600, 6700, 6800
Six products sit on shelves. Users buy what they want. As a competitor to say the 8600GT comes out, Best Buy has to discount one product line.
To give users the same choices as an integrated solution, that'd be 9 variants:
8600GT/6600 - Budget
8600GT/6700 - Typical desktop user
8600GT/6800 - Photoshop user/media encoder
8800GT/6600 - Poor gamer
8800GT/6700 - Mid range gamer
8800GT/6800 - Serious desktop user who likes to game
8800GTS/6600 - Exclusive but somewhat poor gamer
8800GTS/6700 - Gaming enthusiast
8800GTS/6800 - Hardcore power gamer/3D Modeller
Most users are now left scratching their heads as to whether the similarly priced 8600GT/6800 or the 8800GTS/6600 is better or worse for them than the also similarly priced 8800GT/6700.
Plus, every time one part of the market is perceived as less valuable, the stores have to price many different skus.
Now add in the gamer who bought a $200 GPU and a $300 CPU a little while before a great new mid range GPU option turns up. They can toss their $200 investment which sucks but that's probably it when it comes to upgrading. Or the guy who bought the $450 (we'll grant a small discount for single purchases) combined unit now has to toss both. Plus he most likely has to buy a new motherboard and memory because memory speed requirements and processor sockets change faster than Britney Spears' moods can swing.
Nvidia makes SIMD (single instruction, multiple data) multicore processors...
That is untrue. The Nvidia cuda environment can do MIMD. I don't know the granularity, or much about it, but you don't have to run in complete SIMD mode.
I think a better question is "Why wouldn't we have a separate multi-core GPU along with the multi-core CPU?" While I agree that nVidia is obviously going to protect it's own best interests, I don't see the GPU/CPU separation going away completely. Obviously there will be combination-core boards in the future for lower-end graphics, but the demand on GPU cycles is only going to increase as desktops/games/apps get better. However, one of the huge reasons that video cards are a productive industry is that there are plenty of high-end graphical demands out there, from hardcore gamers to Autocad applications. Ever seen the number of cycles/graphical processesing power it takes to run a digital 911 map? Unbelievable!
;-)
Seriously, if there is anything that history has taught us, it's that there's room for the integrated (low-end) and dedicated (high-end) graphics at the same time, as they server different niches.
Oh, and never get involved in a land war in Asia
Modern real-time ray tracers can get respectable performance without doing any sort of GPU-hybrid trickery, or requiring any hardware other than a fast CPU. For instance, try out the Arauna demo. (Dedicated ray-tracing hardware would be nice, but I'm not aware of any hardware implementation that has significantly outperformed a well-optimized CPU ray tracer. With the resources of a major chip manufacturer I don't doubt it could be done, though.) Arauna and OpenRT and the like might still be a little too slow to run a modern game at high resolution, but they're getting there fast.
This is just plain ignorant. Naive, O(n^2) radiosity may take that long, or path tracing with a lot of samples per pixel, but a decent photon mapping algorithm shouldn't be anywhere near that slow to produce a rendering quality acceptable for games. Maybe "hundreds of seconds" might be a more plausible number. (Or less, if you're willing to accept a less accurate approximation.) Metropolis Light Transport is another algorithm, but I don't have a good notion of how fast it is.