We have an Ubuntu machine with both a Cypress and an RV710 card. Based on my understanding, we should be able to open counters on at least the Cypress device. I have a test application just to see what we can access that basically does clGetPlatformIDs, clGetDeviceIDs, GP_Initialize, and then for each device I try to open and close a GPA context. Both devices say they are unsupported:
platforms returned: 1
platform info name: ATI Stream
platform version: OpenCL 1.1 ATI-Stream-v2.3 (451)
platform profile: FULL_PROFILE
=====Device info=====
clGetDeviceIDs: success
devices returned: 2
GPA initialize: Ok
name for device[0]: Cypress
GPA OpenContext: Hardware Not Supported
GPA CloseContext: Counters Not Open
name for device[1]: ATI RV710
GPA OpenContext: Hardware Not Supported
GPA CloseContext: Counters Not Open
Anybody?
Alternately, can anybody confirm that they have successfully used GPUPerfAPI under Linux on a Radeon HD 5870, or has anybody else had similar issues?
Sorry for the delay in responding.
You should be able to access the perf counters on both of them using GPUPerfAPI 2.5, however I have not tested those on Linux recently. I will give it a try in the next few days.
In the mean time, make sure you are passing the command queue into GPA_OpenContext() and not the device pointer - several people have made that mistake before.
yes i has used GPUPerfAPI on Linux wit Radeon 5850.
Originally posted by: plohrmann
In the mean time, make sure you are passing the command queue into GPA_OpenContext() and not the device pointer - several people have made that mistake before.
Ah, using the command queue did in fact work. I had just been doing some tests to get information about the card and was only doing initialization steps, so I hadn't created a command queue.
(The explanation in the documentation that the pointer for GPA_OpenContext is "Typically, a device pointer or handle to a rendering context" is not particularly clear, then.)
section 2.3 from guide.
The supplied context must either point to a DirectX device, be the handle to the OpenGL rendering context, or the OpenCL command queue handle.
but i think i made same mistake.