What are the benefits/reasons for two Graphics Command Processors in AMD GCN?

Shifty Geezer

uber-Troll!
Moderator
Legend
We have learnt from leaked documents that in a customised GCN part (XBox One processor), there is a second graphics command processor. What would the benefit of this be? As I understand it, it won't benefit utilisation at all as the system already contains fine granularity around workloads with numerous queues for graphics and compute jobs. Would a second GCP enable parallel graphics tasks, and treating the 12 CUs as two separate GPUs? Would this have a performance benefit? This particular machine also features a discrete system OS and game OS and realtime composition of the two. Would two GCPs benefit running the system graphics alongside the game graphics? That's my favoured explanation but I know squat, and after a lot of rather indeterminate discussion in the Console Tech forum, I felt this worth discussing with the GPU crowd who have some serious expertise in this field. ;)
 
is it really the Graphic command processor ? Not the ACE instead ? Asynchronous Compute engine

AMD GCN 7000 series
2r57qix.png


AMD Hawaii:

200r4w5.png
 
Yes, it's definitely two Graphics Commands Processors and two Compute Command Processors. AFAIK PS4 doesn't have it, but that's somewhat immaterial to the discussion anyway. Hypothetically, what would a second command processor bring in any implementation of GCN?
 
Is it not simply related to Kinect or something else particular to the Xbox one OS ( the top layer display allways available ? )

For games alone, computing etc, this will not change anything . This seems mostly for separate them and make them work independently of each other.

I could be totally wrong, was just an idea.. but if even the bigger computing Firepro or server one dont need / have it, This is not for increase the performance of the gpu that it is here.
 
Last edited:
There are 4 total "Command Processors" on the XB1 architecture, 2 are Graphics and 2 are Compute ...

This is what a "Command Processor" HW architecture looks like..

B7q9e8MCYAAmsZO.png
 
These Hardware "Command Processors", wether they are the Compute or Graphics ones, take commands from the commandlists that the Direct3D DeviceContexts serve up ..

There are 2 new types of DeviceContexts introduced in DirectX api in Dx11.x

a. Compute
b. DMA

The existing types of DeviceContexts in Dx11 are

a. Immediate (single threaded graphics draw & compute dispatch)
b. Deffered (multi-threaded graphics draw & compute dispatch)

I discussed that over here in the other xb1 xdk thread
 
The Xbox One allows up to a maximum of 48 "deferred contexts" ... which for me being a developer means I can instantiate as many as 48 DeviceContexts (deferred, compute) from above ...

BUT because the number of jag cores on the XB1 is 8, 7(6) or which are accessible to the GameOS , only 6-7 are ever serving up work per cycle

B7rAy7OCcAEX9pM.png


BUT as the comment says above .. we may want to "Context Switch" between these 48 device contexts.

We may want to instantiate more than 8, some Contexts may be working on tasks that take longer than a cycle to complete hence you would want to switch in another context in the mean time..
 
Last edited:
Sorry for being a necromancer but if true could it be for parallel shadow map generation and consumption? Although the size of XBone's ESRAM might be a problem if that were the case.
 
I'd guess its for Xbox One Ui/OS/Snap. That is why developers don't have much info about it because its transparent to them, they cannot access it nor do they need to. Thats why we don't gain a full understanding of it from leaked sdk. That is why you see the devs talking about how "esram is a win", "esram is great", "esram allows them to do this and that", yet not a single developer has said anything at all about the 2nd command processor enabling some advantages in Xbox One or improving game performance, infact not even anything is ever said. Thats why you don't see microsoft talking about how their 2nd command processor improves game performance.
 
Seems overkill for using an entire command processor just for some overlay stuff, yes? :)
 
Back
Top