level-zero icon indicating copy to clipboard operation
level-zero copied to clipboard

How to detect iGPU free memory

Open zhewang1-intc opened this issue 7 months ago • 1 comments

Hi, I'd like to ask how to use level-zero/sycl to detect available memory of Intel iGPUs (e.g., Intel® Iris® Xe Graphics, PCI ID: 46A0, codename: Alder Lake-P).

I found relevant APIs in level-zero, such as zesDeviceEnumMemoryModules and zesMemoryGetState. Unfortunately, when I call zesDeviceEnumMemoryModules on a system with only iGPU, the return value of pCount is 0. Therefore, I cannot get the iGPU memory information through zesMemoryGetState.

i also found how to use sycl to detect free memory in this doc, here is the code

if (dev.has(aspect::ext_intel_free_memory)) {
  auto FreeMemory = dev.get_info<ext::intel::info::device::free_memory>();
}

I ran this func with set ZES_ENABLE_SYSMAN=1, but I got the free_mem size is 0.

note that these issues don't appear on Intel dGPUs. Windows Task Manager can directly show the total and used memory of iGPU. How to implement this function? Are there any code examples?

zhewang1-intc avatar Jul 03 '24 14:07 zhewang1-intc