I'm working in an c# windows application where it will show Discrete card related info like GPU activity, GPU fan and temperature parameters etc. For NVIDIA , AMD, we have NVAPI and ATL. But for Intel, I'm not aware.
For Intel arc card, I could get parameters like memory size, GPU fan, temperature from Intel IGCL . But for GPU activity and memory activity, OpenCL usageI could not find suitable method/struct in it.
Is there any other c++ API available that provides these details? or any low level APIs?
if anybody knows about this!
Previously for integrated graphics, there is a struct named D3DKMT_ESCAPE where it would return parameter values for video usage, open CL usage, GPU activity etc. Since Intel stopped supporting D3DKMT_ESCAPE and Intel Arc card being new, I could not find them.
What I try to get is, g->PStateUtil_GPU = pDynamicPStatesInfo.utilization[0].percentage; --> returns GPU activity percent for NVIDIA card. I want to get similar value for Intel
You can also get GPU/memory activity from the IGCL C++ API.
Download the files igcl_api.h and cApiWrapper.cpp to your source code. Below is a quick-and-dirty minimal example on how to get GPU/VRAM usage, VRAM bandwidth usage, clock speed, temperature and fan speed. For a more detailed example, look here.