Posted By: tfraser | Aug 30th, 2008 @ 5:36 AM
page 1 of 2
Comments: 25 | Views: 1350
Boing Boing Gadgets has an article (with video) about the demonstration made by Adam Savage and Jamie Hyneman on the last day of the NVISION 08 conference.

It seems to me that this is just the latest in NVIDIA's series of not-so-subtle attacks on Intel and the CPU industry in general. The basis of the CPU robot hardly reflects the multi-core architecture found in modern CPUs, while the GPU robot significantly overstates the extent to which parallel processing is used in similarly recent GPUs.

Details aside though, the sight of 1100 paint balls drawing the Mona Lisa in 275 milliseconds has something inherently awesome about it.
littleguru
littleguru
<3 Seattle
You are so right. Not all tasks can be highly parallelized such as processing a picture and it leaves also out the coordination parts etc.
stevo_
stevo_
Human after all
Recently nvidia have been doing nothing but dissing intel.. dissing ray tracing.. saying we are the way.. and showing nothing technologically interesting.. I hope their getting complacent.. because that means their about to get destroyed..
Correct me if I'm wrong, but isn't the point of having discrete CPUs and GPUs to have good integer performance on one and good floating-point performance on the other?
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
While I have to agree that many things cannot be parallelized,  picture processing is not the counter-example I would choose. Most picture analysis algorithms use a divide-and-conquer approach in order to gain high levels of parallelism and both FF and matrix transforms are embarrassingly parallelizeable (which means blur, recolor, sharpen, filter, grayscale, morph, clone, etc are all parallelizeable)

A better example of something that is non-parallelizable is disk access on a single disk head. While there are certainly algorithms for disk access that are better than others, because the data can only be read from the point where the head is, it's intrinsically not parallelisable to read it. (Note that some file systems scatter large files across multiple heads to sort-of get around this, but the point stands)
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
No - the point is to have a general purpose fast processor for ordinary operations and to have a dedicated processor for graphical applications that can abuse things like vector operations and the fact that most graphics operations are small functions over large data in hardware, which is expensive and unnecessary for a GPU.
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
It's show for Average Joe... All this "power" a little bit useless in real live.
1. "GPU" is much more powerful in some areas(!) than "CPU" because it's functionality is "specific"
2. "GPU" is still "SINGLE core".
3. GPU is good in graphics, in scientific calculations, but not in real life.
4. Only independent processes can work in parallel.
 
What MB showed is just a "single core vs. many cores", not "CPU vs. GPU"
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
2. "GPU" is still "SINGLE core"
That's not true anymore. Both NVidia and AMD are making asymmetric multicore GPUs.

3. GPU is good in graphics, in scientific calculations, but not in real life.
GPUs are hard to write code for, granted, but there's no reason in principle why they can't be used for "real life"

4. Only independent processes can work in parallel.
What? How so?
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
Nope. GPUs are still single-core. It's just a marketing game. Depends on definition of "core".
littleguru
littleguru
<3 Seattle
It was bad wording... what I actually meant is what you said.

@BlackTiger: so many depends on definitions. A lot can be re-defined (with a little bit of phantasy) to match a definition.
BlackTiger
BlackTiger
If you stumbled and fell down, it doesn't mean yet, that you're going in the wrong direction.
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
No it's not. NVidia even have a new language called CUDA (link) which is a variant of C specifically to deal with the fact that instructions and data are being offloaded in the GPU to a potentially large number of cores for vector processing.

This isn't a problem of definitions either. The various new processors in the AMD and NVidia coming out imminently have dedicated lines to texture and constant memory, their own on board vector GPU and memory cache.
To be fair, I think he's referring to the fact that single-core CPUs have, for a while, contained multiple parallel execution units (and I'm not even talking about HyperThreading).
The video is indeed very biased. First they use one gun with MOVING aiming system, while the second uses so many guns WITHOUT MOVING aiming. It is like HDD moving disc vs RAM non-moving memory. This only demonstrate technology with moving parts is less effecient. It has nothing to do with processing. If you put CPU in that massive pain gun, simular performance will be achieved.

Another thing is that this video is not talking about CPU vs GPU. It is talking about Single Process vs Multi-Processes. And we all know not every thing can be multi-threaded, especially office applications.

The real CPU vs GPU should be more like Ray Tracing performance comparison.
Bas
Bas
It finds lightbulbs.
It's too bad those guys are lending themselves to this sort of nonsense. First Hyneman's nonsensical article about what was wrong with modern operating systems, in which he managed to contradict himself several times and demonstrated that he only has a marginal grasp of the concept he's discussing, and now this. They're losing credibility fast.
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
That's certainly true. CPUs have for some time now been able to crazy stuff like branch prediction and memory-second-guessing in order to get some good speedups.
littleguru
littleguru
<3 Seattle
My problem with this "is it multicore or not" is the following: when I write a shader right now it feels really like multi core even if it might not... everything is abstracted away and I write my little functions that are invoked without real state that I can modify yaddayadda... so why should I care? (wearing the dev hat right now)
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
GPU processing is typically about running a very small program over a very large number of objects. A huge function-map if you will. GPU programs are usually things like "given a light as a unit vector in this direction, dot product it with these 200,000 vectors, preferably in the next .1 of a second" or "Given these 20 diffuse light sources, calculate the light normals on these 80,000 polygons".

CPUs are a whole different kettle of fish. A CPU core is typically asked to run an entire thread, which may be "Given this request for a webpage, compute the HTML response and send it on this socket" or "Given this source file, compute the abstract syntax tree, attempt to optimise it, compile it and write it to this .obj file". Notice that these are comparatively large tasks that benefit much more from having access to main memory, whereas GPUs typically care about huge arrays of simmilar data.

Consequently the argument that "GPU cores arn't like CPU cores and are therefore worse" is a bit disingenuous.
Bass
Bass
www.s​preadfirefox.c​om/5years/
Where do I buy such a "massively parallel" paint ball launcher? Will it come in the box with the nex-gen Nvidia GPUs?
littleguru
littleguru
<3 Seattle
Haha. I wonder if there is a geek store that sells like dev, test, pm hats. Would be awesome.
Bass
Bass
www.s​preadfirefox.c​om/5years/
So in the future we won't be using LCDs, but paintball launchers will create the video in real time? I like it!
evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
In the slow-motion at the end of the video you see how much paint is given off as smoke. I don't want to watch a video of 24 times that much paint being emitted into the air every second for an hour. ... Perplexed
page 1 of 2
Comments: 25 | Views: 1350
Microsoft Communities