Hardware Review

The ThinkPad that changed my mind about local LLMs

I bought a ThinkPad P16s Gen 4 AMD with low expectations for local models. It became my everyday development laptop. Here is what the hardware actually offers.

Ramazan Yavuz
Ramazan Yavuz ·
ThinkPad P16s Gen 4 AMD: Ryzen AI 9 HX PRO 370 and Radeon 890M

I bought a ThinkPad P16s Gen 4 AMD expecting a useful development laptop and a compromise for local language models. I had associated serious local inference with a desktop and a large discrete graphics card. Using models on this machine changed what I wanted from a laptop. I still like it much more than I expected, but I also got an important part of its identity wrong when I first wrote about it.

Correction, 15 October 2026. This is a ThinkPad P16s Gen 4 AMD with a Ryzen AI 9 HX PRO 370 and Radeon 890M graphics. AMD calls this processor family Strix Point. I had incorrectly described it as a Strix Halo machine with a Ryzen AI Max+ 395 and Radeon 8060S. The memory description and unsupported performance and price comparisons have also been corrected. The specifications linked below were added during this update.


The processor names matter here. AMD's HX PRO 370 specifications list 12 CPU cores and Radeon 890M graphics with 16 compute units, the GPU's main processing groups. The Ryzen AI Max+ 395 belongs to Strix Halo and has 16 CPU cores and Radeon 8060S graphics with 40 compute units. Those are different processors with different graphics and memory systems. A review of one cannot establish the performance of the other.

My P16s and the processor I originally named
PartThinkPad P16s Gen 4 AMD, my configurationRyzen AI Max+ 395 platform
ProcessorRyzen AI 9 HX PRO 370Ryzen AI Max+ 395
Code nameStrix PointStrix Halo
GraphicsRadeon 890M, 16 compute unitsRadeon 8060S, 40 compute units
Memory supportUp to 96 GB DDR5-5600 in two replaceable modulesUp to 128 GB LPDDR5x-8000 on a 256-bit interface

The P16s memory limit comes from Lenovo's product specification, dated 27 August 2026: two DDR5 SODIMM slots, supporting up to 2 × 48 GB. SODIMM is the small, replaceable memory-module format used here. The table gives supported capacities, not a claim that every configuration ships with that much memory. The Max+ figure is AMD's processor specification; an individual laptop may offer less.


Shared memory still helps explain why I find this machine useful. Its integrated GPU uses system RAM. A discrete GPU usually has a separate pool of video memory, or VRAM. With the P16s, the CPU and integrated GPU draw on the same physical memory, but that does not make the full installed capacity freely available to every GPU application.

Lenovo documents configurable graphics-memory reservations, up to 48 GB on a machine with 96 GB of system memory. That reservation comes out of system RAM. The operating system, graphics driver, and inference software also affect what can be allocated and used. A model needs room for its weights, its context cache, and working buffers, while the rest of the laptop still needs memory. I explain those separate costs in the quantization article.

Memory capacity tells me whether a workload might fit. It does not tell me how quickly the model will answer. Memory bandwidth, GPU compute, context length, and how the software divides work between CPU and GPU all matter. Shared RAM does not remove those limits or make Strix Point perform like Strix Halo.


Most of the time this is my normal development laptop: editor, browser, terminal, the usual. When I need a local model, I open hydra-llm, the wrapper I built around llama.cpp. My model choices have included Gemma-3-27B, Qwen-2.5-32B, and Llama-3.1-8B. I generally run one at a time, choosing according to the task and the wait I am willing to accept.

Hydra's halo tier can add to the naming confusion. In the 5 August 2026 README snapshot, it covers machines with substantial shared memory, including Strix Point, Strix Halo, and some Apple Silicon systems. That source was added on 15 October 2026, after this article's original publication. The tier is a model-selection category. Seeing halo in Hydra does not identify the processor as Strix Halo or establish a measured speed.

I have not published a reproducible benchmark here for those model choices. A useful comparison would need the exact model file and quantization, context length, software and driver versions, power settings, prompt-processing speed, and generation speed. My experience choosing a model for daily work does not establish parity with a desktop GPU, a general advantage over discrete-GPU laptops, or sustained operation without thermal throttling.


Beyond the processor, this is also a ThinkPad. The keyboard and TrackPoint matter to me because I spend the day using them. The chassis opens with a screwdriver, and the storage and memory are replaceable. Those details are part of why I enjoy the machine, alongside what it can do with local models.

I use inhibit-charge to manage charging and aim to park the battery around 60% when it stays plugged in. That describes my setup. I have no long-term battery-aging measurements from this laptop that would establish how much that habit extends its life.

My usual inference path is llama.cpp with Vulkan on Linux. Compatibility depends on the kernel, graphics driver, and inference-software versions. This account does not establish that every Vulkan or ROCm/HIP configuration works on the Radeon 890M, or that every Ubuntu or Fedora release handles every laptop feature equally well.


I still like the purchase. It gives me a development machine I enjoy using and a way to keep local models in my daily workflow. I have not provided a dated price comparison between matched configurations, so the earlier claim that comparable GPU laptops cost two or three times as much should not guide a buying decision.

For my next hardware comparison, I would start with the models I actually want to use, how much memory they need at my chosen context length, and how long I am willing to wait for an answer. This P16s changed my expectations of what I could do on my everyday laptop. The correct hardware name matters when someone else tries to make the same choice.