By: David Kanter (dkanter.delete@this.realworldtech.com), November 8, 2009 4:11 pm
Room: Moderated Discussions
MoTheG (better@not.tell) on 11/8/09 wrote:
---------------------------
>I still am surprised that the Atom scored so well.
I was as well when I was putting this together. Initially I just had high performance CPUs, and I thought for fun I'd throw in GPUs and Atom and see where they stand. I was more than a little surprised at the results.
>ofcause the benchmark was parallel and explicit at that, >thus there was no gain
>from OoO-processing but a factor of >3 ?
Well there wasn't a benchmark, but you are absolutely correct the metric didn't incorporate the advantages of OOO. Or caches for that matter.
>Doesn't the article make a good argument for keeping CPUs >and GPUs different?
>A CPU can not be as good at large parallel tasks because >it carrys its sequential strength as a burden.
Actually that strength really is a strength. Many workloads are very difficult to parallelize or vectorize with a compiler. Think GCC or most latency sensitive applications.
There's no reason why a CPU cannot have a bunch of massively parallel execution resources like a GPU and simply use the most appropriate hardware for the task.
From a physical perspective, the distinction is really about power consumption and memory bandwidth vs. latency.
A separate GPU makes a lot of sense where you need lots of power and memory bandwidth AND the CPU guys don't want to provide it. As you can see from Intel and AMD, they are now interested in figuring out how to work with the folks who do have those needs.
>with the GPU getting easyer to use (OpenCL, DirectX11, >CUDA, Brook+) and better
>connected (PEG), CPUs should concentrate on those tasks >that are to small to be off-loaded.
GPUs are getting easier to use means they are improving relatively speaking to prior generations. It says nothing about suitability for the general programming populace.
Explicitly parallel stuff is easy to exploit, and if you're going to rewrite software, then you need to compare optimized CPU code vs. GPU code. That's something NV has a big problem understanding - most of their magical 100X speed ups are probably comparing poorly optimized CPU code with optimized GPU code.
David
---------------------------
>I still am surprised that the Atom scored so well.
I was as well when I was putting this together. Initially I just had high performance CPUs, and I thought for fun I'd throw in GPUs and Atom and see where they stand. I was more than a little surprised at the results.
>ofcause the benchmark was parallel and explicit at that, >thus there was no gain
>from OoO-processing but a factor of >3 ?
Well there wasn't a benchmark, but you are absolutely correct the metric didn't incorporate the advantages of OOO. Or caches for that matter.
>Doesn't the article make a good argument for keeping CPUs >and GPUs different?
>A CPU can not be as good at large parallel tasks because >it carrys its sequential strength as a burden.
Actually that strength really is a strength. Many workloads are very difficult to parallelize or vectorize with a compiler. Think GCC or most latency sensitive applications.
There's no reason why a CPU cannot have a bunch of massively parallel execution resources like a GPU and simply use the most appropriate hardware for the task.
From a physical perspective, the distinction is really about power consumption and memory bandwidth vs. latency.
A separate GPU makes a lot of sense where you need lots of power and memory bandwidth AND the CPU guys don't want to provide it. As you can see from Intel and AMD, they are now interested in figuring out how to work with the folks who do have those needs.
>with the GPU getting easyer to use (OpenCL, DirectX11, >CUDA, Brook+) and better
>connected (PEG), CPUs should concentrate on those tasks >that are to small to be off-loaded.
GPUs are getting easier to use means they are improving relatively speaking to prior generations. It says nothing about suitability for the general programming populace.
Explicitly parallel stuff is easy to exploit, and if you're going to rewrite software, then you need to compare optimized CPU code vs. GPU code. That's something NV has a big problem understanding - most of their magical 100X speed ups are probably comparing poorly optimized CPU code with optimized GPU code.
David
Topic | Posted By | Date |
---|---|---|
Article: Computational Efficiency in Modern Processors by DK | MoTheG | 2009/11/08 07:02 AM |
Article: Computational Efficiency in Modern Processors by DK | none | 2009/11/08 07:15 AM |
Silverthorne and OoO vs. InOrd | MoTheG | 2009/11/08 07:22 AM |
Silverthorne and OoO vs. InOrd | David Kanter | 2009/11/08 04:11 PM |
Magical 100x speedups | AM | 2009/11/09 09:03 AM |
Magical 100x speedups | David Kanter | 2009/11/09 12:41 PM |
Magical 100x speedups | none | 2009/11/09 01:36 PM |
Magical speedups | David Kanter | 2009/11/09 03:24 PM |
Magical speedups | none | 2009/11/09 03:40 PM |
Hardware Specs | MS | 2009/11/09 05:49 PM |
44x faster than a single cpu core | Vincent Diepeveen | 2009/11/10 08:17 AM |
Magical speedups | Vincent Diepeveen | 2009/11/10 08:02 AM |
Xeon 130x speedup vs Xeon | Eric Bron | 2009/11/10 08:20 AM |
Magical 100x speedups | AM | 2009/11/10 10:42 AM |
Magical 100x speedups | Linus Torvalds | 2009/11/10 01:19 PM |
Mega speedups | AM | 2009/11/11 06:21 AM |
Bogus 100x speedups | David Kanter | 2009/11/10 01:26 AM |
No speedups for CPUs for the general programming populace | MoTheG | 2009/11/10 05:26 AM |
Bogus 100x speedups | ? | 2009/11/10 05:45 AM |
Bogus 100x speedups | hobold | 2009/11/10 07:31 AM |
Bogus 100x speedups | Vincent Diepeveen | 2009/11/10 08:26 AM |
Bogus 100x speedups | sylt | 2009/11/10 10:00 AM |
Bogus 100x speedups | AM | 2009/11/10 10:47 AM |
GPU vs. CPU | MoTheG | 2009/11/09 11:30 AM |
GPU vs. CPU | a reader | 2009/11/09 07:58 PM |
ease of programming | MoTheG | 2009/11/09 11:45 PM |
yes for GPU programming you need non-public info | Vincent Diepeveen | 2009/11/10 08:36 AM |
yes for GPU programming you need non-public info | Potatoswatter | 2009/11/11 08:06 AM |
yes for GPU programming you need non-public info | Vincent Diepeveen | 2009/11/11 11:23 AM |
yes for GPU programming you need non-public info | Potatoswatter | 2009/11/11 01:26 PM |
Real businesses use GPGPU. | Jouni Osmala | 2009/11/11 11:00 PM |
GPU vs. CPU | ? | 2009/11/10 06:01 AM |
2. try but most is said, just clarifying | MoTheG | 2009/11/10 10:24 AM |
2. try but most is said, just clarifying | ? | 2009/11/11 01:11 AM |
you missread me | MoTheG | 2009/11/12 12:33 AM |
you missread me | ? | 2009/11/12 01:18 AM |
2. try but most is said, just clarifying | Potatoswatter | 2009/11/11 08:22 AM |
2. try but most is said, just clarifying | ? | 2009/11/12 01:22 AM |
loose, not so orderly | MoTheG | 2009/11/12 12:47 PM |
loose, not so orderly | Potatoswatter | 2009/11/12 06:50 PM |
2. try but most is said, just clarifying | rwessel | 2009/11/12 01:01 PM |
2. try but most is said, just clarifying | Gabriele Svelto | 2009/11/13 12:39 AM |
2. try but most is said, just clarifying | ? | 2009/11/13 01:14 AM |
2. try but most is said, just clarifying | Gabriele Svelto | 2009/11/13 01:30 AM |
2. try but most is said, just clarifying | rwessel | 2009/11/13 01:24 PM |
2. try but most is said, just clarifying | Michael S | 2009/11/14 01:08 PM |
2. try but most is said, just clarifying | Gabriele Svelto | 2009/11/14 11:38 PM |
2. try but most is said, just clarifying | Andi Kleen | 2009/11/15 01:19 AM |
2. try but most is said, just clarifying | Michael S | 2009/11/15 01:58 AM |
2. try but most is said, just clarifying | Eric Bron | 2009/11/15 02:25 AM |
/MP option | Eric Bron | 2009/11/15 02:33 AM |
/MP option | Paul | 2009/11/15 09:42 AM |
/MP option | Eric Bron | 2009/11/15 01:22 PM |
2. try but most is said, just clarifying | ? | 2009/11/15 03:13 AM |
2. try but most is said, just clarifying | Michael S | 2009/11/15 05:14 AM |
2. try but most is said, just clarifying | Eugene Nalimov | 2009/11/14 09:24 PM |
Atom point | AM | 2009/11/09 09:00 AM |
Atom TDP | David Kanter | 2009/11/09 12:48 PM |
Atom TDP | hobold | 2009/11/10 07:41 AM |
Atom TDP | AM | 2009/11/10 10:49 AM |