Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

AMD makes GPU compute a reality with hQ -- Heterogeneous Queues make GPUs a full peer in compute
semiaccurate.com ^ | Oct 21, 2013 | by Charlie Demerjian

Posted on 10/22/2013 9:54:09 AM PDT by Ernest_at_the_Beach

Heterogeneous Queues make GPUs a full peer in compute

AMD is finally talking about hQ or Heterogeneous Queuing, the final step in the Fusion integration of CPU and GPUs. hQ itself is more of a mechanism for software to utilize the hardware that is in Kaveri, but it will carry over in to much much more.

Conceptually speaking hQ is a pretty simple idea to explain because at its most basic level all it does is allow the GPU to send tasks to the CPU. Of course this simple thing to explain has a lot of tech behind it, simplicity is usually the product of a lot of hard work. Before hQ the CPU could place tasks on to the GPU’s queue but not the other way around. Schematically it looked like this.

(Excerpt) Read more at semiaccurate.com ...


TOPICS: Business/Economy; Computers/Internet
KEYWORDS: hitech

1 posted on 10/22/2013 9:54:10 AM PDT by Ernest_at_the_Beach
[ Post Reply | Private Reply | View Replies]

To: ShadowAce; Marine_Uncle; SunkenCiv
Getting interesting.

Will Games be the first app to implement this?

2 posted on 10/22/2013 9:57:20 AM PDT by Ernest_at_the_Beach
[ Post Reply | Private Reply | To 1 | View Replies]

To: Ernest_at_the_Beach
RE: "Will Games be the first app to implement this?"

Good question.
3 posted on 10/22/2013 10:32:37 AM PDT by Marine_Uncle (Galt level is not far away......)
[ Post Reply | Private Reply | To 2 | View Replies]

To: Ernest_at_the_Beach

>> Heterogeneous Queues

Had to read that one a couple times, carefully.


4 posted on 10/22/2013 10:40:53 AM PDT by Nervous Tick (Without GOD, men get what they deserve.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Nervous Tick
You could try this one:

Homogeneous Embedding....

5 posted on 10/22/2013 10:48:30 AM PDT by Ernest_at_the_Beach
[ Post Reply | Private Reply | To 4 | View Replies]

To: rdb3; Calvinist_Dark_Lord; Salo; JosephW; Only1choice____Freedom; amigatec; Still Thinking; ...

6 posted on 10/22/2013 11:09:24 AM PDT by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Ernest_at_the_Beach
Almost all of the hQ work is done in userspace with only minimal work done in the kernel. This minimizes transitions and the overhead they bring and also allows apps to do what they need to do without costly privilege escalation. Once again the idea is to minimize any performance sapping overhead that doesn’t need to be there in any way possible and it sounds like AMD did a pretty decent job of it too.

Sounds suspicious to me-- what manages GPU contention between different user space apps? Isn't that what you need a kernel/scheduler for? If so, aren't you back having to pass msgs through the kernel?

7 posted on 10/22/2013 11:31:22 AM PDT by pierrem15 (Claudius: "Let all the poisons that lurk in the mud hatch out.")
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce

I don’t even know what the headline means


8 posted on 10/22/2013 12:30:54 PM PDT by GeronL
[ Post Reply | Private Reply | To 6 | View Replies]

To: Ernest_at_the_Beach
What do you end up with? In APUs at least a CPU can work on a program for the serial portions and then simply pass it to the GPU in the middle of a running task. Nothing gets interrupted from the user perspective and the latency is minimal. Parallel portions can then run on the GPU and then it can pass the thread back to the CPU when the parallel portions are done.

And here we are back at threading issues. This is the same problem with quad- or octo-core processors. They are extremely under-utilized because the extra threads can only be utilized under two conditions:
The tasks cannot be linear. They have to be parallel. The program has to be designed for multiple threads.

I don't think the utilization of this is going to be useful for most people, as CPUs are already plenty powerful and multi-cored. The main beneficiary of this will be, as the first couple posters mentioned, gamers. The primary benefit I see, at least in the short term, is passing graphical processing over to the CPU.
9 posted on 10/22/2013 12:58:36 PM PDT by Svartalfiar
[ Post Reply | Private Reply | To 1 | View Replies]

To: pierrem15; Svartalfiar
If the app (Think Games ) basically owns the Graphics card....then the app is responsible for managing how the graphics GPU is being used.
10 posted on 10/22/2013 2:48:14 PM PDT by Ernest_at_the_Beach
[ Post Reply | Private Reply | To 7 | View Replies]

To: pierrem15

We had a customer do the opposite to us back around 1985 ,, had MVS handle most of his user programs operations to avoid having SMF record the actual cputime needed for his job to run. Having the OS handle the datasort and such was very inefficient.. lots of overhead.


11 posted on 10/22/2013 5:08:58 PM PDT by Neidermeyer (I used to be disgusted , now I try to be amused.)
[ Post Reply | Private Reply | To 7 | View Replies]

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson