Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Most local-model failures have a specific boundary: the model cannot fit in memory, the context pushes the KV cache over the limit, the runtime cannot see the GPU, the file format is incompatible, or a download/package is incomplete or outdated. Identify which stage fails, then change only the setting that controls that stage. This guide shows how to diagnose each case in Ollama, llama.cpp, Transformers and containerized deployments without guessing.

Start by locating the failure stage

Do not begin by randomly changing quantization, drivers and context settings at the same time. The error’s timing usually identifies the correct subsystem.

When it fails Most likely cause First check
Before any weights load File path, incomplete download, unsupported format, precision or insufficient VRAM/RAM Confirm the file, format, size and available memory
After weights load, while creating a context or generating longer prompts KV-cache or activation memory exceeds the remaining budget Lower the maximum context length
The model runs, but the CPU is busy and the GPU is idle GPU visibility, driver, permissions or backend configuration Test GPU access independently of the model runtime
The loader rejects the file immediately Wrong model format or a runtime that is too old for the file Check the runtime’s supported formats and version
A download stalls or times out Firewall, proxy, interrupted transfer or a partial file Inspect network logs and resume or use an already cached file
Python raises ImportError Transformers does not contain the model class required by the checkpoint Upgrade Transformers in the environment that launches the model

Keep the original error text, runtime version, operating system, GPU model, driver version, model filename and launch command. Those details distinguish a capacity problem from a compatibility problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why a model that starts can still run out of memory

Inference memory is more than the model’s weight file. The runtime also needs memory for intermediate activations and the key/value (KV) cache that stores attention history for the current context. A model may load successfully with a short prompt and fail when the context grows because the KV cache expands with the number of tokens.

#1 Best Overall
PNY NVIDIA RTX A5500 Professional Graphics Card 24GB GDDR6 PCI Express 4.0 x16, Dual Slot, 4X DisplayPort, 8K Support, Ultra Quiet Active Fan, 13659239000
  • GPU processor: NVIDIA RTX A5500
  • CUDA cores: 10240
  • 24GB GDDR6 ECC Graphics Memory
  • System Interface: PCI-Express 4.0 x16
  • 1 x DisplayPort to HDMI adapter

Precision sets the baseline for weights. As a simple rule, a parameter stored in BF16 needs about two bytes before overhead and auxiliary buffers are considered. NVIDIA documents a useful scale example: a 70-billion-parameter model in BF16 requires approximately 140 GB of weight memory. That figure is for the weights alone; runtime buffers and KV cache require additional capacity. A single consumer GPU therefore cannot run that configuration merely because the model file appears downloadable.

  • Weight-loading out-of-memory: the model cannot be placed in VRAM (or the configured combination of VRAM and RAM) before inference begins.
  • KV-cache out-of-memory: the weights fit, but the selected context, batch size or generation state consumes the remaining memory.
  • System-memory pressure: offloading weights to RAM may avoid a VRAM error but can exhaust system memory or trigger swapping.

The first two failures require different fixes. Quantization changes weight memory. Context settings change KV-cache memory. Treating them as interchangeable wastes time.

Fixing an out-of-VRAM error while loading weights

Verify the real memory budget

Check free VRAM immediately before launching, not just the card’s advertised capacity. Desktop compositors, another model, a browser, CUDA libraries and the runtime itself consume part of the total. If the runtime supports CPU or multi-GPU offload, include available system RAM and the transfer cost in your plan; offloading is not free capacity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a lower-precision quantization

NVIDIA recommends lower-precision quantization when the weights do not fit. A smaller quantization usually reduces memory substantially, but it can alter output quality, especially on difficult reasoning, coding or multilingual prompts. Compare quantization levels using the same prompt set rather than assuming the smallest file is equivalent to the original.

Choose a build explicitly labeled for your runtime and architecture. A quantized file is not automatically compatible with every loader; format and metadata still matter.

Use a smaller model or distribute weights

