Future of 3d Graphics
zymano writes "Extremetech
has this nice article on the future of 3d graphics. The article also mentions that graphic card gpus can be used for non-traditional powerful processing like physics. A quote from the article, "GPU can be from 10 to 100 times faster than a Pentium 4 and Scientific computations such as linear algebra, Fast Fourier Transforms, and partial differential equations can benefit". My question - If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor..."
Just make a graphics card with more transistors and drop the traditional processor..."
Apple have done this several years ago. The Newton 2000 and 2100 didn't use a CPU but rather the graphics processor.
RST
why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor
Maybe some people would like to upgrade just the cpu and not have to buy a whole new vpu or viceversa. Oh, and I think the AGP bus is just a tad bit slower than the north bridge.
The head of Nvidia was written about in wired a while ago and he essentially said the same thing.
He was like, our cards ARE the computer, and are becoming far more important then the CPU for the hard core stuff.
It was interesting, but I totally foo fooed it.
obviously he was smarter then me.
Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
Because GPUs are NOT general purpose devices. A normal processor, like a P4 can be programmed to do anything. It might take a real long time, but it is a general purpose processor and so can process anything, including emulating other processors. A GPU is not. It does one thing and one thing only: pushes pixels. Now more modren GPUs have gained some limited programmability, but they still aren't general purpose processors.
... everybody would use his computer for 3D only, but I know a lot of people never do anything with 3D. And I don't think a computer for office-work benefits a lot of the GPU.
This is RiverTonic's sig.
GPUs work with limited precision -- IEEE single precision is typical. This is good enough for 3D graphics -- after all, in the end you'll be limited by the 10-11 bit spatial resolution and 8 bit color resolution -- but not good enough for most scientific problems, which typically require a minimum of double precision.
Simulating higher precision with single precision arithmetic is possible, but the performance penalty is too severe for it to be useful.
Tarsnap: Online backups for the truly paranoid
...This is what the future releases of DirectX is supposed to address: The use of 3D renderers to render non-graphical elements and other work.
:-)
Good for the end user, but going to be a pain in the ass for software developers to take advantage of, is my guess.
alias uptime="echo '5:33pm up 22342352324 days, 6:28, 2124315623 users, load average: 2432.40, 12312.31, 123123.19'"
Why buy a big processor when the only intensive computational tasks are video en/decoding and games, tasks that can easily be farmed off to other, cheaper units?
"To any truly impartial person, it would be obvious that I am right."
My question - If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all?
Because not all of us play games all the time, some people do music production, some code, some do computer graphics(non-3D), etc etc.
There are plenty of uses for a computer other than playing games.Thats not to say that having external processors to offload work from the CPU is a bad idea, its a great idea, but don't fool yourself into thinking that ditching the CPU completely is a good idea, or even feasible.
I would expect such blatant racism on Fark, but on Slashdot? Mods please ban this asshole.
Because GPUs are specialized processors. They are only good at a couple of things: moving data in a particular format around quickly, and linear algebra. It is possible to do general-purpose calculations on a GPU, but that's not what it is good at, so you'd be wasting your time.
This is akin to asking why you shouldn't go see a veterinarian when you get sick. Because veterinarians specialize in animals. Sure, they might be able to treat you, but since their training is with animals you might find their treatments don't help as much as going to see a regular doctor.
Whats a good *average* card suitable to moderate gaming - and *cheap*? I'm still using a 32mb video card - and I know I'm a year or two behind ;)
Mod me down im a newf (wiki)
I freely admit that I am not as knowledgeable about computer "stuff" as most of you, but what is stopping people from doing a similar thing like Quartz Extreme to some of the computer processes? If the graphics card in a Win/Apple/Linux computer can handle some other processes, why not let it? Just wondering.
why intel are taking shares in GPU manufacturors ;)
/. :o)
Anyway, i am sick seeing those advertising for MS on
-SLK
Another scenario that surprised Kirk was when a development team recently tried to use a GeForce FX CPU to perform database key sorting.
I don't think blowing the paperwork off a developer's desk qualifies as database key sorting.
While games/etc. will become more complex you'll need more and more CPU (not GPU!) power to calculate AI, scene (not render it but dynamically create it in vector source) etc.
For those heavily into graphics and games, using a GPU as a CPU (or a CPU as a GPU) might not be all that good a solution, as the GPU is a specialised bit of silicon whereas the CPU is a general piece of silicon.
However, I got this sudden flash of the obvious, where you build a "multi-core" computer, ie a computer with several CPUs. one or more CPU(s) can be assigned to work as the GPU(s) if needed, and then be reassigned to work as ordinary CPUs when raw processingpower is more needed than graphics output. True, such a system would need a total rewrite of the OS, but I'm sure we'll have a Linux-port running on it quickly enought.
While this idea might not yield the raw graphicspower a seperate GPU can offer us, it would allow us to have a computer that would upgrade or degrade it's capabilities as needed, and with enought 'cores' and a well written OS, we could have redundancy against all sorts of damage and so forth. Something for the spaceprograme / military / missioncritical server assembly perhaps?
Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
but going to be a pain in the ass for software developers to take advantage of, is my guess.
That never used to stop anyone.
The democratic party should burn in hell where it belongs
this reminds me of then they needed to add on a math co-processor to Intel's processors (the -DX versions)
Manipulate the moderator system! Mod someone as "overrated" today.
I can't believe how far we've come.
I remember rendering things for DAYS on my Amiga back in 1988...and these were only single pictures at 320x240 HAM pictures....really, with Sculpt-Animate 4D I would wait 3 days for a render to complete. They even had a little piece of paper that had "Rendering in progress" on it.
Now games can do it all real time and look MUCH better than my early renders. Blows my mind.
"Music is everybody's possession. It's only publishers who think that people own it." - John Lennon.
excuse me, filthy sir, but my fpage is better than all anon cowards because i give people the |CHOICE| --- fp or not, you decide? ---- best fp ever.
i'll have to buy a physics card to play the latest games.
That said, GPUs are freed by the CPU to do their thing, and likely would degrade in performance noticeably if required to take up much of the bunk work.
the minute we stop using 'traditional' Intel/AMD CPUs in favour of NVidia/ATI, we'll have to drop 'traditional' NVidia/ATI and go back to Intel/AMD ;).
Seriously though, the design we have now is a good one. A strong, general-purpose CPU augmented with a specialized GPU for high-cost operations. Depending on how high the cost is (ie: iDCT for playing DVDs) we may want to start moving the work to the specialized cpu - this has been done with ATI cards for a couple years now.
...Huh?
Graphics? I still use a VT100
CAn'T CompreHend SARcaSm?
GPUs are highly specialized. In graphics processing, you generally perform the same set of operations over and over again. Also, pixels can be rendered concurrently - as such, graphics hardware can be extremely parallel in nature. Also, in graphics hardware, there isn't much (if any) branching in code. Simple shader code just runs through the same set of operations over and over again.
"Normal" code, such as a game engine, compiler, word processor or MP3/DivX encoder does all sorts of different operations, in a different order each time, many which are inherently serial in nature and don't scale well with parallel processing. This type of code is full of branches.
To optimize graphics processing, you can really just throw massively parallel hardware at it. Modern cards do what, 16 pixels/texels per cycle? 4+ pipelines for each stage all doing the EXACT same thing?
Regular code just isn't like that. Because different operations have to happen each time and in each program, you can't optimize the hardware for one specific thing. In serial applications, extra pipelines just go to waste. Also, frequent branch instructions mean that you have to worry about things like branch prediction (which takes up a fair amount of space). When you do have operations that can happen in parallel (such as make -j 4), the different pipelines are doing differnet things.
Take your GeForce GPU and P4 and see which can count to 2 billion faster. In a task like this, where both processors can probably do one add per cycle (no parallelizing in this code), the 2GHz P4 will take one second, and the 500MHz GeForce will take four seconds (assuming it can be programmed for a simple operation like "ADD"). Even if you throw in more instructions but the code cannot be parallelized, the CPU will probably win.
Basically, since you can't target one specific application, a general purpose processor will always be slower at some things - but can do a much wider range of things. Heck, up until recently, "GPUs" were dumb and couldn't be programmed by users at all. I haven't looked at what operations you can do now, but IIRC you are still limited to code with at most 2000 instructions or so.
My server
i see someone has modded up your boobery, the democratic party is almost as fucking c00l as my fp!~``
My question - If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor...
If you'd really like the answer to this question, try programming anything on the GPU and you'll understand. It's hell to do half this stuff. GPUs are highly specialized and make very specific tradeoffs in favor of graphics processing. Of course, some operations, specifically those that can be modeled using cellular automata, map well to this set of constraints. Others, such as ray-tracing can be shoe-horned in, but if you were to try to write a word processor on the GPU, it'd essentially be impossible. The GPU allows you to do massively parallel computations, but penalizes you heavilly for things such as loops of variable length or reading memory back from the card outside of the once-per-cycle frame update, and the price of interrupting computation is prohibitive. Clearing the graphics pipeline can take a long, long time.
Furthermore, while there have been a few papers published claiming the orders of magnitude increase in speed in these sorts of computations, none actually demonstrate this sort of speed-up. Everyone's speculating, but when it comes to it, results are lacking.
b.c
Using the power of the graphic subsystem to handle other kinds of calculations has been done for years, if not decade(s) by Silicon Graphics.
At least for the demos...
I was not the AC who took you down to the gutter where your pathetic attempt at a FP took you (did it add any value? was it amusing like TROLLKORE? was it even imaginative?).
My |CHOICE| was to join AC calling your momma a bitch. You had the |CHOICE| to read it, sir.
I AM dirrrrrrrrrrrty.
You mean like: this?
Now, that press release was about two years old, and you can bet that ATI has advanced beyond that point (though I can't provide details).
Also, while not integrating a serious 3D graphics GPU, there's no reason that this can't be done -- except one -- and the same reason that a powerful CPU isn't integrated: heat dissipation.
But, for a "media processor", it sure is sweet.
You could've hired me.
You keep hearing this logic every once in awhile.
Look, for the same price of a $400 graphics engine you can get yourself a dual CPU machine, a cheap graphic card with AGP, and do it in "software" with about the same efficiency, if you know what you're doing.
Because the extra CPU isn't inheritly multi-core like most modern GPUs, you need to compensate with a higher clock speed, and use whatever multimedia instructions it has to the fullest extent (ie altivec, mmx2, etc.)
But of course, the GPU is better suited to the actual drudge work of getting your screen to light up. If there's stuff to be computed and forgotten by it (i.e. particle physics), its probably better left decoupled to exploit parallism in that abstraction.
As you get to a limit in computational efficiency, you start adding on DSPs, and this is where FPGAs and grid computing start looking interesting.
So it shouldn't be considered suprising that these companies will say that; they can see that trend and they want a piece of that aux. processor/FPGA action. The nForce is a step in the right direction. They don't want to be relegated to just making graphic accelerators when they have the unique position to make pluggable accelerators for anything.
But to plan on packaging an FPGA designed for game augmentation and calling it a uber-cool GPU is just a marketing trick. This technology is becoming commercial viable, it seems.
Black holes are where the Matrix raised SIGFPE
Many of the licenses that is packed with OS software states that the OS is only suppose to be installed on single processor systems. Does graphics card with its own processor violate those single processor licenses?
Aloha!
You wrote: My question - If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor...
Congratulations! You have just reinvented Ivan Sutherlands Wheel of reincarnation which is exactly about this: Normal CPU:s are enhanced with specific functions to provide acceleration for a common task, the enhancments are getting so big that farming them out into a separate chip/module seems like a good idea. The separate thingy grows in complexity as more flexilibility and programmability is needed. Finally you end up with a new CPU. And then someone says.... You get the idea.
Here is a good take on Ivan Sutherlands story. And here is Myers and Sutherlands original paper.
Read, think and learn.
Unfortunately, the researchers have all inexplicably been rendered deaf.
Jesus... you are boring. I'll not call you or your mother a bitch, but that was a pathetic FP.
Loser, do you sit inforont of slashdot reloading it every minute?
If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor...
/. would know better... or not.
Do you understand why these so-called GPUs are so fast at doing graphics and mathetmatics geared towards graphics? Because they are Graphics Processing Units. They are not general computers. They are designed to do one thing and one thing really well: the math for 3D graphics. They would be terribly slow at general computing because general computing is not all 3D graphics. Generalized computers, such as your Pentium, are good at doing a lot of things but nothing in particular all that well. Sheesh, you'd think someone who reads
Join Tor today!
Why have n m-bit parallel systems? Just have n 1-bit parallel systems. You won't need all these specialized processing units anymore. The future is in an extremely flexible CPU.
-Libertarian secular transhumanist
Just make a graphics card with more transistors and drop the traditional processor...
No matter how good you made the card, assuming it would be a dual video card/processor, you would be stuck in a situation like if you were to buy a motherboard with tons of onboard stuff on it, like a video card, for example. No matter how much ram you put in it, the video card's power will never be quite as good as if you were to buy a separate video card of comparable power and plug it into the motherboard. The same would probably be true for a video card/processor combo.
SecondPageMedia - Wha
im not sure if that one torrent site got hacked or what. check it out - www.torrentse.cx
Consider from the point of games: even if you could move all calculations for occluders, all texturing, all graphical effects etc. you still would need advanced AI, networking, audio system and decoding, resources and data structures and of course input handling. Not all of these are heavy calculation but require some timing and most of all: the bus architecture in PC doesn't allow enough flexibility to use GPU in anything more than additional processing power.
GPUs have many computational features added but even occlusion culling needs some work in the CPU at the moment. The hardware implementations of OC are rather limited and naturally require transferring unneeded vertex data to display card over slow bus.
SGI has developed some nice bus subsystems in the past, I'd like to see more of them in the mainstream.
There are many systems out there that don't do anything other than 3d. Gaming consoles (i.e. Xbox, Playstation)could benefit from this sort of thinking. In particular, the Xbox, with a PC architecture, could potentially become cheaper, lighter, and better. Unless, of course, you're running Linux ;)
If my answers frighten you, stop asking scary questions.
But DX for 386 P it was not so ... only reffering to 32bits !
... but nobody ever trusted it was so.
...
...
I had a 386DX-25 (1920KB RAM, 40MB HD) , which was touted by MS to be able to run win95
Today, XP require 90MB to simply starts !
And people not seep to care
I like to have up-to-date stuff, but sorry i do not see why XP needs at least 90MB without adding any special features wince windows 3.1 !
Is MS no more able to provide anything just "simple" and efficient with inovation inside ?
Or do we need in the XP2 1GB in RAM to just boot
-SLK
If crazy glue is so strong, why don't they just make everything out of it?
Just as the subject says: our current GPUs can (easily) simulate any turing machine, and thus any other CPU, and in turn run all programs you may imagine.
:-)
It is done via fragment (pixel) programs (for the arithmetic instructions) and multiple 'rendering' passes (for program control). Ask Göögle if you want to know more about this interesting subject.
Just my 2 cc.
Best regards,
Daniel
"If these processors are getting so powerful at computations then why do we need ATi/INVIDIA cards at all? Just make a processor with more transistors and drop the traditional graphics card..."
you people just don't get that cpu/gpu joke, don't you?
There's a lot of work being done on reconfigurable computing, which imagines replacing the CPU, GPU, DSP, soundcard, etc., with a single reconfigurable gate array (like an RAM-FPGA). You'd probably have a small control processor that manages the main array. On this array one could build a CPU (or several) of whatever ISA you needed, and GPU, DSP, whatever functionality was called for by the program(s) you're running at the current moment. Shutdown UnrealTournament 2009 and open Mathlab, and DynamicLinux will wipe out its shader code and vector pipelines, and grow a bunch of FP units instead. Run MAME and it will install appropriate CPUs and other hardware.
In the initial case, this would be controlled statically, a bit like the way a current OS's VM manages physical and virtual memory. Later, specialist "hardware" could be created, compiled, and optimised, based on an examination of how the program actually runs (a bit like a java dynamic compiler). So rather than running SETI-at-home your system would have built a specialist seti-ASIC on its main array. There will be lots of applications where most of the work is done in such a soft ASIC, and only a small proportion is done on a (commensuately puny) soft-CPU.
This all sounds too cool to be true, and at the moment it is. Existing programmable gate hardware is very expensive, of limited size (maybe enough to hold a 386?), runs crazy hot, and doesn't run nearly quickly enough.
## W.Finlay McWalter ## http://www.mcwalter.org ##
Speaking as a CFD (computational fluid dynamics) researcher who has used graphics cards for some operations, I can tell you that GPU's are very fast, but they only work on streaming data, and most scientific problems involve a lot of non-streaming processing as well. Even with a perfect graphics card, you'd still need a general-purpose CPU to control things. Also, the floating-point support in all but the latest GPU's is very, very restricted (many of the fragment units are fixed-point and limited to a few specially-chosen operations, and even the latest GPU's don't have full 32-bit IEEE floats), and the linux support is weak and buggy. Still, I think you'll see more scientific GPU usage in the future.
My question - If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all?
A development this extreme is unlikely. However, what is very real is the fact that GPUs and CPUs are at least partially competitors.
If you are doing a lot of graphics then you the best computer for your money may be with a great graphics card and a so-so CPU. The better and cheaper GPUs Nvidia can make, the smaller the demand for state of the art Pentium's.
But unless there is a revolutionary development somewhere, we will probably see computers with both kinds of processors for a good while.
Tor
from 10 to 100 times faster than a Pentium 4 at Scientific computations
Also, Wired had an article on this, with the main gist "NVidia plans to make the CPU obsolote".
How small a thought it takes to fill a whole life
I can tell you this from experience because I was using DSP cards to do audio filtering in the 486 days. Since the Pentium-I, I have freed myself from DSP cards and never looked back.
The GPU market works the way it does because each GPU comes with graphics acceleration drivers that install with the card, and the application software developer hardly has to know about all that code running in the background. It is kind of like the Swing/SWT dichotomy. Sure SWT gets better performance, but it is more installation fuss. Yeah, yeah, Swing has to JNI down to native code too, but that is all hidden away because it is packaged in the JVM release for your platform.
I was at an NVIDIA presentation, and the NVIDIA rep jokingly referred to "CPU" as "Co-Processing Unit". He elaborated on that, by sketching the new computer architecture, as envisioned by NVIDIA, with the GPU forming the heart of the system and the CPU taking care of the "lesser" non-multimedia functions. A good example of this is NVIDIA's Nforce(2)-chipset, with both the graphics core, sound logic and north- and south-bridges all having been developed by NVIDIA. All that's still needed is a CPU and memory.
:)
It's not surprising that NVIDA prefers to cooperate with AMD in stead of Intel: Intel would be too dominant and would want to control more than just the CPU. In addition, Intel evens spends a considerable amount of R&D on integrated graphics for its chipsets. It is more in NVIDIA's interest to work with a less influential CPU-manufacturer.
I'm really interested in what kind of chipset NVIDA will be offering for AMD64-based CPU's!
Off-topic question: I briefly read somewhere that someone finally managed to write an AGPGART-driver for Linux, which would support non-NVIDIA 3d-cards on Nforce2-motherboards. Does anyone here have more information on this?
"Oooh, does that mean we get to kick some puffy white mad zionist butt?"
Because GPU (Graphics Processor Unit) are NOT General purpose processors. While it would be possible to make a system around it - it lacks many featres of modern processors such as user/priveleged mode, etc...
This is the most idiotic idea I've heard - sure - lets NOT have dedicated CPUs that offload work from the main CPU.... Great idea - good work - go back to banging your head against the pavement.
Still, I don't think anyone is going to get upset over a link to an existing press release.
You could've hired me.
It would be nice if the Playstation 3 could be used for linear-algebra as well. I would think that 10 $200 Playstation 3s wouldbe better than 1 $2000 CPU/GPU system?
I guess it depends on how general purpose the Cell architecture is going to be vs. CPU/GPU combination. (64-bit precision, IO bandwith/latency, local memory size)
"If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all? Just make a graphics card with more transistors and drop the traditional processor..."
So, now I should start putting high-end graphics cards in my servers? Has Apache been compiled for an nVidia GPU yet? I wonder how well a Geforce FX runs Linux or Windows 2000. I bet the 2.0 Pixel Shader spec helps a lot with database speed.
If he's a loser, then what are you?
At least he gave you a [CHOICE]. Say 'no this is not fp' is you don't like it. You are not obliged.
Many complain that GPUs have limited functionality. That's true, but the progress has been enormous:
- Just 2 years ago GeForce3 was state of the art. It could execute only ~20 pixel shader instruction and the presicion was limited to 8bit integer per channel.
- GeForceFX can execute 1024 pixel shader instruction with static flow control and 32bit floatin point presicion per channel.
- Within 2 years we will have a GPU which can execute virtually unlimited amount of instructions with dynamic flow control and 64bit per channel floating point precision.
You will still need CPU for desktop work, but GPUs will be used for many things like scientific computing, simulation and off-line 3D rendering (making CGI effects for movies).
In some situation GPUs can be used already . In some cases QuadroFX (which uses "old" NV30 core) can render broadcast quality scenes 20 times faster than fastest CPU available.
The future of graphics are none of what Kirk said. The future of graphics is higher fill rate, more polygons, and bigger heat sink fans.
Why everything at Slashdot is always about ditching/dropping somethig?
Why would we change a CPU for a GPU (wich is a CPU for specific data processing)?
If these cards are getting so powerful at computations then why do we need a Intel/AMD processor at all?
Exactly. And if the Playstation 2 can do over 6 GFLOP/s, why doesn't Cray just make a cluster of Playstations instead of buying a shitload of Opterons? Really, someone should give these guys a clue...
RMN
~~~
Read the article again and look for the page that says "non traditional uses". You will find that these graphic processors are programmable vector processors that are excellent at mathematical operations.Also look at the uses of gpu by Colorado university and their attempt to break linpack record. We don't need Intel/Amd anymore!
Why not use a really powerfull setup such as dsp to do it all for you. It plugs into your pci slot and allows you to do extremely complex calculations quite quickly. If you had one of those puppies all you need your p4 for is for book-keeping.
----
Go canucks, habs, and sens!
And once again, the great Wheel of Reincarnation comes full circle. Nice to have seen it happen twice in my lifetime.
News for Nerds. Stuff that Matters? Like hell.
why do we need a Intel/AMD processor at all? Get a GameCube and find out. Besides the X-Box, nearly all consoles derive from this concept. I've been saying from the beginning that soon the home computer market is going to turn into a console market. For the past few years it's been going in that directon, so dont see why it should stop. DAZ
if gpus really have the calculating power they say they do, could you link many of them together to run as something like a passwork cracker in a similar way as that DES machine they built a couple years back? Is it even possible to get just the gpus without a graphics card attached if you are anyone other than a mass producer?
We need a traditional processor because these are basically specialized floating point (and vector to some extent) processors. The majority of the work done by the typical user is going to integer kind of stuff. Or maybe I'm just biased, because I've been mud programming again. Anyway, point is, these types of processors would have to simulate ints as floats. It burns us.
====
Crudely Drawn Games
I thought AMD was staking their entire future on the Clawhammer and future 64-bit CPUs that can have up to eight-CPUs all working together. If we had eight CPUs on one mobo, you could have an entire CPU's power for one/eighth a current CPU's functions. With all those CPU's, it seems entirely feasible that you could divide up the job of a GPU and a processor among these 64-bit CPUS. There's also cell processing, which i know little about, but i have heard it has kind of the same principle as the Mtrox Parhelia's GPU. What did they call that? a VPU? im not sure. But i think it was kindof like putting hundreds of simple GPUs on one chip and having them all grouped into different sections of pipeline.
... for this kind of image horsepower. If you want to look 10 years out, then you may as well hypothesize a helmet that will allow the then-contemporary GPU to send sensory inputs directly into the brain.
After all, images are merely optical sensory input data. If the bandwidth of the device doubles every year, you should be somewhere in the neighborhood of being able to produce a data stream comparable to a human's normal sensorium.
I'm looking for someone who knows more about this than I do (which shouldn't be difficult), to take this notion and flesh it out with some informed speculation...
I'm waiting...
3Dlabs came out with its Wildcat VP graphics cards a while ago. What makes these unique is their "Visual Processing Architecture" (formerly "P10"). It is composed of hundreds of small, relatively simple SIMD vector and scalar units, allowing for extreme scalability and re-programmability.
New features that would require hardware revisions with traditional graphics architectures only need a software update with the Wildcat VPs (3dlabs gave the example of Matrox's ingenious fragment anti-aliasing, which could be added in this way, though this has not been done to my knowledge). In addition, the less-specialized nature of the hardware also allows for the acceleration of things such as Photoshop filters (Rampage anyone?). The use of VPU's allows for rapid software modification of the hardware.
The latest model, the Wildcat VP990 (not out yet) doesn't compare to the Geforce FX 5900 Ultra in terms of DX 9 compatibility (it's not a gaming card, it's for CAD/CAM and other high-end graphics applications) and pure polygon thoroughputs, but its potential for flexibility is unmatched.
Instead of using a GPU, it may be better to have a math coprocessors like back in the day .. but I suppose this would cost more because of lack of volume sales.
Can we just get away from all shared memory architectures?
Damn, how hard is it to put a single memory chip dedicated for video on an integrated motherboard?
How can saying 'no this is not fp' remove the fact this _IS_ a fp and is a _BAD FP_ ?
Karma/ego seeking whores are ruining SLashdot far more the trolls.
One possible future (and one which borrows from historic trends) would be for individual pipeline components to be reduced to individual hardware components.
GPU's are rapidly becoming CPU-like in their architecture (general purpose), so these individual pipleine stages will eventually exist as seperate chips - and possibly even seperate cards entirely.
Shadows by ATI. Shaders by Nvidia. Vertex manipulation by AMD.
\\ Mitch
Interestingly he thinks it'll be specialized hardware that will do ray-tracing, etc.
http://www.hardwarecentral.com/hardwarecentral/rev iews/1721/1/
"Is there a future for radiosity lighting in 3D hardware? Ray-tracing? When would it become available?
Gary: Yes, but probably just in specialized hardware as it's a very different problem. Ray-tracing is nasty because of it's non-locality, so fast localized hacks will probably prevail as long as people are clever. Especially for real-time rendering on low-cost hardware. It's interesting that RenderMan has managed to do amazing CGI without ray-tracing. That's an existence proof that a hack in the hand, is worth ray-tracing in the bush.
Oh... and for people who haven't seen it before, here's a cool detailed paper about how the pipeline of a traditional 3d accellerators can be tweaked used to do ray tracing...
http://graphics.stanford.edu/papers/rtongfx/rtongf x.pdf
Reading that shows how programming a graphics pipeline is quite different (more interesting? more complicated?) than programming a general purpose CPU.
Many years ago, we had a professor that would program his earthquake models into Postscript. It turns out that the processors in the Postscript enabled printeres could process the models much faster and with a higher degree of precision than the 286s at the time.
There are some specific purpose processors, such as FFT chips. DSP processors might be considered to fall into this category. When a need is seen and a processor can be sold or used at a profitable volume, it may be developed, often as an asic. Another example is echo/reverb chips used in the audio industry.
Contribute to civilization: ari.aynrand.org/donate
I'm not sure about the Geforce FX, but almost all GPUs previously (including ATi's R300) had very limited program size, so it was impossible to run a program of any complexity on them.
Isn't this what SSE, MMX, Altivex etc do already?
All I know is I want to run RC5 on one. :)
Colossians 2:8
Sure you could probably make a computer that runs entirely on a GPU, but what is the point? I much prefer having two powerful processors in my system to just one, especially when they are designed for different purposes. It only makes sense to make more use of the power of GPUs when they are otherwise sitting idle (as in pretty much everything that is not graphics-intensive). I think GPUs will become more and more flexible as time goes on, but that doesn't mean they will replace CPUs - they fulfill diferent jobs. GPUs today basically are cpus, just refined to run certain kinds of operations at very high speeds. Look at the complexity (and cost) of modern GPUs, and they are at pretty much the same level as CPUs. Using a GPU to run a whole system is like using a CPU to do graphics - sure it can do it (remember the days before 3D cards), but it would be slower. There isn't a conflict between CPUs and GPUs - just as I would prefer to have a dual-processor system (assuming I am running code that makes use of them), I prefer to have both a CPU and a GPU, where most software already makes use of both processors. It only makes sense to integrate GPUs into code more as they become more flexible, even if it is to do things unrelated to graphics. More and more I think programmers will realize that the CPU and GPU are two very powerful processors designed for different types of tasks, and make use of them as such. If a certain type of calculation runs faster on the architecture of the GPU, it only makes sense to use it; similarly, if a piece of code runs better on a CPU, it doesn't make any sense to write it to run on the GPU. Putting a video card with a GPU on it into your system is becoming more and more like adding a second CPU, one that is designed for different tasks - in the next few years, they will become increasingly used as such. Also, processing power is processing power - why would you get rid of the CPU, thereby reducing processing power, just because you can use the GPU to do everything? It makes much more sense to me to have, and use, both.
Escher was the first MC and Giger invented the HR department.
...if your video card cost more than your CPU. Mine did.
This is slightly off-topic and It's probably unbeliveably hard, but would it be possible to have dual GPU graphics cards? I'm not quite sure how it would work, but for really demanding things, such as Doom III is definitely going to be, this would be a big boon with one processor maybe doing the actual rendering, while the other one textures and anit-aliases. Dunno, I'm just thinking up random stuff now.
- Sherman
I saw a hotshot from Los Alamos give a seminar (at a conference on forest fire modeling), and he informed the audience, in complete seriousness, that they're going to connect a huge cluster of Playstation 2's, because they're high power and incredibly cheap, thanks to the price war.
Well, if they do FFTs so well, does that mean if I run SETI@home on my GF4 Ti4200, that I can get the workunits done that much quicker? Hey, I could load the entire command line client and several WUs into the 128MB RAM that's on it. And all this time I've been using a 950Mhz processor, or, since it uses WinXP, 300Mhz...
This was exactly the idea of the original Connection Machine by Thinking Machines Inc. Their first machine (CM-1) had 64,0000 single bit processors. It could do many special purpose operations extremely fast. The idea originated from Dan Hillis while at MIT. I think his Ph.D. disseration on the topic won several awards and was available as a book at some point.
Like most of the other supercomputer companies from the 80's, they eventually exited the industry (they changed to data mining and were later bought by Oracle).
You could spend $400 for a new video card, or $400 to buy a motherboard an additional CPU (I assume you add the magic trace to the existing one).
Black holes are where the Matrix raised SIGFPE
Right, they aren't. But you could market an FPGA containing a bunch of configurable image processing and DSP cores as a GPU provided you've got the right magic interface, software, packaging. A driver might be responsible for reconfiguring it to respond to the rendering load.
Call it NV50, and Anandtech will call it a GPU. Then there's no argument.
Black holes are where the Matrix raised SIGFPE
Considering many new video cards cost more than a decent motherboard, processor, and memory combined, they BETTER do more than my CPU.
GPU's can do astounding amounts of math because they're made specifically to handle certian types of math, and nothing else. CPU's can do much more, just not anywhere nearly as quickly.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
I know that the AGP bus is bidirectional- isn't there a way to write a multiprocessor type app that would allow GPU resources to be added to the standard motherboard resources? Obviously it would have to be a GPU that was open to developers, but if NVIDIA or ATI opened up communication with Linux kernel people or beowulf wannabes would there be a way to either exploit those extra resources when in 2d mode or design a computer with multiple AGP ports to make use of clustering with GPUs? I was thinking this would make a good renderfarm, since traditional x86 processors are not particularly suited for the task. Has anyone concieved or envisioned a software solution to this?
This just isn't true. Jaguar taps OpenGL to "composite" multiple windows on to one display, but that is it. Most of the drawing work is still done by the CPU.
You're supposed to say "Imagine a Beow...
Oh never mind.
If you make the gpu the cpu, then you lose the awesome dual-processor nature of the gpu/cpu. The whole reason gpu's and 3d cards were brought on in the first place was to take care of the 3d stuff and let the main cpu handle physics and sound and everything else.
Does anyone really want to wait for the new Nvintel PentiForce 5 to get dx11 compatibility?
This would slow the whole industry down and cut into the gfx makers profit.
The Vector unit in the G4/G5 is a Vector unit implimented by a DSP which can do more than just vector math. It is an on-chip DSP.
Just read up on the G4's DSP design and then read up about the GPUs and how they are moving closer and closer towards "generic" DSPs. It seems every tech article I read the GPUS and the Vector Unit get closer to being the same.
In fact, I remember the motorola intro way back where they showed benchmarks of the G4 killing all major DSPs only doing a standard DSP bench test; no vector tricks --AND it ran at around 200Mhz to be fair with the DSPs in the test.
Problem: Most programers don't get linear algebra. DSP Vector programming is for math people. So, the G4 is mainly used to copy 128bit chunks; outside apple libraries that is. It goes mostly unused by most software.
Funny, they are ahead of the curve by years and nobody sees the trend...
Perhaps there is a reason apple hired one of those failing 3D chip companies years ago...
Obviously, to really see this happen, we need better memory interconnection... Its bad enough now with the GPUs usage, and to add the rest to that would hurt it more than it would save on cpu->pci->gpu overhead.
Watch NINTENDO & IBM. They claim the next chip they use will combine the 2 chips. The GameCube right now already lets the GPU control the RAM they share.
I haven't seen any graphics company produce a solution where the graphics processing power is increased by adding more GPUs to it. I know that tiled rendering exists: the Kyro cards, the Dreamcast and the Naomi coin-ops all use PowerVR-based technology which scales rather nicely. So, instead of completely replacing the graphics card, one could add small GPU chips to provide additional power to the graphics. It would me more cost effective and would allow Doom III and HL 2 without too much hussle.
The same goes for CPUs. The CPU power would increase if more CPU cores could be added on the fly. There was a company called InMOS technology that produced the Transputer chips that were able to perform in a grid: each chip had 4 interconnects for connecting other Transputers to it.
Of course, there are advances in buses, memory etc that all require total upgrades.
I think that the industry has overlooked parallelism as a possible solution to computation-intensive problems. Of course, there is a class of problems that can't be solved in parallel, as one computation step is fed with the results of the previous step...but many tasks can be parallelized: graphics rendering, searching, copying, compression/decompression, etc...anything that has to do with multiple data. It's a wasted opportunity. Instead, companies go for raw power. I guess its more profitable and less technologically challenging...Introducing parallelism in the hardware would require a new bunch of programming languages and techniques to become mainstream, too.
Finally, I would like to say that if quantum computers become a reality, then we will see pretty good reality simulators inside a computer, since their speed would be tremendous, many times the speed of todays top hardware.
In all the comments, I haven't found what was the most important point in the whole article. with all this GPU horsepower, Nvidia Chief Scientist David Kirk said that "the question becomes not how many more pixels can be drawn per second, but how much better pixels can be made to look, by synthesizing them in very different ways." He added that "it's the end of graphics as we know. Many new things will soon be possible with large scale streaming processors, which will create a whole new revolution in graphics." You can read this summary of the long ExtremeTech article for more details.
Sure, in a year or two we might have completely integrated System Processing Units, say an AMD64 built into an nForce, but until then here's what we got: Cheap Speed.
Most machines now have a funky fast GPU in them, and it's not utilised most of the time. If someone like SETI@home was smart, they would write a version of their processing code that works on it. All those mathematical or chemistry processing grid type things should jump on this technology.
We're talking about 10 to 100 times paster than a P4. Hells bells, 10 to 100 times! You could plug a hella-fast Graphics card into your ratty old K6 300 PC and it'll smoke a P4 for some specific number-crunchy tasks. Any scientific project that doesn't investigate this sort of thing is nuts.
"Just make a graphics card with more transistors and drop the traditional processor..."
The standard CPU is much much faster then the GPU. The GPU like the CPU is good for certain things, but not all.
As a guess, im thinking a CPU would be better then integer calculations and floting point calculations than a GPU.
However, as mentioned the GPU is a lot better at linear algebra.
What i've been pondering latly is that, why dont computers come with a standard GPU, just like our standard CPUs?
Maybe oneday when we all have 3D inriched desktops, that'll come to light (like MacOSX)
Giving IE users a taste of their own medicine since 2005 - http://pods.-is-a-geek.net/
Does anyone know who implemented the database key sorts mentioned in the article? I couldn't find any references, but it seems fairly interesting
Did this Dan person check all the information everywhere to see if nobody has ever done this? And what about previous civilizations? Or alien civilizations? Calculus was "invented" independently by two different people. Nobody owns or invents an idea. They exist outside of time. So fuck you, Dan.
-Libertarian secular transhumanist
Am I alone, or does anyone else think game graphics have been taken far enough for the moment? It seems to me that game developers have been progressing the visuals of games far more than the content. For instance, I'd be much more interested in a game with realistic physics or deformable terrain than some new lighting engine. Gameplay is based only lightly on graphic quality as far as I'm concerned, there are so many other elements that make a game great. I would like to see them focused on!