- 31 Oct, 2025 3 commits
-
-
Daniel Hiltgen authored
In CPU only setups the LibOllamaPath was omitted causing us not to load the ggml-cpu-XXX libraries during inference.
-
Daniel Hiltgen authored
This will help bubble up more crash errors
-
nicole pardal authored
This PR removes a redundant test from TestAPIEmbeddings Contents of this test already exists in embed_test.go and model_arch_test.go
-
- 30 Oct, 2025 11 commits
-
-
Daniel Hiltgen authored
On Windows AMD IDs are numeric, and can reorder based on the filter environment. By passing in the filter env on a full discovery refresh, we'll only look at the actual devices and ignore unsupported iGPUs. Without this, on some systems iGPU VRAM was incorrectly being used to populate the dGPU.
-
Jesse Gross authored
When a model is partially offloaded to system RAM, we can either do the calculations on the CPU or we can temporarily transfer the data to the GPU to do the calculations there. Small batches tend to be better on the CPU, large batches on the GPU. The llamarunner used the GPU in most cases and the ollamarunner used the CPU. Although the ollamarunner saw an improvement in token generation performance, there was a large performance hit in prompt processing (3-10x). There is an existing heuristic to dynamically switch between these two modes but in practice it doesn't have enough information to accurately make that decision. This adds authoritative data to make the check work to get the best of both worlds. Fixes #12037
-
Jesse Gross authored
We currently allocate the worst case batch for max sized batches, which corresponds to prompt processing. However, there are some cases where the generated graph is different for small and large batches. To ensure that we don't need to allocate memory later after layout has taken place, we should run the worst case batch both ways and take the larger amount of memory. This does not noticeably affect loading speed as the most expensive part of this logic is from image processing and that does not occur during token generation.
-
Daniel Hiltgen authored
windows gets confused when we try to hand the stderr file descriptor to the subprocess children. This ensures the log output always shows up.
-
Patrick Devine authored
-
Michael Yang authored
* ml(ggml): mrope * interleave mrope
-
Michael Yang authored
-
Michael Yang authored
this change fixes two bugs with `ollama rm`: 1. before a model is removed, it will first be stopped. this only happens for the first argument and skipped for all other models 2. models are unloaded indiscriminately. this errors for cloud models and should be omitted
-
Michael Yang authored
this change fixes images with an alpha channel by overlaying the image onto a white background
-
Michael Yang authored
* mulmat * permute
-
Athiban Sharon authored
Fixed broken docs links
-
- 29 Oct, 2025 8 commits
-
-
Grace authored
Eats extra whitespace at the end/beginning of content
-
Daniel Hiltgen authored
this should reduce zombies during integration runs
-
Patrick Devine authored
-
Michael Yang authored
-
Jeffrey Morgan authored
-
Jeffrey Morgan authored
-
Jeffrey Morgan authored
-
Michael Yang authored
-
- 28 Oct, 2025 12 commits
-
-
Patrick Devine authored
-
Parth Sareen authored
-
Daniel Hiltgen authored
* Fix vulkan PCI ID and ID handling Intel GPUs may not report PCI IDs which was leading to incorrect overlap detection. Switch to using the existing PCI IDs, however AMD GPUs claim not to report PCI IDs, but actually do, so try anyway, as this is required for ADLX to find the GPUs on Windows. Numeric IDs lead to scheduling problems, so this also switches Vulkan to use UUID based IDs. The GPU discovery patches have been squashed into a single patch to simplify future rebases. * review comments
-
Patrick Devine authored
This reverts commit 5d347f6d.
-
Parth Sareen authored
-
Parth Sareen authored
-
Parth Sareen authored
This reverts commit 934dd9e1.
-
Parth Sareen authored
-
Michael Yang authored
-
nicole pardal authored
-
Devon Rifkin authored
create: inherit FROM model's renderer/parser
-
Michael Yang authored
-
- 27 Oct, 2025 2 commits
-
-
Devon Rifkin authored
On main, the `RENDERER` and `PARSER` fields from the `Modelfile` don't get propagated to a new model created with a `req.From` parameter. This is easily triggered via `ollama run qwen3-coder`, then running some save command like `/save qwen3-coder-custom`. Added a regression test for this, and then open the config for the "from" model in order to use its renderer/parser as a default for the new model. This will fix the CLI and also API-based creates. Fixes: https://github.com/ollama/ollama/issues/12792
-
nicole pardal authored
Currently, checking the length of prompts for embeddings to ensure they fit in the context window (and possible truncation) occurs in two places - the Ollama server and runner. This can lead to inconsistencies in both the checks and reported number of tokens processed. Since we have to do this processing in the runner, this consolidates all of the logic there.
-
- 25 Oct, 2025 1 commit
-
-
Patrick Devine authored
-
- 23 Oct, 2025 3 commits
-
-
Jesse Gross authored
If we create a memory layout that should fit based on report free VRAM but allocation still fails, we start applying a backoff. This reduces free VRAM by an exponential percentage (1%, 2%, 4%...). However, the points chosen tend to be too dense at the beginning and too sparse at the end. Therefore, this switches to an incremental backoff (10%, 20%, 30%...).
-
Vinh Nguyen authored
-
Daniel Hiltgen authored
* DRY out the runner lifecycle code Now that discovery uses the runners as well, this unifies the runner spawning code into a single place. This also unifies GPU discovery types with the newer ml.DeviceInfo * win: make incremental builds better Place build artifacts in discrete directories so incremental builds don't have to start fresh * Adjust sort order to consider iGPUs * handle cpu inference oom scenarios * review comments
-