If the required quality cannot be maintained at a smaller quantization, select a model with fewer parameters or distribute the model across multiple GPUs. NVIDIA lists multi-GPU distribution as the other principal remedy for weight-loading OOM. Confirm that your runtime supports the intended split and that the cards have compatible drivers, interconnects and enough combined memory. A theoretical total does not guarantee a successful placement because each device and backend reserves its own buffers.

Rank #2
NVIDIA Quadro P2200 Video Graphic Cards (VCQP2200-SB)
  • 1280 CUDA Cores deliver powerful graphics and compute performance
  • 5 GB of fast GDDR5x GPU memory holds large models or scenes
  • Ideal for 3D Design and FHD video editing, and medical imaging systems (ultrasound)
  • Drives up to four displays at 5K resolution with 30-bit color
  • Compatible with NVIDIA CUDA, NVIDIA nView and Mosaic

Do not “solve” a weight OOM by changing context

Reducing context helps only when the failure occurs after weights have loaded. If the loader fails before creating a context, lower --max-model-len or an equivalent setting will not make the weight tensor smaller. Change quantization, model size or device placement first.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fixing an OOM during context creation or long prompts

Lower the maximum sequence length

When weights load and the crash appears during context setup or generation, reduce the runtime’s maximum sequence length. In runtimes that expose it, use --max-model-len; other applications provide an equivalent context-length field. The limit covers the tokens the application can retain for input and output, so a lower value may truncate long conversations or leave less room for generated text.

Make the change in small steps and retry with the same prompt. If a 32k-token setting fails, test 16k, then 8k, while watching memory. The usable limit depends on model architecture, batch size, number of sequences and backend implementation, so there is no universal context number for a particular GPU.

Reduce KV-cache precision when supported

Ollama documents lower-precision KV caches for Flash Attention. Its q8_0 cache uses approximately one-half the memory of an f16 cache, while q4_0 uses approximately one-quarter. Both introduce a documented quality trade-off. Use the highest precision that fits the workload, and validate factuality and instruction-following after changing it.

Reduce concurrency and batch pressure

Multiple simultaneous sequences multiply cache usage. If the model works for one request but fails under a server or chat application’s load, lower concurrent requests, batch size or parallel sequence limits before changing the model itself. Record the setting so a later deployment does not silently restore the larger memory demand.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When Ollama uses the CPU instead of the GPU

A CPU fallback is usually a visibility or backend problem, not proof that the model is too large. First test whether the container or host can see the device independently of Ollama.

Rank #3
Sale
NVIDIA NVS 510 Graphics Card 0B47077
  • Quad display support1
  • Display Port 1.2 features.H.264 Encoder
  • Versatile connectivity options using Mini Display Port (mDP) connector.NVIDIA FXAA and TXAA.Intelligent Power Management
  • Multi-display experience with NVIDIA Mosaic technology.NVidia High-Definition Video Technology
  • Maximum Power Consumption:35Watts

NVIDIA in a container

  1. Run docker run --gpus all ubuntu nvidia-smi.
  2. If the command cannot see the GPU, install or repair the current NVIDIA driver and container GPU integration before debugging Ollama.
  3. If it can see the GPU, start Ollama with the same container/device configuration and inspect its logs for backend initialization or allocation errors.

A successful nvidia-smi test proves device visibility, not that the model fits. A model can still fall back or fail if its weights and cache exceed available memory.

AMD on Linux

For AMD devices, verify that the process has permission to access both /dev/kfd and /dev/dri. Missing device nodes, restrictive group membership or container rules can leave the runtime with no usable accelerator. Check the runtime log after correcting permissions; it should identify the selected backend and device.

Read the runtime log instead of inferring from utilization

Low GPU utilization alone is ambiguous: generation may be waiting on input, or the workload may be small. The log should reveal whether a CUDA, ROCm or other accelerator backend initialized, how many layers were placed on the GPU and whether the remainder was intentionally offloaded to CPU. Collect that information with the launch command and driver version when reporting a problem.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GGUF and model-format errors in llama.cpp

