- 09 Sep, 2025 4 commits
-
-
Parth Sareen authored
-
Daniel Hiltgen authored
* tests: reduce stress on CPU to 2 models This should avoid flakes due to systems getting overloaded with 3 (or more) models running concurrently * tests: allow slow systems to pass on timeout If a slow system is still streaming a response, and the response will pass validation, don't fail just because the system is slow. * test: unload embedding models more quickly
-
Kashyap Tanuku authored
-
Jesse Gross authored
The context must always be able to store the current batch, so if the user requests a small context then we should also shrink the batch to match. This also fixes the TestLongInputContext test on the new engine. (The old engine already has this behavior.)
-
- 08 Sep, 2025 4 commits
-
-
Parth Sareen authored
-
Gabe Goodhart authored
This PR updates the memory size estimate logic to better handle recurrent and hybrid-recurrent models which are currently being badly overestimated because the default logic assumes full attention for all layers. The logic for the sizing of the recurrent layers comes from the llama.cpp implementation ggml_tensor * r = ggml_new_tensor_1d(ctx, type_r, hparams.n_embd_r()*mem_size); ggml_tensor * s = ggml_new_tensor_1d(ctx, type_s, hparams.n_embd_s()*mem_size); Signed-off-by:Gabe Goodhart <ghart@us.ibm.com>
-
Daniel Hiltgen authored
This debug setting can help troubleshoot obscure initialization failures.
-
Michael Yang authored
-
- 05 Sep, 2025 1 commit
-
-
frob authored
* Don't check the file type of safetensor to prevent false negatives. --------- Co-authored-by:Patrick Devine <patrick@infrahq.com>
-
- 04 Sep, 2025 2 commits
-
-
Michael Yang authored
* ollama: add embeddings
-
Michael Yang authored
-
- 02 Sep, 2025 3 commits
-
-
Michael Yang authored
-
Jesse Gross authored
If a GPU's free memory is less than the reserved amount, we might get an underflow. Since it is an unsigned uint64, we print this as a large number rather than the more correct 0. This only affects logging, the actual layout code already handles this correctly. Bug #12138
-
Daniel Hiltgen authored
-
- 31 Aug, 2025 2 commits
-
-
pxwanglu authored
-
alpha-nerd-nomyo authored
-
- 29 Aug, 2025 2 commits
-
-
Daniel Hiltgen authored
* perf: build graph for next batch in parallel to keep GPU busy This refactors the main run loop of the ollama runner to perform the main GPU intensive tasks (Compute+Floats) in a go routine so we can prepare the next batch in parallel to reduce the amount of time the GPU stalls waiting for the next batch of work. * tests: tune integration tests for ollama engine This tunes the integration tests to focus more on models supported by the new engine.
-
Daniel Hiltgen authored
* Always filter devices Avoid crashing on unsupported AMD iGPUs * Remove cuda device filtering This interferes with mixed setups
-
- 28 Aug, 2025 1 commit
-
-
ofrancon authored
-
- 27 Aug, 2025 2 commits
-
-
Jesse Gross authored
The recent memory management changes caused all GPUs to be visible to the runner, regardless of whether they are ultimately used. This caused CUDA devices to allocate a primary context (~300 MB VRAM) on each GPU, for each model. This is unnecessary, so we can both avoid touching GPUs that we exclude in the early stage of allocation and freeing the memory for any that we touch but don't use. The issue will continue to exist for the old engine, since it touches all devices during initialization.
-
Michael Yang authored
-
- 26 Aug, 2025 3 commits
-
-
Michael Yang authored
* convert: return bytes written * ggml flavor mxfp4 * simplify jit conversion * comment
-
Michael Yang authored
there's two bugs here. 1. the check for a layer id is incorrect and should be >= 0 since layer 0 is valid 2. if both tensors have an layer identifier, it will only compare the layer id which will return 0 if the tensors are in the same layer. instead it should fallback to comparing the full tensor name
-
Michael Yang authored
-
- 25 Aug, 2025 1 commit
-
-
Michael Yang authored
-
- 22 Aug, 2025 6 commits
-
-
Jeffrey Morgan authored
-
Jeffrey Morgan authored
-
Devon Rifkin authored
thinking: fix double emit when no opening tag
-
Jeffrey Morgan authored
-
zoupingshi authored
Signed-off-by:zoupingshi <hangfachang@outlook.com>
-
Devon Rifkin authored
The thinking parser will automatically transition to being a pass-through if non-whitespace is seen before an opening tag. However, we weren't clearing the buffer after the first non-whitespace input, so in practice the first token would be emitted twice. Added a test that demonstrated this, and then fixed the bug.
-
- 21 Aug, 2025 1 commit
-
-
Parth Sareen authored
-
- 20 Aug, 2025 6 commits
-
-
Michael Yang authored
-
Jesse Gross authored
With old memory estimates, it's currently impossible to load more than one model at a time when no GPUs are available. This is because the check for whether we need to evict a model looks to see if all layers of the new model can be loaded onto GPUs, which is never true if there are no GPUs. Before the memory management changes, there was a special code path for CPU-only systems. This problem does not exist with new memory estimates. Fixes #11974
-
Michael Yang authored
-
Devon Rifkin authored
model: fix boundary in bpe
-
Devon Rifkin authored
-
Devon Rifkin authored
0x007e is a tilde and was getting adjusted (+0x00a2) to 0x0120 in the encode, but then in the decode it was getting adjusted down (-0x0100) to 0x0020. The boundary for the +0x00a2 case has been adjusted to fix this Fixes: #11966
-
- 19 Aug, 2025 2 commits
-
-
Jesse Gross authored
Flash attention kernels require the mask of the KV cache be a F16 rather than an F32. We can use the GGML operation ggml_cast to do this rather than doing it ourselves, which allows reuse of a preallocated buffer in the graph rather than allocating a new one for each batch. This improves token generation performance with flash attention by 10-30% (with gpt-oss). This also makes performance with flash attention better than without it, as expected.
-
Michael Yang authored
-