How to monitor Neural Engine usage on M1 macs?

I'm now running Tensorflow models on my Macbook Air 2020 M1, but I can't find a way to monitor the Neural Engine 16 cores usage to fine tune my ML tasks.

The Activity Monitor only reports CPU% and GPU% and I can't find any APIs available on Mach include files in the MacOSX 11.1 sdk or documentation available so I can slap something together from scratch in C.

Could anyone point me in some direction as to get a hold of the API for Neural Engine usage. Any indicator I could grab would be a start. It looks like this has been omitted from all sdk documentation and general userland, I've only found a ledger_tag_neural_footprint attribute, which looks memory related, and that's it.
  • I have noticed that when training models using tensorflow-metal on my M1 MacBook Air, the GPU History window in Activity Monitor shows near 100% utilization, but I'd like to know if the Neural Engine is being utilized as well.

Add a Comment

Replies

I have yet to find a direct API to the neural engines in my limited exposure. It appears that the Metal interface to Tensorflow is indeed to the GPU only at this point.