llama.cpp requires the model to be stored in the GGUF file format. A safetensors, PyTorch or other checkpoint cannot be passed to a GGUF loader unchanged.

Recognize a format mismatch

  • An immediate “unknown format” or header error usually means the file is not GGUF, is truncated or is not the file you thought you downloaded.
  • A file with a model-like name can still be an HTML error page, an archive, or a partial transfer. Check its type and size before retrying.
  • A GGUF file can also require a newer llama.cpp build if its metadata or model architecture is newer than the loader.

Choose conversion or a compatible build

Download a GGUF release intended for llama.cpp, or convert the original checkpoint with the conversion tools appropriate to that model. Conversion must preserve tokenizer files and required metadata; a conversion that produces a file but omits tokenizer information may fail later at initialization. If the file is valid but the loader reports an unsupported architecture or version, update llama.cpp rather than repeatedly redownloading the same bytes.

Downloads that hang, time out or load a broken file

Transformers behind a firewall

Corporate firewalls, proxies and restricted outbound access can interrupt model retrieval. If the required files are already cached, run the Transformers workflow in offline mode so it does not attempt another network request. Offline mode cannot create missing files; verify the cache contains the configuration, tokenizer and weight shards the model needs.

Rank #4
NVIDIA Quadro K4000 3GB GDDR5 256-bit PCI Express 2.0 x16 Full Height Video Card (Renewed)
  • Graphics Coprocessor NVIDIA Quadro K4000
  • Brand NVIDIA
  • Graphics Ram Size 3 GB

Resuming a partial GGUF download

For llama.cpp GGUF downloads launched through Hugging Face, rerun the same launch after the network path is available. The downloader can resume partial files instead of starting from zero. Do not rename an incomplete file to make it appear complete; validate the final size and let the loader report any checksum or header problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Separate network errors from memory errors

A transfer that stalls before the model starts is not fixed by lowering context length. Conversely, a completed download followed by an allocation failure needs a memory change, not another retry. Keep network diagnostics and runtime diagnostics separate in your notes.

ImportError after installing a new model

New model releases can introduce configuration classes that older Transformers versions do not know. Hugging Face documentation identifies this as a common failure mode: the package imports the base library, then raises an ImportError when it cannot find the newly required model class.

  1. Record the exact model revision and the Python environment that launches it.
  2. Upgrade Transformers in that environment, along with the model’s documented companion dependencies where required.
  3. Restart the process so it does not retain the old package in memory.
  4. If the error persists, confirm that the upgrade occurred in the same virtual environment or container used by the command.

Updating an unrelated system Python does not change the packages inside a container or virtual environment. Conversely, upgrading only the host may leave a container with the old runtime.

Making an opaque CUDA assertion useful

Asynchronous CUDA execution can report an assertion far from the operation that caused it. Hugging Face’s troubleshooting guidance recommends reproducing the failure on CPU or setting CUDA_LAUNCH_BLOCKING=1. CPU execution is slower but often produces a direct shape, indexing or input-validation traceback. Blocking CUDA launches makes the GPU report closer to the offending operation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Save the original command and environment.
  2. Retry with CUDA_LAUNCH_BLOCKING=1 and capture the complete traceback.
  3. If possible, run the same prompt and model on CPU to obtain a more descriptive error.
  4. Use the resulting operation, tensor shape and model revision when checking the runtime’s issue tracker.

If the failure disappears on CPU, that does not prove the model is correct; it indicates that the GPU path, kernel, driver or memory layout deserves investigation.

