While working on GPU computing, I started wondering how much GPU memory my code uses.

It turned out that it is difficult to calculate how much of the GPU memory is available and how much is used  in the new macOS Sierra.

You might think that it is as simple as go to the list of devices and then to “PerformanceStatistics” which holds current parameters of the device.

The only mention of the keys that deal with GPU memory could be found in Instrument GPUDriver documentation, but this documentation was very poor.

Earlier versions of macOS had the key “vramFreeBytes“, but now this field might be missing. I believe that it is missing if your GPU device is integrated. In this case there will be an additional key “VRAM,totalMB” = 1536 at the upper level, and it will have a constant value. This is the memory available for GPU which is reserved in RAM space.

If you have a discrete video card, its vram value might still surprise you. In my case it easily goes over 100 GB. In spite of that, System Information Application shows only 2 GB of available video memory.

What does this mean? I don’t have simple answer to that. It is most likely a bug, but, on the other side, it might be related to the new approaches to work with GPU that allow GPU calculations of the objects in RAM by placing them to the GPU memory. Metal and Vulkan are the most prominent examples of such approach.


I found one more GPU device in my iMac that no one ever mentions. It is not listed in Apple’s technical specifications as well as in System Information Application. Nevertheless, macOS doesn’t forget about it and passes it various tasks when watching videos or playing system animation. This video card’s driver is “AppleIntelSKLGraphicsVADriver”. SKL most likely means Intel Skylake. Judging by the values of CPU – Corei5 3.3 I have Intel HD 530 integrated video card with 24 Execution units.

To sum it all up:

  • New approaches to work with GPU computing do not require large amounts of embedded GPU memory, as now we can use RAM directly.
  • Desktop computers can have Easter eggs which you can use by loading the hardware by 100%

Author: Volodymyr Pavliukevych

Senior Software Engineer, Data Scientist.

Senior Software Engineer, Data Scientist.

No Comments so far.

Leave a Reply