Skip to content

M2 Ultra vs M4 Max (40-core GPU) for local AI

M2 Ultra runs 39 of 74 open models well and M4 Max (40-core GPU) runs 37. Here is every model on both, with the grade and the speed you would get.

Runs more models well (grade B or better)

M2 Ultra

M2 Ultra: 39 · M4 Max (40-core GPU): 37

Faster on the models both run

M2 Ultra · ×1.2

Median speed ratio over 37 models both load fully in memory.

Specs that matter

M2 Ultra M4 Max (40-core GPU)
Memory compared64 GB (base configuration)48 GB (base configuration)
Memory bandwidth800 GB/s546 GB/s
Memory typeUnified (shared with the system)Unified (shared with the system)
BackendMetalMetal
Released20232024

Every model on both

Grade and output speed at Q4_K_M with an 8K context; green marks the better of the two.

ModelECIM2 UltraM4 Max (40-core GPU)
moonshotKimi K3157F—F—
deepseekDeepSeek V4 Pro 0813155F—F—
deepseekDeepSeek V4.1 Flash155F—F—
deepseekDeepSeek V4 Flash 0731154F—F—
zaiGLM 5.3 Flash152F—F—
zaiGLM 5.2152F—F—
moonshotKimi K2.6151F—F—
tInkling Small150F—F—
moonshotKimi K2.7 Code150F—F—
zaiGLM 5.1150F—F—
qwenQwen3.8 27B149A~34 t/sA~25 t/s
deepseekDeepSeek V4 Pro149F—F—
tInkling149F—F—
moonshotKimi K2.5148F—F—
minimaxMiniMax M3147F—F—
minimaxMiniMax M2.5147F—F—
qwenQwen3.5 397B A17B147F—F—
qwenQwen3.6 27B147A~35 t/sA~26 t/s
deepseekDeepSeek V3.2146F—F—
nvidiaNemotron 3 Ultra 550B A55B146F—F—
deepseekDeepSeek V4 Flash146F—F—
moonshotKimi K2 Thinking146F—F—
minimaxMiniMax M2.7146F—F—
zaiGLM 5146F—F—
deepseekDeepSeek V3.2 Exp145F—F—
qwenQwen3.6 35B A3B144S~126 t/sS~109 t/s
qwenQwen3 235B A22B Thinking 2507144F—F—
zaiGLM 4.7144F—F—
googleGemma 4 31B143A~32 t/sA~23 t/s
qwenQwen3.5 35B A3B143S~126 t/sS~109 t/s
googleGemma 4 26B A4B142S~110 t/sS~92 t/s
mistralMistral Medium 3.5 128B141F—F—
moonshotKimi K2140F—F—
openaigpt-oss 120b140F—F—
deepseekDeepSeek V3.1140F—F—
qwenQwen3 30B A3B Thinking 2507140S~116 t/sS~99 t/s
qwenQwen3.5 9B139S~76 t/sS~60 t/s
qwenQwen3 235B A22B 2507139F—F—
openaigpt-oss 20b138S~122 t/sS~105 t/s
qwenQwen3 30B A3B 2507137S~116 t/sS~99 t/s
mistralMagistral Small 2506133A~39 t/sA~29 t/s
mistralMistral Small 3.2 24B132A~39 t/sA~29 t/s
mistralMagistral Small 2509131A~39 t/sA~29 t/s
microsoftPhi-4 14B130S~54 t/sS~41 t/s
metaLlama 4 Scout 17B 16E130F—F—
metaLlama 3.3 70B127B~16 t/sF—
metaLlama 3.1 8B117S~79 t/sS~62 t/s
cohereCommand A+—F—F—
qwenQwen3.8 Flash Next—F—F—
qwenQwen3.5 122B A10B—F—F—
mistralMistral Small 4 119B—F—F—
qwenQwen3 Coder Next—B~126 t/sF—
moonshotKimi Linear 48B A3B—S~127 t/sS~111 t/s
ai2Olmo 3.1 32B Think—A~30 t/sA~22 t/s
nvidiaNemotron 3.5 Lightning 30B A3B—S~116 t/sS~98 t/s
zaiGLM 4.7 Flash—S~125 t/sS~108 t/s
cohereNorth Mini Code 1.0—S~119 t/sS~102 t/s
ibmGranite 4.2 30B—A~32 t/sA~23 t/s
mistralDevstral Small 2 24B—A~39 t/sA~29 t/s
mistralMinistral 3 14B—S~58 t/sS~44 t/s
googleGemma 4 12B—S~65 t/sS~50 t/s
mistralMinistral 3 8B—S~76 t/sS~60 t/s
ibmGranite 4.2 8B—S~73 t/sS~57 t/s
googleGemma 4 E4B—S~82 t/sS~65 t/s
ai2Olmo 3 7B—S~70 t/sS~54 t/s
googleGemma 4 E2B—S~104 t/sS~87 t/s
qwenQwen3.5 4B—S~109 t/sS~91 t/s
mistralMinistral 3 3B—S~113 t/sS~96 t/s
ibmGranite 4.2 3B—S~112 t/sS~95 t/s
metaLlama 3.2 3B—S~115 t/sS~98 t/s
huggingfaceSmolLM3 3B—S~120 t/sS~103 t/s
liquidLFM2.5 2.6B—S~130 t/sS~114 t/s
qwenQwen3.5 2B—S~140 t/sS~125 t/s
qwenQwen3.5 0.8B—S~163 t/sS~154 t/s

Estimates from published specs and measurements, calibrated per backend. Your drivers, settings and runtime change the real numbers.

Change memory, context or quantOpen this comparison in the interactive tool.