Best Value
Geforce Nvidia RTX 3060ti Founders Edition 8GB
  • GeForce RTX 30 Series GPUs deliver ultimate performance for gamers and creators. They're powered by Ampere, NVIDIA's 2nd generation RTX architecture, with new RT cores, Tensor cores, and streaming multiprocessors for the most realistic ray-plotted graphics and cutting-edge AI features.
  • Discover today's biggest blockbusters like never before with the visual fidelity of real-time ray tracing and the ultimate performance of AI-powered DLSS. RTX It's on.
  • NVIDIA DLSS is a revolutionary AI rendering that increases frame rates with uncompromising image quality using dedicated AI processing Tensor cores on Geforce RTX. This gives you the margin of performance to increase settings and resolutions for an amazing visual experience. The AI revolution has arrived in the game.
  • NVIDIA Reflex delivers the ultimate competitive advantage. The lowest latency. The best responsiveness. Powered by Geforce RTX 30 Series GPUs and NVIDIA G-SYNC monitors. Acquire targets faster, react faster and increase aiming accuracy with a revolutionary suite of technologies to measure and optimize system latency for competitive gaming.
  • Enhance your creative projects with Geforce RTX 30 Series GPUs. Accelerate AI in the best creative applications. Supported by the NVIDIA Studio platform of dedicated drivers and exclusive tools. Designed to run in record time. Whether it's rendering complex 3D scenes, editing 8K videos, or live streaming with the best encoding and image quality, Geforce RTX GPUs give you the performance you need to create the best.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Compiling llama.cpp: CUDA toolkit and architecture mismatches

A source build can compile successfully yet fail at runtime when it targets the wrong GPU architecture or cannot find the intended CUDA toolkit. Correct the CUDA toolkit path and GPU architecture settings in the build configuration, following the NVIDIA playbook for the installed toolkit and device. Avoid mixing headers from one CUDA installation with libraries from another.

  • Confirm which nvcc, headers and shared libraries the build is using.
  • Set the CMake CUDA toolkit location explicitly when multiple toolkit versions are installed.
  • Configure the GPU architecture for the actual card rather than copying a setting for a different generation.
  • Clean the build directory after changing toolkit or architecture values, then rebuild so stale detection results are removed.

A newer GGUF may also require a newer llama.cpp runtime. Treat build configuration and model-format support as separate checks.

Unloading models and controlling Ollama memory retention

Ollama keeps models in memory for five minutes by default before unloading them. That behavior can make a second model appear to have no room even after the first request ends.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Unload immediately

Run ollama stop MODEL, replacing MODEL with the loaded model name. This releases the model instead of waiting for the retention timer.

Prevent retention for a request

Set keep_alive: 0 in the request that should unload when it finishes. Use this for one-off jobs or a machine that alternates between models. Keeping a frequently used model resident avoids reload time but reserves its weights and cache, so choose the policy based on available memory and workload.

Do not confuse retention with a leak

Memory remaining allocated for five minutes is expected behavior under Ollama’s default policy. If memory is still unavailable after stopping the model and allowing the process to release resources, inspect logs and the host’s GPU process list for another application.

Choosing the least damaging fix

Fix Memory effect Quality or capability cost Setup complexity Reversible?
Lower weight quantization Reduces VRAM/RAM required for weights May reduce output quality; depends on model and task Low if a compatible file exists Yes; keep the original file
Lower maximum context Reduces KV-cache allocation Limits input plus output token budget Low Yes; change the setting
Lower KV-cache precision q8_0 uses about half, and q4_0 about one-quarter, of f16 cache memory in Ollama’s documentation Documented quality trade-off Low to moderate; runtime-dependent Yes
Unload idle models Reclaims resident weight and cache memory Next request must reload the model Low Yes
Move layers to another GPU or CPU Spreads the allocation More transfer and configuration complexity; may affect speed Moderate to high Yes
Use a smaller model Reduces weights and often cache demand May change capability and answer quality Low Yes
Change runtime May add format or backend support New configuration, logs and compatibility surface Moderate to high Yes, but migration takes work

