I think the situation about Trinity and Richland supporting cl_khr_fp64 remains unclear. On Trinity's GPU, the support for cl_khr_fp64 has certainly been there on at least some driver versions that I was aware of.
However, the SDK 2.8 docs state that the Trinity's GPU does not support cl_khr_fp64.
On Richland, the situation is again confusing. Take 8650G, the GPU side of some Richland-based mobile APUs. CLBenchmark site shows the OpenCL environment info here: CLBenchmark - OpenCL Compute Performance of AMD Radeon HD 8650G and cl_khr_fp64 is NOT listed in the available extensions.
Clarity on this issue will be greatly appreciated.
Not sure how trustworthy your reference is. But isn't it simple to just run clinfo on your setup, and check what all extensions are supported ?
IMHO cl_khr_fp64 is a extension that is mostly available for high-end products only. So not very sure, but i doubt if low-end trinity/richland iGPUs will support this extension. Their CPU parts should certainly support this extension though.
I have 8650G in my reach. In case you still have problem, i can check the device and let you know the specifics.
Well the issue is I don't have a Trinity/Richland based product yet. I am trying to determine if it supports DP to decide whether I should buy it or not because I need DP support for my work
Rahulgarg, I am with you on this. I have been looking for a new mobile development system and have been waiting to find out for sure if Richland will support double precision fp before I purchase anything. The OpenCL info you referenced does show cl_amd_fp64 being supported and it makes me wonder if this is indeed a driver issue. My understanding was that all APUs Trinity and later would support fp64 but at a much lower ratio in comparison to single precision (E.g. 1/12 instead of 1/4 of high end GPUs). I guess I would look to someone at AMD to confirm this is the case and that it is just a driver issue not providing the OpenCL device info correctly.
The Link above will help understand difference between cl_amd_fp64 and cl_khr_fp64
A small excerpt:
This extension provides a subset of the functionality of that provided
by the cl_khr_fp64 extension. When enabled, the compiler recognizes
the double scalar and vector types, compiles expressions involving
those types, and accepts calls to all builtin functions enabled by
the cl_khr_fp64 extension. However, this extension does not guarantee
that all cl_khr_fp64 built in functions are implemented and does not
guarantee that the built in functions that have been implemented would
be considered conformant to the cl_khr_fp64 extension.
I finally have a Richland (A10-5750) based system and can clarify a few things for anyone who ends up on this thread looking for this info
I have installed Catalyst 13.4. The GPU supports cl_amd_fp64 but not cl_khr_fp64. The GPU can do fp64 ADDs at 1/8th the fp32 rate whereas fp64 MULs and FMAs are done at 1/16th of fp32 rate.
Thus, for Radeon 8650G (which as 384 cores) for example, the throughput for various fp64 instructions is:
1. ADD: 384/8 = 48 adds/cycle
2. FMA: 384/16 = 24 fma/cycle
3. MUL: 384/16 = 24 mul/cycle
I ran my mobile Richland (A10-5750) through CLBenchmark and it returned the following OpenCL Environment with 13.6 beta drivers. I wonder if the full cl_khr_fp64 will be supported in a later driver revision.
I can't be really sure on this, but DP support is more of a Hardware feature. If the iGPU supports cl_amd_fp64 for richland, i would assume it to only support that with future driver releases.