cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

glupescu
Adept I

OpenCL device fission on GPGPUs

Hello,

I'm currently looking into subdevice creation/device fission with GPGPUs. From what I see it is a part of OpenCL 1.2 and listed here by Khronos clCreateSubDevices

From what I've read on the internet an in the AMD forums device fission is NOT supported, example [1], [2].

I'd like to mention that I did a query on CL_DEVICE_PARTITION_MAX_SUB_DEVICES and got 8 respective 16 for AMD Kaveri A10 and R7 265 respectively yet clCreateSubDevices always returned invalid value (regardless of any properties value I'd give). The CPU partition of course works without any issues. My questions are the following:

1. Is device fission supported on any GPU from AMD ? If not is there any plan for a future GPU ?

2. If GPU device fission is not supported why is this ? Is there any clear hardware constraint for this or is it just not implemented in software yet ?

3. Are AMD GPUs supporting OpenCL 1.2 (the latestet SDK 3.0 advertises 2.0 actually). If so is the subdevice feature optional or do the conformance tests not include such a test ?

Regards,

Grigore

[1] Device Fission on GPU

[2] Is Device Fission supported for GPU in APP SDK 2.9? (OpenCL 1.2)

0 Likes
1 Solution
dipak
Big Boss

1. AFAIK, currently device fission is not supported on AMD GPUs. Can't say about the future GPUs at this point.

2. I'm not aware of any.

3. Yes, most of the AMD GPUs support OpenCL 1.2. Actually device fission is supported on AMD CPUs. So, it does support the API as required. However, in case of GPU, it doesn't allow actually partitioning device. It returns an error code for clCreateSubDevices API.

Regards,

View solution in original post

0 Likes
4 Replies
dipak
Big Boss

1. AFAIK, currently device fission is not supported on AMD GPUs. Can't say about the future GPUs at this point.

2. I'm not aware of any.

3. Yes, most of the AMD GPUs support OpenCL 1.2. Actually device fission is supported on AMD CPUs. So, it does support the API as required. However, in case of GPU, it doesn't allow actually partitioning device. It returns an error code for clCreateSubDevices API.

Regards,

0 Likes
dipak
Big Boss

To know the supported partitioning scheme(s), clGetDeviceInfo can be called with param name CL_DEVICE_PARTITION_PROPERTIES. If the device cannot be partitioned (i.e. there is no partitioning scheme supported by the device that will return at least two subdevices), a value of 0 will be returned. This is true for AMD GPUs also.

Regards,

0 Likes

So why hasn't this been implemented in any way for GPUs ? You said you don't think there would be any reason this isn't possible or extremely difficult. (2. I'm not aware of any.).

0 Likes

I think you misunderstood my reply. I meant to say that there may be some technical limitations but, at least, I'm not aware of such. Sorry for this confusion.

0 Likes