Hi all,
Is there any way to assign/dedicate some of compute units in GCN architecture to two context on the same GPU ? Or,
Is there any time schedule to support partitioning a device (clCreateSubDevices) on GCN architecture ?
Thanks in advance
Bardia
There is not. Multiple contexts managing the same device probably isn't a good idea in general. You can of course construct multiple queues for a given device and the runtime may interleave work on it.
I thought I read somewhere that gcn supports the device fission extension. If that's the case does that mean that you can partition a GPU but use the partitions only from within the same context (e.g. using several queues in that context)?
Cheers,
Dominic
I'm pretty sure that it doesn't support fission. In theory there is limited fission that the hardware can deal with through multiple hardware queues but it is not exposed at the moment. I will check, though.
Hi Lee,
Thanks for your reply,
Waiting for your new information!
Regards
Bardia
Quote from the "Southern Islands Series Instruction Set Architecture" :
"Differences Between the HD 6900 Family and Southern Islands Series of Devices.
Dual Asynchronous Compute Engines (ACE):
◊ Efficient multi-tasking with independent scheduling and workgroup dispatch
◊ Parallel operation with graphics and fast switching between task submissions
◊ Support of OCL 1.2 device partitioning.
"
Device Fission is supported on the CPU device - if my memory serves right.
GCN devices have the capability to run multiple kernels simultaneously -- i.e. a hardware capability.
It is not still exposed out as device fission.
Also, I think there is a device fission sample in the AMD APP SDK. (using CPU device, I believe)
You may want to check it out.
Hi Himanshu,
I am aware of both, but I'm waiting for a reply from AMD guys:
When fission on GCN ?
Regards
Bardia
Hi bardia,
It may be implemented in future with HSA (and GCN), but we cannot give any commitments on the roadmap here.