llamaperf

Best Mac for running local LLMs

Apple Silicon's unified memory is the killer feature for local LLMs: you can fit much larger models than a comparable discrete GPU because the entire system memory is GPU-addressable. The tradeoff is generation speed — bandwidth scales with the chip tier (Pro < Max < Ultra). Ranked from community reports below.

Ranked from 81 community reports on llamaperf.

Ranked by community reports

#GPUVRAMReportsFastest t/s
1M5 Max 128GBapple128GB18133.6
2M2 Max 96GBapple96GB643.0
3M4 Max 128GBapple128GB572.5
4M4 Pro 48GBapple48GB520.3
5M5 Max 64GBapple64GB497.0
6M1 Max 64GBapple64GB421.0
7M3 Ultra 512GBapple512GB420.0
8M5 Pro 64GBapple64GB420.0
9M2 Ultra 192GBapple192GB328.0
10M5 Pro 48GBapple48GB244.0
11M3 Ultra 256GBapple256GB237.4
12M4 Max 64GBapple64GB236.0
13M1 Ultra 128GBapple128GB231.2
14M4 32GBapple32GB222.0
15M1 Max 32GBapple32GB215.8
16M3 Max 96GBapple96GB212.7
17M3 Max 128GBapple128GB25.5
18M5 32GBapple32GB21.0
19M3 Ultra 192GBapple192GB143.0
20M3 Max 48GBapple48GB138.0
21M4 16GBapple16GB120.0
22M3 Pro 36GBapple36GB117.7
23M1 8GBapple8GB117.5
24M5 16GBapple16GB19.0
25M2 Pro 32GBapple32GB18.6
26M2 8GBapple8GB15.5
27M2 Max 64GBapple64GB12.0
28M3 Ultra 96GBapple96GB1

No reports yet

These match the profile but nobody has submitted a report yet.

What to look for

Unified memory is the headline feature

Mac Studio Ultras with 192GB+ can run models that would require a multi-GPU server rack on the discrete side. Even a base M-Pro at 32GB will comfortably hold a 30B-class quant. Match memory size to the largest model you want to run plus a few GB of headroom.

Bandwidth scales with chip tier

M-base chips are around 100 GB/s; M-Pro is ~200 GB/s; M-Max is ~400 GB/s; M-Ultra is ~800 GB/s. Tokens-per-second roughly scales with bandwidth on inference workloads, so an Ultra runs 70B noticeably faster than a Max — even when both have enough memory.

MLX vs llama.cpp

MLX (Apple's framework) tends to be slightly faster on Apple Silicon and supports lower-bit quants well. llama.cpp's Metal backend is more mature and supports a wider range of model formats. Most users start with llama.cpp and migrate to MLX for the largest models.

Frequently asked

What is the best Mac for running local LLMs?

For most users, an M-Max or M-Ultra Mac with 64GB+ unified memory is the best balance. M-Ultra Macs with 128GB+ are required to run 70B-class models comfortably, and 192GB+ Ultras can handle the largest open-weight models.

Is an Apple Silicon Mac fast enough for local LLMs?

For interactive use, yes — Macs deliver 5–30 tokens-per-second on common model sizes, which is fast enough for conversational use. They are slower than top-end NVIDIA GPUs at the same quant, but the unified memory advantage often more than makes up for it.

How much RAM do I need on a Mac for local LLMs?

A rough rule: model weights (in GB) ≈ parameters (B) × bytes-per-weight. For Q4 quantization that's ~0.5GB per billion params. So a 70B model needs ~40GB of weights, and you want at least 24GB of headroom for the OS and context. Plan for 64GB+ for serious 70B work.

Should I get an M-Pro or M-Max?

M-Max if you care about throughput. M-Max chips have roughly twice the memory bandwidth of M-Pro chips, which translates almost linearly to tokens-per-second on the same model.

How we rank

Hardware is sorted by the number of community submissions on llamaperf — a proxy for how widely each card is used in practice for local LLM inference. Within that, we surface the fastest tokens-per-second observed on each as a quality signal. Submissions come primarily from r/LocalLLaMA discussions and direct user uploads. Nothing here is sponsored or affiliate-driven.

See also