I am planning to buy some new GPUs, but I'd like to know the exact OpenCL capabilities before I decide which ones to get.
I have tried to find the capabilities, but couldn't find it. Can anyone help with this?
Thanks
What do you mean by capabilities? AMD GPUs of the 5000 series and later support everything you would expect in OpenCL: local memory, constant memory, textures, vectorized data types, and the most useful extensions (double precision, atomics, etc.). Furthermore, you can get a card that does 675 Gflops/s in double precision for $369 and 250W.
Thanks, but I am looking for much more details, like CL_DEVICE_MAX_MEM_ALLOC_SIZE and so on. Basically all the information you can get by running this program http://www.ozone3d.net/gpu_caps_viewer/
Well I guess those infos are available through clInfo. Important information is also given in appendix D of openCL Programming guide. That should be able to decide the GPU suitable for You.
Originally posted by: himanshu.gautam
Well I guess those infos are available through clInfo.
Using that I can only get the specs for the GPU in my system or am I missing something?
Originally posted by: himanshu.gautam
Important information is also given in appendix D of openCL Programming guide.
Very useful, thanks!
Thank you Micah. It is good to know these things are documented, but forgive my limited experience with IL. I do not quite understand how the functions listed add up to being function pointers.
As far as I unterstood (which was very little, so I might get it completely wrong), the IL spec defines something very similar to what is in another topic, named Simulate function pointer. There it was suggested to create structs with IDs and call seperate functions for each of them. I did not quite understand what the IL spec was trying to say, but the ID style of reaching functions seemed very similar to this solution, and in fact I wouldn't be surprised if it would compile onto something similar.
Could you explain in a little more detail in what way is this limited functionality? What issue prevents the compiler from being able to resolve function pointer calls? (But since mainly it is not a compiler issue, as function pointers can chagne runtime, at which point does the HW fail to run such a program?)
These are 3 questions, but the first is most imoprtant.
Thank you in advance,
Máté
Originally posted by: barno Originally posted by: himanshu.gautam
Well I guess those infos are available through clInfo.
Using that I can only get the specs for the GPU in my system or am I missing something?
anyone?
barno,
What parameters are you interested in. I think all important parameters are listed in Appendix D, or can be calculated from those paramenters.
Any particular device you are interested in?
Originally posted by: himanshu.gautam barno,
What parameters are you interested in. I think all important parameters are listed in Appendix D, or can be calculated from those paramenters.
Any particular device you are interested in?
Parameters: for now mostly CL_DEVICE_MAX_MEM_ALLOC_SIZE and if the card is able to concurrently run several kernels.
Devices: HD5970, HD6970 and HD6990
Thanks!
This parameter is not a constant hardware feature. It returns 256MB for my HD5770 and (i guess) it is currently set to 25% of total available memory. A lot of people complain about this limit and AMD may/maynot increase this limit in future.
Edit: I do not have any of those GPUs, so maybe others can help with current value of these paramenters.
At the present time the SDK does not support task-parallelism, ie. running different kernels simultaneously.
I do not know if this type of information is public, but are AMD GPUs capable of function pointers? I have been told that current architecture is unsuitable to implement it. Is this true?
OpenCL spec Section 6.8 Restrictions
Function pointers are not allowed.