AnsweredAssumed Answered

The values returned by clGetDeviceInfo() and clGetPlatformInfo() seem to be just a little off. Why?

Question asked by sp314 on Mar 28, 2018
Latest reply on Mar 29, 2018 by sp314

I've got Ubuntu Linux 16.04 with ROCm and AMDGPU-PRO drivers, and an R290x card, which is the only GPU I have on this computer. When I query the device name with clGetDeviceInfo(...CL_DEVICE_NAME...), for some reason, it returns Hawaii, but when I query the number of compute units, it returns 44. Shouldn't Hawaii be Tahiti in this case?

 

FWIW, clGetPlatformInfo(...CL_PLATFORM_NAME...) returns AMD Accelerated Parallel Processing, and clGetPlatformInfo(...CL_PLATFORM_VERSION...) returns OpenCL 2.0 AMD-APP (2482.3).

 

Also, when I run clinfo, it reports the board name as a very nice and descriptive AMD Radeon R9 200 Series string, and if I plug this card into a Windows 10 PC and run GPU-Z, it will report R290 as well. Why not 290x, and how can I get the board name with OpenCL anyway?

 

So, I'm a bit confused. My big question is, how do I get the exact name/model of the card using OpenCL? I suppose I could go through all the cards and build a table that maps the device name combined with the number of compute units to the card name, but perhaps there's a nicer way, or maybe this table already exists somewhere?

 

Needless to say, and given the nature of this forum, this only needs to work on AMD hardware in my case.

Outcomes