LM Studio
LM Studio is a desktop application for running models on your own machine. It gives you a catalogue to browse, a download manager, a chat window and a local server, all behind a graphical interface. Of the local LLM runtimes it asks the least of you up front, which makes it the easiest entry point into local LLMs if you have never run inference locally before.
It suits people who want to try several models without learning a toolchain first, and anyone who prefers reading settings off a screen to remembering them.
How it runs models
LM Studio loads GGUF files. You search the catalogue inside the app, pick a model, and choose from the quantization builds available for it. The app shows what each build will take and flags the ones your machine is unlikely to hold, which is the single most useful thing a graphical app can do for a beginner. Models you downloaded elsewhere work too, as long as they are in a folder the app is watching.
Underneath, it uses the same hardware paths as the rest of the local ecosystem:
- CUDA on NVIDIA cards. See /hardware/gpus, and the RTX 4090, RTX 5090 and RTX 3090 pages.
- Metal on Apple silicon, where unified memory is shared between the CPU and GPU. See the M3 Max.
- ROCm or Vulkan on AMD cards such as the 7900 XTX.
- CPU, for machines with no usable GPU and for the layers that do not fit on one.
How much of the model sits on the GPU is a control in the interface rather than something you work out beforehand, so you can slide it until the model loads and leave it there.
Fit
Choose LM Studio when you are still deciding which model you want, when you want to compare a few side by side without scripting anything, or when you want the memory maths shown to you instead of calculated by hand.
Choose Ollama instead when the model should run as a background service for other tools rather than inside an app you have open. Choose llama.cpp when you want full control, unusual hardware support, or a library to build on.
Working with it
Install the app, search for a model, and download a build whose quantization fits your memory with room left for the KV cache. The LLM models pages are a reasonable shortlist to search against.
Before loading, set the context window length. The app will usually offer the model's maximum, and on a card that cannot hold the cache for it the load fails or spills to system memory. Start shorter than the maximum and raise it if you need to.
Once a model is loaded you can chat with it in the app. There is also a local server mode, which exposes the loaded model over HTTP on your machine so editors, scripts and other front ends can use it. That is worth switching on once the app stops being where you do the actual work.
