- 11 Nov, 2025 11 commits
-
-
Jesse Gross authored
We currently assign model layers to GPUs according to free VRAM, which assumes that GPU performance is roughly equal. This does not work well for mixed dGPU and iGPU systems because iGPUs typically use system memory which is large but their performance is slow. This instead assigns layers to dGPUs first and then iGPUs. In the future, this could be generalized to have a more fine grained notion of GPU performance but dGPU vs. iGPU performance is the most extreme.
-
Jesse Gross authored
Originally, llamaServer represented old memory estimates, which could be used with either the old or new engine. ollamaServer was used only for the new estimates and new engine. Since these implementations did not map directly to engine, there was engine- specific code in common code paths. Now that new estimates are always used for the new engine, there is a direct mapping between server type and engine. This separates out most of the engine-specific code into the correct implementation to make things easier to understand.
-
Jesse Gross authored
Currently for both the old and new engines, there is code to calculate how much memory is required for a model and lay out the layers onto GPUs. This reuses the new engine's lay out code for the old engine as well, bringing them closer together. The old engine continues to use its current method of estimating required memory. This reduces maintainence effort and improves consistency, as new features only need to be implemented in one place. The newer code is also more accurate, especially with multiple GPUs.
-
Jesse Gross authored
We used to control the way that llama.cpp saw devices using CUDA_VISIBLE_DEVICES or similar. This would ensure that the layers offloaded to a device were actually the ones intended. This is particularly important because we might reorder devices based on free memory or performance. When we started explicitly scheduling layers, this logic went away but the llamarunner didn't have any way to set the correct order of devices. This meant that the correct number of layers would be assigned to a device but not necessarily the layers that were expected. This change sets up the devices correctly based on the offload information.
-
Eva H authored
-
Baptiste Jamin authored
Adds logprobs support to Ollama's API including support for Ollama's OpenAI-compatible API. By specifying the new 'logprobs' boolean parameter in the API, Ollama will return the log probabilities for each token generated. 'top_logprobs', an integer value can also be specified up to the value 20. When specified, the API will also provide the number of most likely tokens to return at each token position Co-authored-by:Baptiste Jamin <baptiste@crisp.chat>
-
Eva Ho authored
-
Sheikh authored
-
Eva Ho authored
-
Eva Ho authored
-
Eva Ho authored
-
- 10 Nov, 2025 1 commit
-
-
Eva H authored
-
- 08 Nov, 2025 3 commits
-
-
Bruce MacDonald authored
-
Patrick Devine authored
-
Parth Sareen authored
-
- 07 Nov, 2025 2 commits
-
-
Daniel Hiltgen authored
* doc: re-add login autostart faq This appears to have been accidentally dropped during the doc migration. * docs: GPU updates lost on the doc update * review comments: improve windows login disable instructions
-
Tomoya Fujita authored
-
- 06 Nov, 2025 15 commits
-
-
Thomas Stocker authored
* Remove unnecessary macos 13 Patch * Remove unnecessary MacOs Version Guard patch * rename patchesw * remove again macos13 patch * rename files
-
Jeffrey Morgan authored
-
Saifeddine ALOUI authored
-
breatn authored
-
Jeffrey Morgan authored
-
Eva Ho authored
-
Eva H authored
feat: add support for WebP images in Ollama's app
-
Eva Ho authored
-
Daniel Hiltgen authored
-
Daniel Alejandro Coll Tejeda authored
-
7394112478 authored
-
mags0ft authored
-
Saifeddine ALOUI authored
-
Vincent Koc authored
-
Eva Ho authored
-
- 05 Nov, 2025 8 commits
-
-
Eva Ho authored
-
Eva Ho authored
-
Eva Ho authored
-
Daniel Hiltgen authored
-
Daniel Alejandro Coll Tejeda authored
-
nicole pardal authored
Co-authored-by:A-Akhil <akhilrahul70@gmail.com> This PR introduces a new ollama embed command that allows users to generate embeddings directly from the command line. Added ollama embed MODEL [TEXT...] command for generating text embeddings Supports both direct text arguments and stdin piping for scripted workflows Outputs embeddings as JSON arrays (one per line)
-
Daniel Hiltgen authored
The scheduler updates free VRAM based on current loaded models. This was mutating the persisted list of GPUs, and when coupled with the non-refreshing logic for Metal that lead to stale low VRAM reporting after unload. The fix is to make sure the GPU discovery always returns a copy so the schedulers GPU list is in fact ephemeral and doesn't leak any temporary adjustments back into the persistent list.
-
Patrick Devine authored
-