ApX logoApX logo

Apple M2 Ultra (128GB)

The Apple M2 Ultra (128GB) uses a unified memory architecture. For reliable local LLM inference without OS memory pressure, this benchmark models a 75% usable allocation (96 GB) with 800 GB/s unified memory bandwidth.

Memory

128 GB

Usable Memory Ceiling

96 GB (75% usable budget)

Bandwidth

800 GB/s

Max Inference Class

70B+ Models (Q4)

TDP

230W

VRAM Scaling by Context Length

Estimated memory requirements as context length increases. Curves crossing above the reference line indicate Out of Memory (OOM).

DeepSeek-R1 14B (14B)DeepSeek-R1 32B (32B)AliceAI Foundation 80B A3B Base (80B (3B active))GLM-5.3 Flash (313.3B (17.3B active))

Precision:

Best Models to Run on Apple M2 Ultra (128GB)

Inference throughput, memory compatibility, and generation speeds for open-weights LLMs on Apple M2 Ultra (128GB).

Sort by:

Context:

KV Cache:

RankModelParametersPrecisionTPS (Approx.)TTFTCan Run

#33

Qwen 3.8 27B

27B

INT4
Q8
FP16

39 tok/s

23 tok/s

12 tok/s

~10.0s

~10.0s

~10.0s

#41

Qwen 3.8 Flash

176B (6B active)

INT4

116 tok/s

~2.3s

#48

Agnes 3.0 Flash

33B

INT4
Q8
FP16

32 tok/s

19 tok/s

10 tok/s

~12.1s

~12.1s

~12.2s

#61

Sarvam-105B

106B (10.3B active)

INT4

82 tok/s

~5.1s

#72

K2 Horizon MoVA 36B A4B

36B (4B active)

INT4
Q8
FP16

129 tok/s

97 tok/s

62 tok/s

~2.0s

~2.0s

~2.0s

#75

Ling 3.0 Flash VL

124B (5.5B active)

INT4

119 tok/s

~3.6s

#83

Qwen3.5-27B

27B

INT4
Q8
FP16

39 tok/s

23 tok/s

12 tok/s

~10.0s

~10.0s

~10.0s

#84

Qwen3.5-122B-A10B

122B (10B active)

INT4

66 tok/s

~5.2s

#92

Sarvam-30B

32B (2.4B active)

INT4
Q8
FP16

157 tok/s

127 tok/s

88 tok/s

~1.4s

~1.4s

~1.4s

#94

Qwen3.6 35B A3B

35B (3B active)

INT4
Q8
FP16

145 tok/s

113 tok/s

76 tok/s

~1.6s

~1.6s

~1.6s

#96

Muse Glimmer 30B

30B

INT4
Q8
FP16

35 tok/s

21 tok/s

11 tok/s

~11.0s

~11.1s

~11.1s

#100

Phi-4 Reasoning Plus

14B

INT4
Q8
FP16

50 tok/s

34 tok/s

20 tok/s

~5.2s

~5.3s

~5.3s

#101

MiMo V2 Flash

15B (309B active)

INT4
Q8
FP16

4 tok/s

2 tok/s

1 tok/s

~108.9s

~109.2s

~109.6s

#106

GLM-4.5-Air

106B (12B active)

INT4

25 tok/s

~5.7s

#108

Gemma 4 26B A4B

25.2B (3.8B active)

INT4
Q8
FP16

136 tok/s

102 tok/s

65 tok/s

~1.8s

~1.8s

~1.8s

#109

Gemma 4 12B

11.95B

INT4
Q8
FP16

56 tok/s

39 tok/s

23 tok/s

~4.5s

~4.5s

~4.5s

#113

Qwen3.5-9B

9B

INT4
Q8
FP16

91 tok/s

59 tok/s

33 tok/s

~3.4s

~3.4s

~3.4s

#114

Qwen3.5-35B-A3B

35B (3B active)

INT4
Q8
FP16

145 tok/s

113 tok/s

76 tok/s

~1.6s

~1.6s

~1.6s

#114

Ling 3.0 Flash

124B (5.1B active)

INT4

123 tok/s

~3.5s

#118

K2 Horizon 7B

7B

INT4
Q8
FP16

107 tok/s

71 tok/s

41 tok/s

~2.7s

~2.7s

~2.7s

Inference Capacity

Maximum model parameter class runnable by weight precision.

Context:

4-bit

Q4

70B+ Models

8-bit

Q8

70B Models

16-bit

FP16

32B Models

Fine-Tuning Capacity

Hardware capacity for local training and adapter fine-tuning.

Context Length:

QLoRA

4-bit

70B+ Models

LoRA

16-bit

70B Models

Full Parameter Training

7B-8B Models

Workload Recommendations

Guidance for optimal precision and operational ceilings on Apple M2 Ultra (128GB).

Inference Sweet Spot

Suitable for 70B parameter models at Q4/Q8 with extended 32k context windows, or high-throughput batching of smaller dense architectures.

Bandwidth & Speed Profile

With 800 GB/s aggregate bandwidth, batch size 1 inference operates in a memory-bandwidth bound regime. Generates approximately 178 tok/s on an 8B Q4 model and 21 tok/s on a 70B Q4 model.

Unified Memory Budget

Modeled with a 75% usable allocation budget to preserve system RAM for macOS and display compositor processes.

Frequently Asked Questions