AMD Realizes Significant Reduction in Power Consumption by Implementing Cyclos Resona

Page 6 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

taltamir

Lifer
Mar 21, 2004
13,576
6
76
The moniker "APU" is AMD's to define as they like, right?

Language does not work that way.
AMD might have originally coined the term but its ultimate meaning is out of their hands.
Even if it were, they don't get to constantly redefine it as they see fit... nor do they get to define it in an exclusionary manner (aka, "an APU is a CPU+GPU except for <insert list of competitors of AMD>")
 

Haserath

Senior member
Sep 12, 2010
793
1
81
Language does not work that way.
AMD might have originally coined the term but its ultimate meaning is out of their hands.
Even if it were, they don't get to constantly redefine it as they see fit... nor do they get to define it in an exclusionary manner (aka, "an APU is a CPU+GPU except for <insert list of competitors of AMD>")

APU- AMD Processing Unit

But really, an APU is meant for CPU+GPGPU processing, right? Other versions of CPU+GPU weren't meant to have the GPU as a co-processor.
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
APU- AMD Processing Unit

But really, an APU is meant for CPU+GPGPU processing, right? Other versions of CPU+GPU weren't meant to have the GPU as a co-processor.

But it's pretty much a given that any new non-intel gpu in the pc space is gpgpu capable. It would be safe to assume, since all of the ati parts are capable of it, that any ati-based gpu that is integrated in to a cpu will be capable of gpgpu.
 

Ferzerp

Diamond Member
Oct 12, 1999
6,438
107
106
But does quicksync do anything other than encode? That sort of fails the definition of general purpose.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
VLIW5 isn't exactly general purpose either.

I believe he meant that all the VLIW5 GPUs support OpenCL.

OpenCL (Open Computing Language) is the first open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and handheld devices using a diverse mix of multi-core CPUs, GPUs, Cell-type architectures and other parallel processors such as DSPs.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
Good, you can quote the marketing blurb. Now, do you know how OpenCL actually works? Notice it says uniform environment, not uniform code?

OpenCL is good, but it's not magic.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
Notice it says uniform environment, not uniform code?

Notice you said general purpose, not uniform code?

It's intended purpose is exactly as the previous poster indicated it was, now you are just nitpicking about how that purpose works out in practice.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
What am I nitpicking? General purpose code doesn't run on GPUs. Period. Go ahead and code an email client or sales system using OpenCL and current hardware.

You'll find it's all running on the cpu.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
What am I nitpicking? General purpose code doesn't run on GPUs. Period. Go ahead and code an email client or sales system using OpenCL and current hardware.

You'll find it's all running on the cpu.

Itanium based systems ran all of those applications, using VLIW.
 

blckgrffn

Diamond Member
May 1, 2003
9,198
3,185
136
www.teamjuchems.com
Yes, that is what I just said. What is the confusion?

Not all of the instructions needed for actual general purpose code are in place? Heck, clearly out of my depth but I would think this would be a compiler issue if anything... or is OpenCL only really offloading a certain portion of the instructions to the GPU while leaving most of it on the CPU (like Phynaz seems to imply?) As in, OpenCL doesn't just take a glob of work and run it against your GPU, it uses hardware acceleration for portions of code, like using special instruction sets on a CPU given their availability.

Isn't part of the issue that a GPU is very strong on parallel code but might be embarrassingly inefficient at single threaded work?
 
Last edited:

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
Yeah I don't know, that is why I am asking.

Phynaz says VLIW5 can't handle general purpose code. VLIW obviously can handle general purpose code just fine, in the case of Itanium. Is there some massive technical difference between the VLIW used for Radeon cards and the VLIW used for Itanium?


Also, I'd like to point out lack of something doesn't prove it's not possible and inefficiency isn't the same as incapability.

GPU might be terrible candidates for running the code that makes an email server work, which may be why no compiler would ever compile code that uses them, but that doesn't prove they can't handle such code. CPUs are an order of magnitude slower are breaking encryption compared to GPUs, so any sane compiler will compile code that uses the GPU power to break encryption- does that mean CPUs can't be used for general purpose programming, since this specific example is typically done on a GPU instead? Or, duh, graphics. CPU could be used to "accelerate" 3d graphics, but they are so slow and inefficent compared to GPU they aren't used. Does that make a CPU any less of a general purpose device, since it's not used for the purpose of accelerating 3d graphics?
 
Last edited:

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Isn't part of the issue that a GPU is very strong on parallel code but might be embarrassingly inefficient at single threaded work?

As I understand it, its not that GPUs are bad in single thread. But that CPUs are ridiculously wasteful in parallel resources just to eke out every ounce of single thread performance.

For example, if function B requires the result from function A to solve, a CPU will start solving function B with multiple guessed answers for function A. When function A finally finishes it will discard the incorrect guesses, if all are incorrect it will start function B again from beginning.
 

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
Yeah I don't know, that is why I am asking.

Now that you're asking instead of being the fanboy you'll get some answers.

As blckgrffn stated, one of the issues is instruction set. One thing that makes GPUs go fast is they don't have to accommodate much. They are very specialized to do a few thing very quickly.

Because of this specialization, the overall architecture of the chip is tuned to perform specific functions.

