The GPU and the Neural Engine, with the apps using each.
A tab for the GPU and a tab for the Neural Engine: how hard each is working, which apps are using it, and a chart of the last minutes, in the window, the menu bar and on the Overview. On Apple silicon the Neural Engine has always been a mystery. Here it is a number.
The numbers are simulated: a web page cannot read your Mac, and should not.
How busy the GPU is, and which app is keeping it busy.
The GPU tab shows how hard the GPU is working, its memory, the average and the peak, a chart of the last minutes, and the apps using it with the heaviest first, so a render or a game or a browser tab shows up as what it is.
- Use, memory, average and peak
- The apps using it, heaviest first
- A chart of the last 5, 15 or 30 minutes
- GPU temperature with the other sensors
1.69 GB memoryAverage 32%
Peak 95%
Finally a number for the Neural Engine.
On Apple silicon, Vitals works out how hard the Neural Engine is working from the memory it moves against the most this Mac has moved, and names the apps that hold it open, so Photos indexing your library overnight is no longer invisible.
- How hard it is working
- The apps that hold it open
- A chart of the last minutes
- A notice when an app has kept it busy for twenty minutes
16 cores
Your local model runs on the GPU, not the Neural Engine.
Models run with PyTorch or MLX use the GPU, so an Ollama session shows up as a busy GPU and a quiet Neural Engine. That is correct, and surprising the first time. Ollama's memory shows under Ollama, where you would look for it.
- PyTorch and MLX run on the GPU
- Ollama's memory under Ollama
- The GPU turns red at 90% in the menu bar
- The GPU is in the history, so a render from an hour ago is still there
An item for each, and a card on the Overview.
Both can be menu bar items, as a number, a graph or both, in your order, and both get a card on the Overview, so you can keep an eye on a long render without opening anything.
- A GPU item and a Neural Engine item
- A number, a graph or both
- Cards on the Overview
- In the dropdown with the rest
GPU and Neural Engine, before and after
Activity Monitor gives the GPU a column, % GPU, and a GPU History window, and gives the Neural Engine nothing. On Apple silicon the Neural Engine does real work, for Photos, Spotlight, dictation and on-device models, and there has been no way to see when, or for which app.
Meanwhile the GPU is where local models actually run. PyTorch and MLX use the GPU, not the Neural Engine, so an Ollama session shows up as a busy GPU and a quiet Neural Engine, which is correct and surprising.
Vitals gives each its own tab: how busy it is, the GPU's memory, the average and the peak, the apps using it heaviest first, and a chart of the last 5, 15 or 30 minutes. The Neural Engine's number is worked out from the memory it moves against the most this Mac has moved, and the apps that hold it open are named. Both can be menu bar items and Overview cards, and Vitals tells you when an app has kept the Neural Engine busy for twenty minutes.
Where it is in Vitals
The tab, the menu bar item and the setting, in the order you would reach for them.
- 01
Open the GPU tab
How busy the GPU is, its memory, the average and the peak, a chart of the last minutes, and the apps using it, heaviest first.
- 02
Open the Neural Engine tab
On a Mac with Apple silicon: how hard the Neural Engine is working, the apps that hold it open, and a chart of the last minutes.
- 03
Put them in the menu bar
Settings → Layout → Menu Bar: a GPU item, a Neural Engine item, as a number or a graph. Both have a card on the Overview.
- 04
Let Vitals watch them
The GPU reading turns red at 90%, and a notice comes when an app has kept the Neural Engine busy for twenty minutes. The GPU is in the history too, so a render from an hour ago is still there to see.
GPU and Neural Engine: Activity Monitor and Vitals
The whole comparison is row by row. These are the rows about GPU and Neural Engine.
The words behind it
What the numbers mean, from the Activity Monitor glossary.
- % GPU
% GPU is the share of the graphics processor's capacity that a process is using.
- Unified memory
Unified memory is the single pool of RAM in an Apple silicon Mac, shared by the CPU, the GPU and the Neural Engine.
- MTLCompilerService
MTLCompilerService is the macOS process that prepares graphics code for the GPU on behalf of apps that use Metal, Apple's graphics framework.
- Performance and efficiency cores
Performance and efficiency cores are the two kinds of CPU core in Apple silicon Macs.
Questions
The ones people ask about GPU and Neural Engine before they buy.
Does Vitals show Neural Engine usage?
Yes, on Macs with Apple silicon: how hard it is working, which apps are using it, and a chart of the last minutes, in the window, the menu bar and on the Overview.
Why does my local model not show on the Neural Engine?
Models run with PyTorch or MLX use the GPU, not the Neural Engine. They show on the GPU tab.
Does it show GPU memory?
Yes, with the GPU's use, average and peak, and the apps using it.
Does Activity Monitor show this?
Activity Monitor has a GPU column and a GPU History window, and nothing for the Neural Engine.
How does Vitals measure the Neural Engine?
From the memory it moves, against the most this Mac has ever moved. macOS does not say which app is working it, only which apps hold it open, and those are what Vitals names.
Which Macs have the Neural Engine tab?
Macs with Apple silicon. On an Intel Mac there is no Neural Engine, and no tab.
Why is the GPU busy when I run Ollama?
Because models run with PyTorch or MLX use the GPU, not the Neural Engine. They show on the GPU tab, and Ollama's memory shows under Ollama.
Does it show the GPU's temperature?
Yes, with the other sensors, and the fans if the GPU is what is driving them.
Read on
Guides that use this, and how Vitals compares with the apps people buy for it.
More of Vitals
All featuresApps, not processes
Every helper under its app, so "what is using my memory?" gets a one-line answer.
Coding agents
Claude Code, Codex, Gemini CLI and the rest: each session with its project, what it is doing, and what it started.
AI usage limits
How much is left of Claude, Codex, Copilot and the rest, when each resets, and whether you will make it there.
Get Vitals for $15 while the launch price lasts
50 left at this price. The regular price is $39. One payment, lifetime updates, 14-day refund.
Get Vitals for $15