For years, running a local LLM on an iPad meant relying on Core ML, the Neural Engine, or strict memory constraints. The LemonSeed Studio project flips that assumption: an iPad Pro connected over Thunderbolt to a Sapphire Radeon AI PRO R9700 runs Qwen3.8-27B in Q4 quantization and reaches 158.5 tokens/s in decode with DFlash2, a figure that until recently would have been associated with a Linux workstation, not an Apple tablet.

At the heart of the experiment is LemonSeed Engine (LSE), already active on Linux and macOS and now ported to iPadOS. LSE is not a simple wrapper around Apple's APIs: it embeds the unmodified upstream Linux amdgpu and amdkfd driver as a PCIDriverKit extension (mac_linuxgpu) and uses the attached AMD GPU directly. In practice, the iPad becomes a host for external GPU acceleration, bypassing the limits of iPadOS graphics and compute frameworks.

The published numbers show three throughput levels on the R9700 on iPadOS: 31.2 tokens/s without speculation, 108.7 with MTP=3, and 158.5 with DFlash2. On macOS the R9700 reaches 159.4 tokens/s and on Linux 144.6 tokens/s with DFlash2. On Strix Halo (Radeon 8060S) on Linux the progression is more modest: 14.0 / 47.8 / 64.4 tokens/s. Prefill follows the same order: about 1,636 tokens/s at 4K on iPadOS and 517 on Strix Halo, with a limited drop at 32K. The model runs with Q4 quantization and a Q8 DFlash2 draft, on a 131k-token context window.

The most interesting data point is not the single benchmark but the architecture. LSE records the model's forward pass as a graph, fuses operations, and generates kernels for the GPU it is running on. When a kernel has multiple possible layouts, it measures each one on the device and keeps the fastest. This kind of auto-tuning is common in just-in-time compilers for inference, but here it is extended to a mobile environment with an external GPU. Speculative decoding is not a static add-on: MTP and DFlash2 choose how many draft tokens to verify based on measured acceptance and verification cost. Version 0.5.8 enables DFlash2 draft trees by default, where a single target-model pass verifies a tree of candidates when that is measured to be faster than a chain.

For teams evaluating self-hosted or edge deployments, the project touches three structural points. First, runtime portability: a single engine across Linux, macOS, and iPadOS reduces the cost of maintaining separate stacks on different hardware. Second, using upstream Linux drivers inside iPadOS signals that platform lock-in can be bypassed at the driver level, not just at the API level. Third, speculative decoding multiplies throughput by roughly five times compared with the R9700 baseline. This changes the TCO calculation for local inference, because it shifts attention from raw power to the stack's ability to exploit memory bandwidth and verification latency.

On the integration side, the Linux archive bundles its own HSA runtime, so only the amdgpu driver with /dev/kfd access is required. The lse-server allows pulling Hugging Face models with their MTP or DFlash2 companions, and the engine also offers an OpenAI-compatible interface, a CLI, and a C library (libLSE). The project is open source on GitHub and the author says he is happy to answer questions about getting an eGPU working on iPadOS. The direction is clear: local inference on tablets is no longer a laboratory curiosity, but a field where software is closing the gap with workstations.