How to Choose a Laptop for Local AI Workloads
Running large language models locally is not bottlenecked by CPU clock speed—it is governed by memory capacity and memory bus bandwidth. Here is the math every developer should run before buying a workstation.
Key Findings & Decision Summary
- Autoregressive LLM token generation is memory-bandwidth bound: every generated token requires reading the entire active weight matrix from RAM into compute units.
- Apple Silicon's unified memory architecture (up to 128GB on M4 Max at 546 GB/s, and up to 614 GB/s on 40-core M5 Max configurations) allows loading 70B 4-bit models that cannot fit inside a 16GB laptop discrete GPU.
- Discrete NVIDIA RTX laptop GPUs still lead in prompt-ingestion (prefill) compute and CUDA-specific training libraries, but hit a hard 16GB–24GB VRAM wall on mobile form factors.
The Fundamental Physics of Local LLM Inference
When you run an open-weight language model locally—such as a quantized snapshot from DeepSeek-R1-Distill or Llama—inference happens in two distinct phases: Prompt Prefill (compute-bound) and Token Generation (memory-bandwidth bound).
During token generation, producing a single new token for a batch size of 1 requires streaming every active model weight from memory through the GPU or NPU registers. You can estimate theoretical maximum decode speed with a simple ceiling formula: Max Tokens/Sec ≈ Usable Memory Bandwidth (GB/s) ÷ Model Weight Size in GB (typically achieving 65% to 75% efficiency in engines like llama.cpp or MLX).
Comparing Unified Memory vs. Mobile Discrete VRAM
Standard x86 laptops with dual-channel LPDDR5x or DDR5 RAM typically deliver 85 to 120 GB/s of system memory bandwidth. If a model spills out of discrete GPU VRAM into system RAM, generation speed collapses.
By contrast, Apple's Max-tier silicon integrates high-bandwidth memory directly onto the package:
• MacBook Pro with M4 Max (16-core CPU / 40-core GPU): Delivers 546 GB/s of unified memory bandwidth and supports configurations of 48GB, 64GB, or 128GB unified memory (Apple 16-inch M4 Max Tech Specs).
• MacBook Pro with M5 Max (18-core CPU / 40-core GPU): Expands memory bandwidth to 614 GB/s while lower 32-core GPU bins operate at 460 GB/s (Apple MacBook Pro Tech Specs; Apple Support 126318).
Because macOS allocates up to ~75% of unified memory to GPU/Metal compute by default (configurable via sysctl), a 64GB or 128GB MacBook Pro can hold a 70-billion-parameter 4-bit quantized model (~40GB weights + KV cache) entirely in high-bandwidth memory—a workload that simply does not fit inside a 16GB mobile RTX GPU.
What Unified Memory Cannot Fix: Prefill Latency and CUDA Lock-In
Despite its capacity advantage, unified memory on a laptop has two honest limitations you must weigh before buying:
1. Long-Context Prompt Ingestion (Prefill): Feeding a 32,000-token codebase into a local 70B model requires massive matrix-multiplication FLOPS. Desktop discrete GPUs (such as a desktop RTX 4090/5090 workstation accessed over SSH/Tailscale) process initial prompt ingestion significantly faster than any battery-powered laptop.
2. Ecosystem Compatibility: If your work requires custom Triton kernels, FlashAttention-3 training pipelines, or CUDA-only scientific simulation packages, macOS Metal/MLX will require code translation or remote Linux containers.