cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

uforob
Journeyman III

5830 OpenCL support for double

I have a Radeon HD 5830 wich, according specifications here

http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-5000/hd-5830/Pages/hd-5830-overview.aspx#2

can perform double-precision operations but why running CLInfo from samples in SDK i obtain 0 as preferred vector width for double? and why for max clock frequency there is a 0?

Can it depend frome runtime being OpenCL 1.1? (I use the ATI Stream SDK 2.2 with Ubuntu 10.04 and Catalyst 10.10). Can it depend from ATI not supporting the optional standard double extension but a proprietary one?

 Device Type:                     CL_DEVICE_TYPE_GPU
  Device ID:                     4098
  Max compute units:                 14
  Max work items dimensions:             3
    Max work items[0]:                 256
    Max work items[1]:                 256
    Max work items[2]:                 256
  Max work group size:                 256
  Preferred vector width char:             16
  Preferred vector width short:             8
  Preferred vector width int:             4
  Preferred vector width long:             2
  Preferred vector width float:             4
  Preferred vector width double:         0
  Max clock frequency:                 0Mhz

I programmed an application using doubles and I haven't neither error nor warning about rounding to single precision and the applications seems to run correcty so this is little weird but since even the clock isn't correct I suppose that also  vector width double indication can't be totally reliable.

In this post

http://forums.amd.com/devforum/messageview.cfm?catid=390&threadid=142709&enterthread=y

a double supporting Nvidia GPU returns 1 (sorry for this reference but it was already in this forum) for preferred size.

0 Likes
3 Replies
nou
Exemplar

If the cl_khr_fp64 extension is not supported, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE must return 0.

currently AMD support only cl_amd_fp64. so check extension string.

0 Likes
uforob
Journeyman III

Thank yout this is what I meant with proprietary (cl_amd_fp64) instead of standard (cl_khr_fp64) and obviously I used the first one since my program runs correctly, now I know the reason is that I feel easy about that.

What about the clock frequency?

0 Likes

that is bug.

0 Likes