Use the smallest change that addresses the observed stage. Preserve a known-good model and configuration so you can measure whether a quality trade-off is acceptable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A repeatable troubleshooting procedure

  1. Classify the symptom. Note whether failure occurs during download, file parsing, weight loading, context creation, generation or GPU initialization.
  2. Capture versions and hardware. Record model revision, quantization, file format, runtime version, driver, GPU(s), system RAM and operating system.
  3. Reproduce with one model and one request. Remove concurrency and long chat history so the baseline is deterministic.
  4. Apply one change. Lower quantization for weight OOM, context for KV-cache OOM, or repair visibility for CPU fallback.
  5. Retest the original workload. A short prompt succeeding does not prove the production context fits.
  6. Restore settings deliberately. If the change fixed the issue, document the new limit and its effect on quality, context or reload time.

What to include when asking for help

OpenAI’s Help Center states that open-weight deployments are self-managed and self-serviced. Self-hosted and third-party runtime problems therefore belong with the relevant runtime project rather than general product support. Before opening an issue, provide:

  • Exact model name, revision, quantization and file format.
  • Runtime and library versions, including Transformers, llama.cpp or Ollama.
  • GPU model, VRAM, driver and toolkit versions; include whether the process runs in a container.
  • The complete launch command with secrets removed.
  • The first error, the stage at which it appears and whether CPU reproduction works.
  • Relevant logs showing device discovery, layer placement and memory allocation.
  • Whether the failure is reproducible with a short prompt, a lower context and a single request.

That information lets maintainers distinguish a bad file, unsupported architecture, driver problem, capacity limit and application bug without asking you to repeat basic tests.

Quick Recap

Bestseller No. 1
PNY NVIDIA RTX A5500 Professional Graphics Card 24GB GDDR6 PCI Express 4.0 x16, Dual Slot, 4X DisplayPort, 8K Support, Ultra Quiet Active Fan, 13659239000
PNY NVIDIA RTX A5500 Professional Graphics Card 24GB GDDR6 PCI Express 4.0 x16, Dual Slot, 4X DisplayPort, 8K Support, Ultra Quiet Active Fan, 13659239000
GPU processor: NVIDIA RTX A5500; CUDA cores: 10240; 24GB GDDR6 ECC Graphics Memory; System Interface: PCI-Express 4.0 x16
$3,799.00
Bestseller No. 2
NVIDIA Quadro P2200 Video Graphic Cards (VCQP2200-SB)
NVIDIA Quadro P2200 Video Graphic Cards (VCQP2200-SB)
1280 CUDA Cores deliver powerful graphics and compute performance; 5 GB of fast GDDR5x GPU memory holds large models or scenes
SaleBestseller No. 3
NVIDIA NVS 510 Graphics Card 0B47077
NVIDIA NVS 510 Graphics Card 0B47077
Quad display support1; Display Port 1.2 features.H.264 Encoder; Maximum Power Consumption:35Watts
$64.14
Bestseller No. 4
NVIDIA Quadro K4000 3GB GDDR5 256-bit PCI Express 2.0 x16 Full Height Video Card (Renewed)
NVIDIA Quadro K4000 3GB GDDR5 256-bit PCI Express 2.0 x16 Full Height Video Card (Renewed)
Graphics Coprocessor NVIDIA Quadro K4000; Brand NVIDIA; Graphics Ram Size 3 GB
$55.00

Preventing the common failures

  • Download a format explicitly supported by the chosen runtime; for llama.cpp, that means GGUF.
  • Keep model files, tokenizer files and configuration files together and verify interrupted downloads before loading.
  • Reserve memory for KV cache instead of sizing a machine only for the weight file.
  • Set a context limit appropriate to the workload and monitor memory as conversations grow.
  • Test container GPU visibility with the vendor utility before blaming the model.
  • Keep drivers, CUDA/ROCm components and runtimes compatible rather than upgrading one layer in isolation.
  • Unload idle models when switching between large checkpoints.
  • Pin working versions and change one variable at a time when upgrading.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.