For example let's take a look at the cardinal rule for GPU programming - limit conditional branches. Start throwing branchy general purpose code at a GPU and performance can plummet by 99%. Because the architecture just isn't designed to do that. Even if they had instructions for branches, the overall chip design isn't built around that.

So you know what happens when you add in all the stuff to run general purpose code (Intel has something like 1,000 instructions in their CPU's)? You end up with a CPU. Not a massive 2,000 shader GPU, but a 4-6-8 core CPU.

Now this is where OpenCL comes in. OpenCL allows the programmer to say "I know this specific function of my software will run faster on a GPU - go run it over there". Notice it's not (yet) something that happens automatically at compile time. The programmer still has to write code for both the CPU and GPU. OpenCL just gives them a unified API environment to do so.
*Disclaimer - I'm not, nor have I ever been a professional programmer. The above on OpenCL is how I understand it.*
 
Last edited:

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
I guess we just have different definitions of "general purpose". General purpose doesn't mean you must use something for everything.

Brain surgeons don't wear "general purpose work gloves", does that mean work gloves aren't really general purpose? No, of course not. General purpose, to me, simply means something usable for multiple purposes, instead of just one dedicated purpose (3d graphics).

The fact that OpenCL is smart enough to avoid making the general purpose GPU do things it is inefficient at doing doesn't make it any less of a general purpose device, IMO.

You are saying, well a GPU can't run an email client or sales system, so it's not general purpose. To me, that is the equivalent of saying a CPU is not general purpose, because it can't run DirectX 11 nor can it mine bitcoins at an efficient rate.


TL DR, General purpose does not mean usable for every purpose. Your tests are flawed and your conclusions have no merit.
 

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,785
136
But that CPUs are ridiculously wasteful in parallel resources just to eke out every ounce of single thread performance.

I wouldn't put it that way. It's just life.

There are always sacrifices to be made. Nothing is free. More specialized circuits perform better because they are built and optimized for it. Example are circuits like QuickSync. They beat GPUs because its a dedicated transcoding circuitry. It can't run anything else but in return you get ultra small die usage and very low power, at the same time being better at performance.

Naturally I think the move to more GPGPU compute makes video cards less efficient at traditional 3D. But It's becoming to a point where absolute performance isn't as necessary, hence the GP focus.

Prior to GPU programming languages, it was solely limited to 3D. Then came video playback. Newer cards make it more viable, but still only a handful of applications can run(at all I mean) vs. millions for CPUs.

Part of not being able to run at all has to do with GPUs lack of performance in those apps, but part is because GPUs have its roots at specialized 3D graphics processing. It's all part of maintaining a balance. Now that people are seeing benefits in extremely parallel and FP intensive code, new usage is appearing.

BTW, CPUs can run anything, as long as you are willing to compile for them. You simply can't do that in a GPU, hence why the former is general purpose and latter is not.
 
Last edited:

Phynaz

Lifer
Mar 13, 2006
10,140
819
126
I guess we just have different definitions of "general purpose". General purpose doesn't mean you must use something for everything....

General purpose - "Having a range of uses or applications; not restricted to one function".
That does not describe a GPU. A GPU has limited functionality, it is essentially very wide vector calculator.

The fact that OpenCL is smart enough to avoid making the general purpose GPU do things it is inefficient at doing doesn't make it any less of a general purpose device, IMO.

This is the part you aren't getting. OpenCL does not do what you think it does. OpenCL is not"smart". It doesn't make decisions on what runs where. The programmer does all that.
 
Last edited:

exar333

Diamond Member
Feb 7, 2004
8,518
8
91
I wouldn't put it that way. It's just life.

There are always sacrifices to be made. Nothing is free. More specialized circuits perform better because they are built and optimized for it. Example are circuits like QuickSync. They beat GPUs because its a dedicated transcoding circuitry. It can't run anything else but in return you get ultra small die usage and very low power, at the same time being better at performance.

Naturally I think the move to more GPGPU compute makes video cards less efficient at traditional 3D. But It's becoming to a point where absolute performance isn't as necessary, hence the GP focus.

Prior to GPU programming languages, it was solely limited to 3D. Then came video playback. Newer cards make it more viable, but still only a handful of applications can run(at all I mean) vs. millions for CPUs.

Part of not being able to run at all has to do with GPUs lack of performance in those apps, but part is because GPUs have its roots at specialized 3D graphics processing. It's all part of maintaining a balance. Now that people are seeing benefits in extremely parallel and FP intensive code, new usage is appearing.

BTW, CPUs can run anything, as long as you are willing to compile for them. You simply can't do that in a GPU, hence why the former is general purpose and latter is not.

Great summary. For the 'old guys' here, we have seen these video functions go on and off the CPU over the years. The CPU is really amazing in that it can really do anything, just not always as fast we need it do.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
A GPU has limited functionality, it is essentially very wide vector calculator.

And a CPU is essentially a calculator. I fail to see the difference, other than a difference of opinion.


BTW, CPUs can run anything, as long as you are willing to compile for them. You simply can't do that in a GPU, hence why the former is general purpose and latter is not.


Is that really true? I recall in the old days when 3d was a new thing, most games had a CPU code path, but not anymore. How exactly can you execute a directX 11.1 program on a CPU alone?
 
Last edited:
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |