Intel rep says people "probably won't" need discrete graphics in the future
Intel's already made some fairly bold promises at its Intel Developer Forum in Shanghai this week, and it now looks like it's getting into the prediction game as well, with one representative from the company telling TG Daily that people "probably won't" need discrete graphics cards in the future. That word comes from Intel Graphics and Gaming Technologist Ron Fosner, who was showing off a graphics demo running on a multi-core Nehelam system that, as you can see in the video at the link below, likely won't have NVIDIA or AMD rethinking their strategy just yet. Fosner also curiously looked to the past to back up his argument, saying that "if you look back into the mid 80's, there were no discreet graphics cards." Of course, all of this is all the more puzzling given that Intel is itself dabbling in discrete graphics with its Larrabee project, albeit under the guise of a CPU / GPU hybrid.






















AMD's had onboard memory controllers, Intel is adding them soon, so latency is not an issue (your "far away"). You talk about the need for 2Ghz ram, but PC's already have 1.6GHz ram, so thats not outlandish. The difference is GPU's have a much wider pipe, for every cycle they send far more data. This is called the bus width. DDR3 PC1333 is 1.3GHz and provides 12.8GB/s, whereas an entry level graphics card is nearly 60GB/s of data, even though they only run 1.4GHz. data transfered = speed * bus width, and GPU is king (256 or 512 bit v. 64 bit).
The xbox360 has a shared ram but its significantly faster than most PC's, 22GB/s. It also has 10MB of special purpose extremely fast eDRAM that runs 256GB/s, which gives it a fast "working area," but rest assured most of the graphical content in your game get stored on that shared ram. Source: http://en.wikipedia.org/wiki/Xbox_360_hardware#Memory_and_system_bandwidth
Oh and seeing that the 360 doesnt even come close to an ancient 7800GTX in terms of image quality and ingame graphics, shared = FAIL.
Kurian:
When the Xbox 360 was being designed the 7800GTX wasn't out yet.
And a 7800GTX cost more than an Xbox 360.
Not taking into account the relative cost of solutions: fail.
Why not have discrete graphics? Is it not more efficient to have a microprocessor designed to do graphics than a general purpose microprocessor? A dedicated GPU will always be faster than the same generation [general purpose] CPU.
We have dedicated chips for sound for the same reason. Does anyone else remember when Intel claimed you wouldn't need those and fell on their face. Remember Intel's claims that they would get rid of ethernet chips? Intel repeatedly fails to realize that just because you can use a general purpose CPU for any specific task, doesn't mean that you should.
That aside, the day Intel makes a graphics chip set that doesn't completely suck is the day they will have a tiny amount of credibility with me in that department.
(Even in the 1980s, there were high end discrete graphics cards.)
Because intel's never invested anything into 3d acceleration. They had to license PowerVR tech for their Atom processor's 3d, and their integrated graphics are a joke.
so, something that takes 150 Watts to do right now...they are gonna replace in a couple years? unlikely.
I agree completely. It's still to think people will switched to integrated. I mean, the onboard systems have awful output, chew up my CPU and besides, Quake 2 uses EAX to make awesome 3D sound.
Why would anyone want to use stupid onboard audio?
Most people DON'T need a discrete graphics solution. OS X, various Linux distros, and Windows XP all run perfectly fine on integrated graphics. Vista maybe not so much, but it's perfectly usable for basic internet browsing and word processing - the things that 99% of PCs are used for. The other 1% will always want discrete, since 3D gaming will always be ahead of the curve in graphics.
You mean DISCRETE, not DISCREET.
Discrete means separate...discreet means subtle or secret.
I don't mind commenters' spelling mistakes, but it drives me nuts when paid bloggers can't spell.
Okay, that was a little harsh, but I see people making that mistake way too often. :) Love you, Engadget.
Yes... I agree. I camw to this thread looking for some "discreet" ...ummm... graphics. Man, was I bummed.
Seriously though, it took me awhile reading through the comments to get what the heck this article was talking about. If they had spelled it correctly, I would have been able to ascertain "seperate" alot quicker.
@eric
camw? holy spelling mistake from a spelling Nazi batman!!!
I don't know what camw means and so i cant seem to comprehend what you are trying to say in your comment. That being said, I really don't want to figure out what you are saying by pondering upon camw for the next half an hour!
You my good sir, with all due respect, FAIL!
@y3k.nik:
Uhhh... I'm a commenter, they (Engadget) are the _paid_ writers. But hey, if it helps your self-esteem, disregard that logic and take a few more swings. I'm here for you at my expense; anything to help you grasp some manner of worthiness out of the hell-hole of your existence.
BTW, to others who geniunely wondered why discreet and discrete caused me problems: I never heard of out-board cards like a video card talked about being "discrete"... but then again, I could have and just forgotten it. And since Engadget originally used "discreet" (which they have now changed), it threw me for a loop as to excatly what "discreet graphics" were. No spelling nazism involved.
His comments actually makes sense, the problem is how many years.
You see, once upon a time, you need a MPEG Acceleration Card, you need a hardware modem, you need a Sound Blaster, you need a 3D acceleration card on top a 2D one; now all you need is a Intel CPU and an all-in-one logic board.
You see more and more people’s need is actually being able to be fulfilled by integrated chipsets.
With CPU gaining all those new features and GPU being able to a lot more things like Folding@Home, the boundary between the two will get blurred.
In some days, technological improvement will enable a processing unit to do both good enough for most people. In that sense, it will still be called as CPU as that chip is essentially the “Central Processing Unitâ€
Sure, there will still be dedicated Graphic Processing Unit, as there are still dedicated sound card, hardware modem, and etc. But those would be for the high-end specialized market, the integrated units are good for the mass.
depends on what you are asking for. everything you've mentioned except graphics has a fixed upper limit. once you can run 1080P video you will never go higher. you will never go higher than 192kHz 24bit sound output. your modem will never run more than 56k. the reason these were pushed to the CPU is because it had enough cycles to run these operations, because putting them on the cpu would not slow or restrict functionality.
graphics on the other hand is extremely demanding and expectations continue to rise. we would lose immense performance using a general purpose computer for 3d graphics, and as we continue to expect better and better, it currently makes no sense to put those tasks on the CPU.
If anything, I simply expect the CPU to subsume what a GPU does. The cpu will lose its cpu'ness and become a GPU. GPU's are king of stream processing, and I expect similar architectural changes from the CPU. This is what Larabee is about, 80 extremely simple processors, the exact same way as ati graphics cards have 320 very simple processors. The only problem is Larabee is going to run Firefox and OpenOffice like its submerged in blackstrap molasses.
Is this anything like the rambus memory prediction?
"if you look back into the mid 80's, there were no discreet graphics cards."
Ummm, yes, yes there were. All the Commodore, Atari, and Apple computers had discrete graphics chips. And the IBMs & compatibles had plug-in VGA cards.
I wouldn't see a need for a GPU if we could get better raytracing results. raytracing is amazing, it provides the best looking scenes, but at the cost of speed...depending on the system and the scene, it can take up to several hours to render a high res image.
Im no cpu expert...but if you have an 8 core CPU, why can't 2 be dedicated to GPU?
The problem of computer graphics scales differently than general purpose calculations because many of the calculations can be done in parallel. CPU parallelization usually means simultaneous multi threading (hyperthreading) or SMP.
Graphics cards are good at the type of matrix multiplication and parallelization that is involved in rendering a scene with a 3d algorithm. For example the Geforce 8 has 128 stream processors that each run at 1.35 GHz/second. They also have their own memory for textures, frame buffer, Z buffer.
The Xbox 360 can run 6 threads simultaneously on it's 3 cores, and it still has a graphics chip. The PS3 originally planned to do graphics calculations in the Cell but they decided fairly late in the design to add a graphics chip.
I found this interesting because I'm actually a time traveler from the future. And yes, up until the machines took over we had some pretty sweet rigs that didn't require discrete graphics cards.
yeah, until nvidia comes up with a GPU with CPU in it.
it's snarky mad libs!! fill in the blanks:
back in the time of (time era) there was no (piece of technology) therefore, we won't need (related piece of technology) in (time in the future)!
still, to play devil's advocate, intel is probably right. perhaps not in the immediate future, but if the CPU, GPU, and memory all were somehow made together, there wouldn't be a bus/memory bottleneck.
so in reality, the comments about how "we won't need discrete GPUs in the future" sound more like "we won't need more than 640K of RAM".
Isn't the poor Intel integrated graphics what got Microsoft in trouble for "Vista capable"? I find it funny that Intel integrated graphics at that time couldn't run Aero, but the integrated graphics tomorrow will run all the high-end games. LOL!
I have had it with arrogant companies telling me what I do or don't need. Since I have the money and you have the product, how about I tell you what I need, and you can just shut up and sell it to me.
I predict that Intel will retract this statement and punish that guy for saying it.
NO COOKIE FOR YOU THIS WEEK!
keep in mind that there are certain things that gpus aren't good at. read up on ray traced quake. rasterisation is a horribly efficient and imperfect way to display graphics. that's what gpus are good at.
ray-traced graphics look good and more accurate than rasterized images. i think they got reasonable fps on 32 old cpus ... just imagine what the future holds.
Horribly efficient? How is that a bad thing? Z-buffering is used because it gets you a pretty good looking scene at a low cost compared to other algorithms.
Do you want perfect graphics that run at 0.2 frames/second? Or do you want darn good looking graphics that run at 60 fps? Even as raytracing improves, what you get "for the money" will be better with Z-buffering for a while.
Don't take my word for it, read what Carmack has said on the issue:
you bring up valid points. those algorithms are praise worthy, and i salute those who came up with them, but in this world of HD sticklers, wouldn't being able to make phenomenal pics at fps faster than the eye can see hold some merit over making really, incredibly, unbelievably fast renderings of sub-optimal images? i thought that 45 or so fps was the human limit, and they were at 30-ish (to be verified, my memory's crap) back then with old hardware.
i mean, what's the point in having the resolutions we have these days if we're sending less-than-perfect to them really quickly?
Somehow, that comment shows that you don't play fast paced FPS often, or know anyone who does. I think the human limit is different between pulling people off the street and testing them, versus people who game regularly. People train their senses and skills, just like if you tested how fast people can pull off streetfighter uppercuts by sampling 1000 random participants in Tibet, or sampling hearing sensitivity in the blind, you're going to end up with wildly inaccurate results. People who have tried it can see a difference running >60fps. It may not necessarily be the eye's ability to see all the frames, it may just be that the eye's motion vector sensing capabilities work better with high frame rates, but it's definitely more comfortable staring at a game running 120hz, than 60 or 30hz (if there are no dropped frames). Sudden dropouts in frame rate are very noticeable. 45 hz doesn't even work well, since most software tries to lock at 30 or 60 fps, while LCDs typically lock at 60.
AMD's had onboard memory controllers, Intel is adding them soon. The issue is not latency, the issue is bandwidth. DDR3 PC1333 is 12.8GB/s, whereas an entry level graphics card is nearly 60GB/s of data.
The xbox360 has a shared ram but its much faster than most PC's, 22GB/s. It also has 10MB of special purpose extremely fast eDRAM that runs 256GB/s, which gives it a fast "working area". Source: http://en.wikipedia.org/wiki/Xbox_360_hardware#Memory_and_system_bandwidth
and that concludes todays sessions.
good explanation.
was supposed to be a reply to a different topic, kinda out of context here. its posted there.
And you know future integrated graphics systems won't have local memory?
Dual-channel DDR3 systems almost equal 360's 22GB/sec transfer rates (both being theoretical). And in the fall, they get even faster, including three-channel systems from Intel.
This article is specifically about future designs, don't go trying to say it can't be true because it doesn't work today.
The main problem is that CPU's just dont need nearly as much ram. Change comes slow, the upcoming three channel Nehalem superchipsets will rock 3x PC1333 for 32GB/s ( source: http://www.theinquirer.net/gb/inquirer/news/2008/03/20/analysis-nehalems-happy ). But the last major leap in CPU RAM bandwidth we had was Feb 2002 with dual channel on the E7500, everything between then an Nehalem has been incremental improvement. Further, video cards have been at that level since 2003 with the 5900 Ultra. The new entry level video card may only be 60GB/s but we've been at 100GB/s for a while. Given the ploding pace of CPU ram bandwidth, theres no projection available that says the CPU will ever converge with GPUs.
In some ways, we'd be better off if RAM speed werent increasing so quickly, PC2133 is on the horizon and it alleviates the need to go to 4 or 5 or 6 channels of ram, which would do far more to bring CPUs in line with GPUs. None the less, with continued incremental improvements to ram the inquirer article I linked points out that ram could get near 50GB/s soon, although that'll likely remain the barrier until ~2011. The only exception is dual processor configs, where RAM bandwidth doubles to 100GB/s. Now we just need SLI software rendering! ;)
The longer term is more interesting. If we start getting 16 core CPU's it'll drastically adjust the ram needs of the system. But around here I expect projects like Larrabee where the CPU has schizmed from its desktop roots and turned into a glorified GPU. I dont see the desktop cpu following this path and becoming GPU like for a long long time, but adding in a couple dozen Larrabee cores onto a Core 6 Octo would make a lot of sense. These changes will definitely require revamped RAM.
The best thing Intel could do at this stage would be to stuff a couple dozen MB of RAM onboard for the video processor. Generally pulling in graphical content is not really the limitation, its the piece of memory where all the assets come together in framebuffers and zbuffers thats the really intensive part. Some of the future obscenely large L3's caches may be suitable for this, but I cannot say for sure, . This would basically parallel the 10MB 256GB/s eDRAM on the Xbox, or the T1-RAM on the Wii/Gamecube graphics hardware. It would help enormously. I believe this is what you were talking about when you mentioned local memory?
The other point you have on your side is that up until now we've been needing ever increasing bandwidth to feed ever increasing resolution. I played years of Quake and UT at 512x384, relished in 640x480 Quake 2, and then converted to 1280x1024 standard resolution. Every step up is an exponential number of new pixels and new ram bandwidth demands. Now a days its 1080P or bust as far as most gamers are concerned. But thats a good thing for your case; the resolution war is probably over. There will be other things that demand increasing bandwidth, but increasing resolutions will likely no longer be one of them and it's been an enormous factor. The current ceiling no longer being lifted with a rocketship.
Everything in the GPU is optimized for one thing; SIMD, because thats 93% of what the GPU sees. The "small chunks" of data the GPU cells handle are still bigger than the 4 or 8 byte words the CPU's are optimized for. There are some SSE extensions that operate on comparatively larger sets of data, but even in these cases the CPU is hobbled by its fetch unit.
As I stated the reason the CPU is so much bigger is because it had a lot of added complexity to optimize performance when dealing with simple non-data-intensive operations and doing intensive flow control, which is why there is out of order execution and superscalar design. The 320 cores are no where near as good at flow control, but they're probably at least as good at doing cross products; they are pure data crunching machines.
Yes most post was vague, I try to keep stay high level and keep my word count under an 8 bit value when I'm not on Aces' talking to computer engineers.
fail at threading properly. :/
If there is going to be a yr 3000, the people that make videogames work
will need to go.
Jeez, get some help dude. That's sad that your self esteem is so low... I can play 30FPS even when I think I'm sad!
Andir, there is no RISC vs. CISC anymore. All computers are RISC and some have CISC translation front-ends. Ever heard of "u-ops" or "micro-ops"? They're just RISC instructions that are stored in a table internal to the processor and referenced by the CISC instructions. In effect, it's the best of both worlds -- fast and simple execution of RISC with the smaller program footprint of CISC, not to mention the complete backwards compatibility.
Now, the big difference between GPUs and CPUs is that...
a) Generally speaking, GPUs work only with vector data. So, rather than the basic unit of data being a single 32 or 64 bit integer or floating point number, for GPUs it's usually an array of 4 32-bit floats in a 128-bit "blob". Operations work on all 4 of these numbers at a time in parallel. For graphics applications this is wonderful.
b) Each multiprocessor in a GPU uses crazy degrees of SMT (simultaneous multi-threading) per multiprocessor. Intel CPUs sorta do this with Hyperthreading, but even still it's not even remotely on-par with GPUs -- Hyperthreading uses a maximum of 2 threads, while your GeForce 8 runs optimally with 8 to 16 threads per multiprocessor. They do this to hide memory latency and branching hazards. Rather than using prediction schemes used in CPUs (if I recall correctly from my computer architecture class, the branch predictor in the Pentium 4 was somewhere around 15% of the processor), they simply halt the executing thread and execute something else until whatever it is that forced it to halt (whether it be a branch resolution or a memory load) has been resolved.
Another way that this is different from Hyperthreading is that with Hyperthreading there are duplicates of every single processor state register that it swaps between for the two threads. This is not so with GPUs! In fact, these threads that run concurrently on the same multiprocessor have to be aware of each other and written in a way that they don't use the same registers and don't overwrite each other's data! Needless to say, it allows the multiprocessor to be greatly simplified at the expense of general purpose usefulness.
As you might have guessed, GPUs don't worry at all about the execution speed of a single thread. If it takes a full millisecond for a single thread to complete the work for it's pixel, that's fine as long as the other 10,000 threads on the graphics card complete at the same time. On a CPU on the other hand, that same thread would complete the same work for that same pixel in a time measured in microseconds, but then there'd only be 3 other threads running at the same time in a quad core processor.
c) Did you know that with standard floating point there are four different rounding modes for every single mathematic operation? Also, IEEE-754 (the floating point standard everything uses) defines "denormalized" numbers (very very small numbers on the edge of what the format can represent). And then there's some number of different error signals that a processor implementing IEEE-754 must support to be IEEE-754 compliant.
And GPUs don't support any of them. Needless to say, the floating point operation units in GPUs are much less expensive compared to the ones in a CPU and in fact they frequently give *incorrect* results. This is offset only by the fact that in graphics you aren't usually able to see it when they do.
Now, what Intel and others are suggesting the industry will be moving towards is not Larrabee or GPU-style processors. Rather, picture if you will a processor with heterogeneous cores. Some big and beefy and intended for executing a single thread very very quickly, like those in CPUs today, and others cores that are small and streamlined and intended for executing many many threads quickly, like GPUs today.
So, in a high performance system there might be 8 to 16 big cores and perhaps 128 to 256 small cores. With the addition of an on-board many-channel very high bandwidth memory controller, what is the point of having a discrete graphics card?
Andir, there is no RISC vs. CISC anymore. All computers are RISC and some have CISC translation front-ends. Ever heard of "u-ops" or "micro-ops"? They're just RISC instructions that are stored in a table internal to the processor and referenced by the CISC instructions. In effect, it's the best of both worlds -- fast and simple execution of RISC with the smaller program footprint of CISC, not to mention the complete backwards compatibility.
Now, the big difference between GPUs and CPUs is that...
a) Generally speaking, GPUs work only with vector data. So, rather than the basic unit of data being a single 32 or 64 bit integer or floating point number, for GPUs it's usually an array of 4 32-bit floats in a 128-bit "blob". Operations work on all 4 of these numbers at a time in parallel. For graphics applications this is wonderful.
b) Each multiprocessor in a GPU uses crazy degrees of SMT (simultaneous multi-threading) per multiprocessor. Intel CPUs sorta do this with Hyperthreading, but even still it's not even remotely on-par with GPUs -- Hyperthreading uses a maximum of 2 threads, while your GeForce 8 runs optimally with 8 to 16 threads per multiprocessor. They do this to hide memory latency and branching hazards. Rather than using prediction schemes used in CPUs (if I recall correctly from my computer architecture class, the branch predictor in the Pentium 4 was somewhere around 15% of the processor), they simply halt the executing thread and execute something else until whatever it is that forced it to halt (whether it be a branch resolution or a memory load) has been resolved.
Another way that this is different from Hyperthreading is that with Hyperthreading there are duplicates of every single processor state register that it swaps between for the two threads. This is not so with GPUs! In fact, these threads that run concurrently on the same multiprocessor have to be aware of each other and written in a way that they don't use the same registers and don't overwrite each other's data! Needless to say, it allows the multiprocessor to be greatly simplified at the expense of general purpose usefulness.
As you might have guessed, GPUs don't worry at all about the execution speed of a single thread. If it takes a full millisecond for a single thread to complete the work for it's pixel, that's fine as long as the other 10,000 threads on the graphics card complete at the same time. On a CPU on the other hand, that same thread would complete the same work for that same pixel in a time measured in microseconds, but then there'd only be 3 other threads running at the same time in a quad core processor.
c) Did you know that with standard floating point there are four different rounding modes for every single mathematic operation? Also, IEEE-754 (the floating point standard everything uses) defines "denormalized" numbers (very very small numbers on the edge of what the format can represent). And then there's some number of different error signals that a processor implementing IEEE-754 must support to be IEEE-754 compliant.
And GPUs don't support any of them. Needless to say, the floating point operation units in GPUs are much less expensive compared to the ones in a CPU and in fact they frequently give *incorrect* results. This is offset only by the fact that in graphics you aren't usually able to see it when they do.
Now, what Intel and others are suggesting the industry will be moving towards is not Larrabee or GPU-style processors. Rather, picture if you will a processor with heterogeneous cores. Some big and beefy and intended for executing a single thread very very quickly, like those in CPUs today, and others cores that are small and streamlined and intended for executing many many threads quickly, like GPUs today.
So, in a typical system there might be 8 to 16 big cores and perhaps 256 or more small cores. With the addition of an on-board many-channel very high bandwidth memory controller, what is the point of having a discrete graphics card?
Rektide, by chance, have you read this http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf ?
Oh ffs. Engadget, fix your damn comment system.
Then in that sense, that unit in concern will effectively be a "Central Processing Unit" LOL
rektide 1, why not the LS2/LS7? 0
@RV
There were computers more than 2,000 years ago. Ever hear of the Antikythera Mechanism?
It sure can't be because the The vista ready certified, vista-real life uncertefied Intel GPU's are good enough..
I don't think it will happen, becauase:
As games advance graphically, they will also be advancing in AI and other CPU related tasks. Therefore, even if CPU's become 100 cores, by that time a game will be undergoing so many calculations(with AI,etc) that it might require quite a large portion of those cores, hence not leaving enough processing power for graphics. If that CPU was to be released now then it's a different story.
You need to remember that as hardware advances so does software, and the ratio is almost constant. As soon as new hardware is available, new software pushes it to it's limits. This kinda sucks, cause it feels like we aren't advancing at all.
For example, when Windows XP was first released it might have been kinda slow with the hardware from that time. However, with current hardware it runs very fast. Then Vista comes along and stresses the hardware further, and evens out the playing field. It's as if we will NEVER reach a stage we computers are actually fast...and I mean fast. Sure current hardware is fast, but they are always slowed down by software advances.
You could as far as to say that computers are actually getting slower...theoretically they obviously aren't, but it seems like back then hardware was ahead of software development, whis results in an old computer completing tasks faster than current computers when doing similar tasks that were available during the time periods(using software available in that time period) For exmaple, saving or opening document using MS Word on a new computer with Vista would take longer than to save or open a document in a 20 year old computer using software that was available in that time period. Another example, a 20 year old computer boots up much more faster than current PC's. Ofcourse, if you were to try to run a new application on a 20 year old computer, the new computer would win hands down. But when using the software that was available in the same time period, and old PC outperforms a new PC.
Read this - http://hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_DualCore_You_Wont_Believe_Who_Wins
Intel, while slightly deluded about they're position at the moment, do have a well laid out plan, all involving one thing: Integration.
Picture this in 10 years. The average PC will contain house only a PSU and a motherboard. The motherboard will contain a huge array of multi-core CPU's that handle everything that the current PC does today and more. General tasks/Graphics/Audio/Games. All the storage will be onboard in solid state, the size will be reflective of current HDD sizes.
An earlier post summed it up well. Graphic Cards and CPU's will grow ever more generalised that they will eventually cross over and be one and the same. That is when you can buy one slab of motherboard, and the choice will not be which graphics card or cpu to include, just how many multi-core CPU's you want and how fast - they will handle eveything.
@RV
There were computers more than 2,000 years ago. Ever hear of the Antikythera Mechanism?