AMD has released the version 2.8 of GPUPerfAPI. AMD GPU Performance API (or GPUPerfAPI or GPA) is a librairy to analyze the performance and execution characteristics of applications using the GPU. GPU supports OpenGL, OpenCL and Direct3D 10/11 and is available for Windows and Linux. GPUPerfAPI allows to access the hardware performance counters of Radeon GPUs from Radeon HD 2000 to latest HD 6000 series. GPUPerfAPI requires Catalyst 10.1 or later.
You can download AMD GPUPerfAPI HERE.
GPUPerfAPI is used by GPUPerfStudio (v2.51 available here) and by AMD APP profiler (OpenCL).
Here is a code snippet for OpenGL that shows how to initialize and terminate a session with GPA :
GPA_Initialize(); // glrc is the OpenGL rendering context. GPA_OpenContext(glrc); GPA_EnableAllCounters(); gpa_uint32 count = 0; GPA_GetNumCounters(&count); gpa_uint32 index = 0; char name[128] = {0}; GPA_GetCounterName(0, name); //... Read counters GPA_CloseContext(); GPA_Destroy();
I’ll try to test this lib asap!
Forgive my ignorance, but can’t you do the same thing with MSI Afterburner, or is this tool even more analytic?
Firstly, GPUPerfStudio is an API for developers, so a developer can use it in his applications. Secondly, GPUPerfStudio exposes many internal counters. There are general counters like GPUTime (Percentage of time GPU was busy) and more detailed counters like PctTex2D (Percentage of texture fetches from a 2D texture)
or DSALUTexRatio (The ratio of ALU to texture instructions). I’ll try to code a small app that lists all counters.
Oh I see. So MSI Afterburner could use this API for more detailed info, if the author and/or MSI were willing to invest some time and money into it. I guess it would exclusive to AMD cards though! That’s good news anyway, for all monitoring tools authors out there.
I am happy with MSI Afterburner anyway! 🙂