Slashdot Mirror


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..."

14 of 285 comments (clear)

  1. The head of Nvidia agrees with the poster by AvitarX · · Score: 3, Interesting

    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
    1. Re:The head of Nvidia agrees with the poster by Anonymous Coward · · Score: 2, Interesting

      Alright alright.. this is all fine and dandy.. but does any idea of _how_ to write software that uses the hardware? Is it even possible to access the hardware without using something like opengl?

      I'm very interested in the answer...

      Thanks

  2. Specialised hardware by James_Duncan8181 · · Score: 3, Interesting
    I do often wonder why specialised hardware is not used more often for tasks that are often performed. I recall that the Mac used to have some add-on cards that spead some Photoshop operations up to modern levels 3-4 years ago.

    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."
  3. Maybe not, but.. by WegianWarrior · · Score: 1, Interesting

    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.
  4. SGI did this (very) long ago by jhzorio · · Score: 3, Interesting

    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...

  5. Didn't read the article, but it doesn't matter. by moogla · · Score: 4, Interesting

    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
  6. The future is bit granular. by Thinkit3 · · Score: 2, Interesting

    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
  7. Reconfigurable computing by wfmcwalter · · Score: 4, Interesting
    Just make a graphics card with more transistors and drop the traditional processor

    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 ##
  8. NVIDIA: CPU="Co-Processing Unit" by motown · · Score: 2, Interesting

    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?"
  9. GPUs will replace CPUs in many areas quite soon by Anonymous Coward · · Score: 1, Interesting

    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.

  10. Re:We need traditonal processors by afidel · · Score: 2, Interesting

    Yes, but unlike vector processors of old these ones are at or ahead of general purpose chips for technology. They are also extremely cheap which is exactly opposite of traditional vector processors. A parallel array of GPU's might be interesting though I doubt that would end up as cheap because all of the glue logic would be one off, it might be better just to combine dual cpu 1u units with AGP cards and use the cluster for multiple types of problems, some running on the cpu's and some running on the GPU's.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  11. this isn't even a real issue... by demonbug · · Score: 2, Interesting

    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.

  12. Mandelbrot.ps by TeknoHog · · Score: 3, Interesting
    That reminds me, here's a real classic. It computes and draws the famous fractal, and might be quite nasty on shared printers ;-)

    %!ps
    /iter 60 def /reso .005 def /sq { dup mul }
    def /mod { 2 copy div floor mul sub } def
    /plot { newpath moveto 1 0 rlineto stroke }
    def gsave 280 420 translate 260 2 div dup
    scale 2 260 div setlinewidth -2 reso 2 { /x
    exch def -2 reso 2 { /y exch def /r 0 def
    /i 0 def 0 iter { r sq i sq add 4 gt { exit
    } if r sq i sq sub x add /i 2 r mul i mul y
    add def /r exch def 1 add } repeat 10 mod
    .1 mul .1 add setgray x y plot } for } for
    grestore showpage
    --
    Escher was the first MC and Giger invented the HR department.
  13. Apple / Motorola / IBM already did this by Anonymous Coward · · Score: 1, Interesting

    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.