]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
2 months agomtmd : support SmolVLM (version 1 and 2) (#13050)
Xuan-Son Nguyen [Tue, 22 Apr 2025 14:24:54 +0000 (16:24 +0200)]
mtmd : support SmolVLM (version 1 and 2) (#13050)

* mtmd : support SmolVLM (version 1 and 2)

* correct chat template

* fix n_patches

* scale_factor is an int

* add more models to test

2 months agosecurity : add note about RPC and server functionality (#13061)
Georgi Gerganov [Tue, 22 Apr 2025 13:16:10 +0000 (16:16 +0300)]
security : add note about RPC and server functionality (#13061)

* security : add note about RPC functionality

* security : add note about llama-server

2 months agometal : add memory pool for temp allocs (#12850)
Georgi Gerganov [Tue, 22 Apr 2025 13:15:51 +0000 (16:15 +0300)]
metal : add memory pool for temp allocs (#12850)

* metal : add memory pool for temp allocs (wip) [no ci]

* cont : free buffers from the heap

* cont : resize heap [no ci]

* cont : refactor heap [no ci]

* cont : heap for each cmd buffer [no ci]

* cont : fix free

* wip

* cont : fix alignment [no ci]

* cont : not working .. [no ci]

* cont : heap allocation now works [no ci]

* cont : use MTLHeapTypePlacement

ggml-ci

* metal : use dynamic MTLHeap allocations

ggml-ci

* metal : add comments

* metal : disable softmax use of mem_pool

ggml-ci

* metal : final touches

2 months agollava : update documentations (#13055)
Xuan-Son Nguyen [Tue, 22 Apr 2025 08:37:00 +0000 (10:37 +0200)]
llava : update documentations (#13055)

* llava : update documentations

* fix typo

2 months agoggml : add SSE 4.2 and x64 base variant for CPUs without AVX (#12871)
Diego Devesa [Mon, 21 Apr 2025 16:13:51 +0000 (18:13 +0200)]
ggml : add SSE 4.2 and x64 base variant for CPUs without AVX (#12871)

* ggml : add SSE 4.2 variant for CPUs without AVX

* ggml : add x64 base ABI variant

2 months agoSYCL: Add non-contiguous support in ROPE (#12993)
Akarshan Biswas [Mon, 21 Apr 2025 13:43:30 +0000 (19:13 +0530)]
SYCL: Add non-contiguous support in ROPE (#12993)

ggml-ci

2 months agomtmd : merge llava, gemma3 and minicpmv CLI into single `llama-mtmd-cli` (#13012)
Xuan-Son Nguyen [Mon, 21 Apr 2025 13:32:58 +0000 (15:32 +0200)]
mtmd : merge llava, gemma3 and minicpmv CLI into single `llama-mtmd-cli` (#13012)

* mtmd : merge `llava-cli` and `gemma3-cli` into single `mtmd-cli`

* support for minicpmv

* remove cpp files of llava and minicpmv

* update hot topics

* mtmd : add not supported msg for qwen2vl

* Update examples/llava/mtmd.cpp

Co-authored-by: Georgi Gerganov <redacted>
---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agoconvert : experimental support for `--mmproj` flag (#13023)
Xuan-Son Nguyen [Sun, 20 Apr 2025 21:29:36 +0000 (23:29 +0200)]
convert : experimental support for `--mmproj` flag (#13023)

* convert : experimental support for `--mmproj` flag

* fix bad ctrl+f replace

* fix style

* split into subclasses TextModel and VisionModel

* rename Mode --> ModelBase

* small fix

* correct CLIP_VISION arch name (because existing GGUF already use it)

* Apply suggestions from code review

Co-authored-by: compilade <redacted>
* fix Mistral3Model

* fix typo

Co-authored-by: compilade <redacted>
---------

Co-authored-by: compilade <redacted>
2 months agollava: fix errors in clip.h on certain compilers (#13030)
Jeffrey Morgan [Sun, 20 Apr 2025 10:15:41 +0000 (03:15 -0700)]
llava: fix errors in clip.h on certain compilers (#13030)

2 months agovulkan: support noncontiguous rms_norm (#13031)
Jeff Bolz [Sun, 20 Apr 2025 08:50:02 +0000 (03:50 -0500)]
vulkan: support noncontiguous rms_norm (#13031)

2 months agometal: add neg operator (#13029)
Jeffrey Morgan [Sun, 20 Apr 2025 05:28:40 +0000 (22:28 -0700)]
metal: add neg operator (#13029)

2 months agoDisable CI cross-compile builds (#13022)
bandoti [Sat, 19 Apr 2025 16:05:03 +0000 (13:05 -0300)]
Disable CI cross-compile builds (#13022)

2 months agogguf-py : fix upload python package workflow (#13020) gguf-v0.16.2
Sigbjørn Skjæret [Sat, 19 Apr 2025 14:26:38 +0000 (16:26 +0200)]
gguf-py : fix upload python package workflow (#13020)

2 months agoclip : refactor, add `image_manipulation` and `llava_uhd` classes (#13011)
Xuan-Son Nguyen [Sat, 19 Apr 2025 07:15:45 +0000 (09:15 +0200)]
clip : refactor, add `image_manipulation` and `llava_uhd` classes (#13011)

* clip : refactor, add `image_manipulation` and `llava_uhd`

* refactor llava-1.6 preprocessing

* simplify logic for llava-1.5

* missing include

2 months agomain : Fix Ctrl+D/newline handling (#12951)
Daniel Tang [Fri, 18 Apr 2025 20:02:55 +0000 (16:02 -0400)]
main : Fix Ctrl+D/newline handling (#12951)

This restores the behavior from #491. This does not affect Ctrl+D's ability to
terminate --multiline-input lines (#1040).

This also actually implements #587: "If the user wants the text to end in a
newline, this should be accomplished by explicitly adding a newline by using
\ followed by return, then returning control by pressing return again."

Fixes #12949

2 months agogguf-py : GGUF Editor GUI - Python + Qt6 (#12930) gguf-v0.16.1
Chris Thompson [Fri, 18 Apr 2025 18:30:41 +0000 (12:30 -0600)]
gguf-py : GGUF Editor GUI - Python + Qt6 (#12930)

2 months agoserver : use std::move whenever possible (#12936)
Xuan-Son Nguyen [Fri, 18 Apr 2025 17:58:12 +0000 (19:58 +0200)]
server : use std::move whenever possible (#12936)

* server : use std::move whenever possible

* use r-value ref

* Apply suggestions from code review

Co-authored-by: Georgi Gerganov <redacted>
* make task creation scoped

* restore std::move

* fix task_id not set correctly

* apply changes from suggestion

Co-authored-by: ggerganov <redacted>
---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agoSYCL: Refactor and enable FP16 in binary broadcast OPs (#12975)
Akarshan Biswas [Fri, 18 Apr 2025 13:57:56 +0000 (19:27 +0530)]
SYCL: Refactor and enable FP16 in binary broadcast OPs (#12975)

* SYCL: refactor move to a separate file

* Fix binbcast

* Remove duplicates

* fix include formatting

* fix typo

2 months agomtmd : add methods to access `mtmd_image_tokens` (#12906)
Xuan-Son Nguyen [Fri, 18 Apr 2025 08:04:51 +0000 (10:04 +0200)]
mtmd : add methods to access `mtmd_image_tokens` (#12906)

* mtmd : add more api around mtmd_image_tokens

* mtmd : ability to calc image hash

* shared_ptr for mtmd_image_tokens

* move hash to user-define ID (fixed)

* fix prompt_modified

* rm redundant data member

2 months agorpc : add RPC_CMD_HELLO (#12955)
Radoslav Gerganov [Fri, 18 Apr 2025 07:13:42 +0000 (10:13 +0300)]
rpc : add RPC_CMD_HELLO (#12955)

Add RPC_CMD_HELLO for getting the version of the protocol implemend by
the server. Follow the semantic versioning rules at https://semver.org

Hopefully this bring better user experience when we make breaking
changes at the protocol level and avoid issues like #12465

2 months agograph : make FA compatible with MLA + add initial Metal kernels (#12953)
Georgi Gerganov [Thu, 17 Apr 2025 15:16:36 +0000 (18:16 +0300)]
graph : make FA compatible with MLA + add initial Metal kernels (#12953)

* graph : make mla compatible with FA

* metal : add exp FA kernels for DeepSeek models

ggml-ci

* llama : minor naming updates

ggml-ci

* ggml : disable FA for DS head sizes

* tests : add FA tests for MLA shapes

ggml-ci

2 months agoggml: Re-enable CUDA graphs in presence of CONT and DUP nodes (#12970)
Alan Gray [Thu, 17 Apr 2025 13:19:42 +0000 (14:19 +0100)]
ggml: Re-enable CUDA graphs in presence of CONT and DUP nodes (#12970)

2 months agoCANN: Add support for async operator submission (#12864)
hipudding [Thu, 17 Apr 2025 12:34:16 +0000 (20:34 +0800)]
CANN: Add support for async operator submission (#12864)

Submit operators using asynchronous threads to improve performance.

Use the environment variable GGML_CANN_ASYNC_MODE to control whether
asynchronous submission is enabled. It is disabled by default.

Testing shows a 10%–20% performance improvement in scenarios with
small parameter sizes, especially in quantized models.

2 months agollama : recognize IBM Granite 3.3 FIM tokens (#12988)
Mikko Juola [Thu, 17 Apr 2025 08:37:05 +0000 (01:37 -0700)]
llama : recognize IBM Granite 3.3 FIM tokens (#12988)

The Granite's FIM tokens are very similar to Qwen's; it's just that
they use underscore instead of a dash. So <fim_middle> for example
instead of <fim-middle>.

Opening up tokenizer_config.json in ibm-granite/granite-3.3-8b-base
shows:

```
    "<fim_prefix>",
    "<fim_middle>",
    "<fim_suffix>",
    "<fim_pad>",
    ...
    "<reponame>",
```

2 months agoopencl: fix incorrect local_size index in profiling log (#12868)
kimminsu [Wed, 16 Apr 2025 21:25:57 +0000 (06:25 +0900)]
opencl: fix incorrect local_size index in profiling log (#12868)

2 months agovulkan: enable coopmat2 FA gqa and split_k optimizations more often (#12931)
Jeff Bolz [Wed, 16 Apr 2025 18:37:25 +0000 (13:37 -0500)]
vulkan: enable coopmat2 FA gqa and split_k optimizations more often (#12931)

The grouped query attention optmization doesn't require a power of two ratio,
the only thing relying on it was the modulo operation written as bitwise &.

split_k need not depend on gqa_ratio - enable it any time there's only one
workgroup in the X dimension. The shader gets the split index from the x coord,
and multiple workgroups in the X dimension (pre-split) indicates a larger
FA operation that wouldn't need splitting.

2 months agoCANN: Add 310P operator support check (#12962)
Chenguang Li [Wed, 16 Apr 2025 08:21:05 +0000 (16:21 +0800)]
CANN: Add 310P operator support check (#12962)

2 months agoopencl: split `ggml-opencl.cl` into multiple files and cleanup (#12886)
lhez [Tue, 15 Apr 2025 19:26:00 +0000 (12:26 -0700)]
opencl: split `ggml-opencl.cl` into multiple files and cleanup (#12886)

* opencl: refactor - split the kernel files

---------

Co-authored-by: Shangqing Gu <redacted>
* opencl: split more kernels into separate files

* opencl: specify subgroup size instead of querying it

* opencl: refine Adreno cl compiler version parsing

* opencl: skip some kernels not used by Adreno on old compilers

* opencl: refine logic for selecting Adreno kernels

* opencl: refine Adreno cl compiler version

* opencl: cleanup preprocessor for kernels

* opencl: consider Adreno CL compiler on Windows

* opencl: add final newline for `mul_mv_f16_f16.cl`

---------

Co-authored-by: Shangqing Gu <redacted>
2 months agometal : add FA-vec kernels for head size 96 (#12952)
Georgi Gerganov [Tue, 15 Apr 2025 11:45:05 +0000 (14:45 +0300)]
metal : add FA-vec kernels for head size 96 (#12952)

ggml-ci

2 months agoCANN: Add x86 build ci (#12950)
hipudding [Tue, 15 Apr 2025 11:08:55 +0000 (19:08 +0800)]
CANN: Add x86 build ci (#12950)

* CANN: Add x86 build ci

* CANN: fix code format

2 months agoCUDA/HIP: Share the same unified memory allocation logic. (#12934)
David Huang [Tue, 15 Apr 2025 09:20:38 +0000 (17:20 +0800)]
CUDA/HIP: Share the same unified memory allocation logic. (#12934)

Replace compile-time `GGML_HIP_UMA` with environment variable `GGML_CUDA_ENABLE_UNIFIED_MEMORY`. This unifies the usage on NVIDIA and AMD GPUs, and allows a single binary to be shared between integrated and dedicated GPUs.

2 months agoSYCL: Add ROPE vision kernel (#12887)
Akarshan Biswas [Tue, 15 Apr 2025 08:37:42 +0000 (14:07 +0530)]
SYCL: Add ROPE vision kernel (#12887)

* SYCL: Add ROPE vision kernel

* Add comment about rope mode

2 months agollama : DeepSeek V2/V3 MLA implementation (#12801)
Juk Armstrong [Tue, 15 Apr 2025 06:49:57 +0000 (07:49 +0100)]
llama : DeepSeek V2/V3 MLA implementation (#12801)

* Merged using squash to remove all noise commit messages

* Force flash attention off for `LLM_ARCH_DEEPSEEK2` - embedding too large

* Removed 3 conts (2x RoPE and 1x RMS-norm)

* Changed to use `<cmath>` instead of `<math.h>`

* Reverted removal of the 3 conts

* Used `reshape` in `llm_graph_context::build_attn_mha()`

* Use `k_pe = ggml_reshape`

* Removed the 3 conts again

* Removed the 3D views of `wk_b` and `wv_b`, and just save and 3D in GGUF

* Removed MQA optimisation from `build_attn_mha()` as no gains now

* Simplified `is_mla` branch in `llm_build_deepseek2()`

* Removed `build_attn_mla` and added `nullptr` to all `build_atnn` calls

* Fixed call to `build_attn` in `llm_build_t5_enc`

2 months agoggml : Add AVX512 implementation of GEMM - Q4_Kx8 (#12829)
Srihari-mcw [Tue, 15 Apr 2025 06:22:36 +0000 (11:52 +0530)]
ggml : Add AVX512 implementation of GEMM - Q4_Kx8 (#12829)

* Add AVX512 implementation of GEMM - q4kx8

* Update changes to remove unnecessary whitespaces

2 months agoCANN: Opt ROPE optimization (#12865)
Chenguang Li [Tue, 15 Apr 2025 02:09:35 +0000 (10:09 +0800)]
CANN: Opt ROPE optimization (#12865)

* [CANN]Opt ROPE optimization

* [CANN]Codestyle adjustment

* [CANN]Fix the ROPE precision issue

* [CANN]codestyle fix

* [CANN]add rope unsupport case

Signed-off-by: noemotiovon <redacted>
2 months agoCANN: Optimize CANN buffer pool memory management (#12875)
Xinpeng Dou [Tue, 15 Apr 2025 02:04:24 +0000 (10:04 +0800)]
CANN: Optimize CANN buffer pool memory management (#12875)

Multiple optional memory pools are provided for CANN, including VMM,
priority queue-based, and traditional memory pools.
1.When the memory pool is available and GGML_CANN_DISABLE_VMM_POOL
   is not defined, the VMM pool is selected by default.
2.Otherwise, if GGML_CANN_ENABLE_BUF_PRIO_POOL is defined,
   the priority queue-based memory pool is used.
3.If neither condition is met, the default memory pool is used.

2 months agoAdd performance print for gemma3 in example (#12929)
Russyyds [Mon, 14 Apr 2025 17:18:20 +0000 (01:18 +0800)]
Add performance print for gemma3 in example (#12929)

2 months agoSYCL: Fix im2col (#12910)
Akarshan Biswas [Mon, 14 Apr 2025 12:23:53 +0000 (17:53 +0530)]
SYCL: Fix im2col (#12910)

* SYCL: Fix im2col

* restore local workgroup size adjustments for large inputs

* restore format

2 months agorpc : use ggml_context_ptr (#12938)
Radoslav Gerganov [Mon, 14 Apr 2025 10:59:34 +0000 (13:59 +0300)]
rpc : use ggml_context_ptr (#12938)

2 months agodsiable curl lib check, this action is missed by commit bd3f59f81289b920bcc597a208c14...
Neo Zhang Jianyu [Mon, 14 Apr 2025 10:19:07 +0000 (18:19 +0800)]
dsiable curl lib check, this action is missed by commit bd3f59f81289b920bcc597a208c14f55e39ed37e (#12761) (#12937)

2 months agosync : ggml
Georgi Gerganov [Mon, 14 Apr 2025 05:52:10 +0000 (08:52 +0300)]
sync : ggml

ggml-ci

2 months agocpu: fix cpu backend's supports-op for GET_ROWS_BACK. fixes a fatal when running...
cmdr2 [Fri, 11 Apr 2025 06:44:19 +0000 (12:14 +0530)]
cpu: fix cpu backend's supports-op for GET_ROWS_BACK. fixes a fatal when running test-backend-ops with only the CPU backend (ggml/1190)

2 months agoggml: use _mm[512/256]_dpbusd[_avx]_epi32 to directly accumulate into the result...
SXX [Mon, 14 Apr 2025 05:47:55 +0000 (13:47 +0800)]
ggml: use _mm[512/256]_dpbusd[_avx]_epi32 to directly accumulate into the result register (#12773)

* ggml: use _mm[512/256]_dpbusd[_avx]_epi32 to directly accumulate into the result register

* simplifies the codebase by removing redundant functions

2 months agoggml: disable CUDA graphs for unsupported DUP and CONT node types (#12891)
Alan Gray [Sun, 13 Apr 2025 21:12:21 +0000 (22:12 +0100)]
ggml: disable CUDA graphs for unsupported DUP and CONT node types (#12891)

Fixes #12798

2 months agoquantize: Handle user-defined quantization levels for additional tensors (#12511)
Ed Addario [Sun, 13 Apr 2025 18:29:28 +0000 (19:29 +0100)]
quantize: Handle user-defined quantization levels for additional tensors (#12511)

* Add llama_model_quantize_params parameters

* Add new quantize parameters parsing and validation

* Update usage

* Add new parameters defaults

* Add new quantization parameters logic

* Add llama_model_quantize_params parameters

* Add new quantize parameters parsing and validation

* Update usage

* Add new parameters defaults

* Add new quantization parameters logic

* Minor refactoring as per the contributors' coding guidelines

* Update descriptions to match existing style

* Add llama_model_quantize_params parameters

* Add new quantize parameters parsing and validation

* Update usage

* Add new parameters defaults

* Add new quantization parameters logic

* Minor refactoring as per the contributors' guidelines

* Implement general --tensor-type instead of tensor-specific command option

* Fix implied type bug

* Restore missing #includes

* Add regex capability for tensor selection

* Refactor function name and update ALLOWED_TENSOR_TYPE

* Add missing #include

* Handle edge case when tensor name is cls.output

* Minor logging improvement

2 months agocommon : Define cache directory on AIX (#12915)
Prajwal B Mehendarkar [Sat, 12 Apr 2025 15:33:39 +0000 (21:03 +0530)]
common : Define cache directory on AIX (#12915)

2 months agovulkan: use aligned loads for flash attention mask (#12853)
Jeff Bolz [Sat, 12 Apr 2025 08:44:48 +0000 (03:44 -0500)]
vulkan: use aligned loads for flash attention mask (#12853)

Rewrite the stride logic for the mask tensor in the FA shader to force the
stride to be aligned, to allow using more efficient loads.

2 months agollava: Fix cpu-only clip image encoding sefault (#12907)
Matt Clayton [Sat, 12 Apr 2025 05:29:03 +0000 (01:29 -0400)]
llava: Fix cpu-only clip image encoding sefault (#12907)

* llava: Fix cpu-only clip image encoding

* clip : no smart ptr for ggml_backend_t

* Fix for backend_ptr push_back

---------

Co-authored-by: Xuan Son Nguyen <redacted>
2 months agoserver : add VSCode's Github Copilot Chat support (#12896)
Georgi Gerganov [Fri, 11 Apr 2025 20:37:41 +0000 (23:37 +0300)]
server : add VSCode's Github Copilot Chat support (#12896)

* server : add VSCode's Github Copilot Chat support

* cont : update handler name

2 months agorpc : Set cache directory in rpc-server.cpp on FreeBSD (#12903)
yuri@FreeBSD [Fri, 11 Apr 2025 20:04:14 +0000 (13:04 -0700)]
rpc : Set cache directory in rpc-server.cpp on FreeBSD (#12903)

2 months ago`tool-call`: fix non-tool-calling grammar crashes w/ Qwen / Hermes 2 templates (...
Olivier Chafik [Fri, 11 Apr 2025 19:47:52 +0000 (12:47 -0700)]
`tool-call`: fix non-tool-calling grammar crashes w/ Qwen / Hermes 2 templates (#12900)

* `tool-call`: don't call common_chat_params_init_hermes_2_pro when there aren't tools (or when there's a schema)

* test all chat formats w/o tools

2 months agocommon : Define cache directory on FreeBSD (#12892)
yuri@FreeBSD [Fri, 11 Apr 2025 19:45:44 +0000 (12:45 -0700)]
common : Define cache directory on FreeBSD (#12892)

2 months agosycl: Support sycl_ext_oneapi_limited_graph (#12873)
Ewan Crawford [Fri, 11 Apr 2025 13:32:14 +0000 (15:32 +0200)]
sycl: Support sycl_ext_oneapi_limited_graph (#12873)

The current usage of the SYCL-Graph extension checks for
the `sycl_ext_oneapi_graph` device aspect. However, it is also
possible to support `sycl_ext_oneapi_limied_graph` devices that
don't support update

2 months agocontrib: support modelscope community (#12664)
tastelikefeet [Fri, 11 Apr 2025 12:01:56 +0000 (20:01 +0800)]
contrib: support modelscope community (#12664)

* support download from modelscope

* support login

* remove comments

* add arguments

* fix code

* fix win32

* test passed

* fix readme

* revert readme

* change to MODEL_ENDPOINT

* revert tail line

* fix readme

* refactor model endpoint

* remove blank line

* fix header

* fix as comments

* update comment

* update readme

---------

Co-authored-by: tastelikefeet <redacted>
2 months agollama-model : add Glm4Model implementation for GLM-4-0414 (#12867)
Yuxuan Zhang [Fri, 11 Apr 2025 10:10:10 +0000 (18:10 +0800)]
llama-model : add Glm4Model implementation for GLM-4-0414 (#12867)

* GLM-4-0414

* use original one

* Using with tensor map

* fix bug

* change order

* change order

* format with flask8

2 months agoclip : use smart pointer (⚠️ breaking change) (#12869)
Xuan-Son Nguyen [Fri, 11 Apr 2025 10:09:39 +0000 (12:09 +0200)]
clip : use smart pointer (⚠️ breaking change) (#12869)

* clip : use smart pointers

* fix warmup

* add forward declaration

* misisng include

* fix include (2)

* composite

* simplify batch ptr

* fix conflict

2 months agoSYCL: Add fp16 type support to unary op kernels (#12788)
Akarshan Biswas [Fri, 11 Apr 2025 08:03:50 +0000 (13:33 +0530)]
SYCL: Add fp16 type support to unary op kernels (#12788)

* SYCL: Add fp16 support to some elementwise OP kernels

* remove comment

ggml-ci

* Use static_cast directly

* remove not needed cast from tanh

* Use static cast and remove unneeded castings

* Adjust device_support_op for unary OPs

* Use cast_data and typed_data struct to deduplicate casting code

2 months agoconvert : Llama4 RoPE fix (#12889)
Daniel Han [Fri, 11 Apr 2025 07:49:09 +0000 (00:49 -0700)]
convert : Llama4 RoPE fix (#12889)

2 months agoci : Replace freediskspace to free_disk_space in docker.yml (#12861)
R0CKSTAR [Fri, 11 Apr 2025 07:26:17 +0000 (15:26 +0800)]
ci : Replace freediskspace to free_disk_space in docker.yml (#12861)

Signed-off-by: Xiaodong Ye <redacted>
2 months agoxcf : add check for visionos build version (#12854)
Daniel Bevenius [Fri, 11 Apr 2025 07:24:34 +0000 (09:24 +0200)]
xcf : add check for visionos build version (#12854)

This commit adds a check for the visionos build version used with vtool
in build-xcframework.sh. The script now checks the Xcode version and
determines whether to use "xros" or "visionos" for the build version.

This commit also uses xcrun for the vtool so that the version of vtool
in xcode command line tools is used instead of the one in the system
path.

Refs: https://github.com/ggml-org/whisper.cpp/pull/2994#issuecomment-2773292223

2 months agoconvert : proper tensor name mapping for llama4 (#12870)
Xuan-Son Nguyen [Fri, 11 Apr 2025 07:23:37 +0000 (09:23 +0200)]
convert : proper tensor name mapping for llama4 (#12870)

* Llama-4 mapping

* remove hacky renaming

---------

Co-authored-by: Daniel Han <redacted>
2 months agollama : correct rms norm for llama 4 (#12882)
Xuan-Son Nguyen [Fri, 11 Apr 2025 06:49:50 +0000 (08:49 +0200)]
llama : correct rms norm for llama 4 (#12882)

2 months agoggml: fix compilation error s390x (#12848)
Aaron Teo [Fri, 11 Apr 2025 05:20:07 +0000 (13:20 +0800)]
ggml: fix compilation error s390x (#12848)

* ggml: fixes #12846 compilation error

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
* ggml: add documentation for code change

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
* ggml: refactor to type-cast and update documentation

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
* ggml: update documentation to provide full issue link

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
---------

Co-authored-by: Aleksei Nikiforov <redacted>
2 months agosync : ggml
Georgi Gerganov [Thu, 10 Apr 2025 21:08:23 +0000 (00:08 +0300)]
sync : ggml

2 months agotests : fix init order (#0)
Georgi Gerganov [Thu, 10 Apr 2025 21:04:25 +0000 (00:04 +0300)]
tests : fix init order (#0)

ggml-ci

2 months agosync : ggml
Georgi Gerganov [Thu, 10 Apr 2025 20:59:16 +0000 (23:59 +0300)]
sync : ggml

ggml-ci

2 months agoggml: don't include arm_neon.h when using CUDA 12 with ARM Neon (ggml/1187)
cmdr2 [Thu, 10 Apr 2025 12:23:08 +0000 (17:53 +0530)]
ggml: don't include arm_neon.h when using CUDA 12 with ARM Neon (ggml/1187)

fix #1186

2 months agoggml : add bilinear upscale support (ggml/1185)
Diego Devesa [Wed, 9 Apr 2025 10:32:13 +0000 (12:32 +0200)]
ggml : add bilinear upscale support (ggml/1185)

2 months agoggml : add more generic custom op, remove deprecated custom ops (ggml/1183)
Diego Devesa [Wed, 9 Apr 2025 10:31:34 +0000 (12:31 +0200)]
ggml : add more generic custom op, remove deprecated custom ops (ggml/1183)

* ggml : add more generic ggml_custom op

* ggml : remove deprecated custom ops

2 months agoscripts : fix sync-ggml-am.sh
Georgi Gerganov [Thu, 10 Apr 2025 20:59:01 +0000 (23:59 +0300)]
scripts : fix sync-ggml-am.sh

2 months agollava : introduce libmtmd (#12849)
Xuan-Son Nguyen [Thu, 10 Apr 2025 20:57:16 +0000 (22:57 +0200)]
llava : introduce libmtmd (#12849)

* wip llava2

* migrated gemma3 to llava2

* add timings

* correct pre/postfix

* fix missing include

* fix compilation unused var warn

* update llava2_tokenize

* change name llava2 --> mtmd

* improve api

* refine helpers

* Update examples/llava/mtmd.cpp

Co-authored-by: Georgi Gerganov <redacted>
---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agoconvert : ability to lazy-load safetensors remotely without downloading to disk ...
Xuan-Son Nguyen [Thu, 10 Apr 2025 15:24:44 +0000 (17:24 +0200)]
convert : ability to lazy-load safetensors remotely without downloading to disk (#12820)

* gguf util : add SafetensorRemote

* fix style

* convert: add --remote option

* convert : allow using lazy remote tensors

It's a bit slow for now since everything is blocking and single-threaded.

* correct metadata.name

* small style fix

* support HF_TOKEN

* convert : use writeable buffer for remote lazy tensors

* convert : fix flake8 lint regarding lamdba assigment

* multithreaded download

* multithread: print debug

* fix style

* Revert "multithreaded download"

This reverts commit 42fc895ace385edc972ad819c76c704aeea61791.

* bring back _get_request_headers

---------

Co-authored-by: Francis Couture-Harpin <redacted>
2 months agoCANN: Support more ops (#12841)
Chenguang Li [Thu, 10 Apr 2025 00:51:52 +0000 (08:51 +0800)]
CANN: Support more ops (#12841)

* [CANN]Support Opt LOG && MEAN && PAD_REFLECT_1D

* [CANN]Support COUNT_EQUAL && STEP && SGN

* [CANN]codestyle adjustment

* [CANN]codestyle adjustment

---------

Signed-off-by: noemotiovon <redacted>
2 months agoFixes #12823 (#12830)
Prajwal B Mehendarkar [Wed, 9 Apr 2025 23:18:01 +0000 (04:48 +0530)]
Fixes #12823 (#12830)

* Including limits file on AIX

* Fixes #12823

2 months agodocker : added all CPU to GPU images (#12749)
Rudi Servo [Wed, 9 Apr 2025 23:17:12 +0000 (23:17 +0000)]
docker : added all CPU to GPU images (#12749)

2 months agoggml-cpu-impl.h: do not redefine bool on POWER9 (#12856)
Piotr Kubaj [Wed, 9 Apr 2025 23:00:34 +0000 (23:00 +0000)]
ggml-cpu-impl.h: do not redefine bool on POWER9 (#12856)

error: unknown type name '_Bool'

2 months agoggml-impl.h: fix build on POWER9 (#12855)
Piotr Kubaj [Wed, 9 Apr 2025 23:00:25 +0000 (23:00 +0000)]
ggml-impl.h: fix build on POWER9 (#12855)

error: ISO C++17 does not allow 'register' storage class specifier

2 months agollama : Support Qwen3 and Qwen3MoE (#12828)
Bo Zheng [Wed, 9 Apr 2025 09:47:36 +0000 (17:47 +0800)]
llama : Support Qwen3 and Qwen3MoE (#12828)

* add qwen3 & qwen3moe support.

* fix

---------

Co-authored-by: bozheng-hit <redacted>
2 months agomusa: enable freediskspace for docker image build (#12839)
R0CKSTAR [Wed, 9 Apr 2025 09:22:30 +0000 (17:22 +0800)]
musa: enable freediskspace for docker image build (#12839)

Signed-off-by: Xiaodong Ye <redacted>
2 months agosycl: update documentation to use -no-cnv (#12845)
Romain Biessy [Wed, 9 Apr 2025 09:22:04 +0000 (11:22 +0200)]
sycl: update documentation to use -no-cnv (#12845)

2 months agoci: detach common from the library (#12827)
Plamen Minev [Wed, 9 Apr 2025 08:11:11 +0000 (11:11 +0300)]
ci: detach common from the library (#12827)

* fix: detach common from the library

* fix: building chat test template

2 months agoclip : do not print ftype (#12832)
Xuan-Son Nguyen [Wed, 9 Apr 2025 08:09:53 +0000 (10:09 +0200)]
clip : do not print ftype (#12832)

2 months agoreadme : add rpc backend (#12842)
Georgi Gerganov [Wed, 9 Apr 2025 07:54:42 +0000 (10:54 +0300)]
readme : add rpc backend (#12842)

2 months agoCANN: Support Opt CONV_TRANSPOSE_1D and ELU (#12786)
Chenguang Li [Wed, 9 Apr 2025 06:04:14 +0000 (14:04 +0800)]
CANN: Support Opt CONV_TRANSPOSE_1D and ELU (#12786)

* [CANN] Support ELU and CONV_TRANSPOSE_1D

* [CANN]Modification review comments

* [CANN]Modification review comments

* [CANN]name adjustment

* [CANN]remove lambda used in template

* [CANN]Use std::func instead of template

* [CANN]Modify the code according to the review comments

---------

Signed-off-by: noemotiovon <redacted>
2 months agovulkan: In coopmat2 mmq, load q4_k/q5_k scales through shared memory (#12833)
Jeff Bolz [Wed, 9 Apr 2025 05:25:08 +0000 (00:25 -0500)]
vulkan: In coopmat2 mmq, load q4_k/q5_k scales through shared memory (#12833)

q4_k and q5_k had a lot of redundant global loads where the same 16B of
scale information is repeatedly loaded and decoded during each loop iteration.
This change restructures the loops to more explicitly iterate over whole
blocks in the outer loop (with unrolled inner loop) and to copy/decode the
scale data into shared memory once at the start of each outer loop. The copy
is pipelined so the scale load from global memory is relatively cheap.

This improves q4_k/q5_k model prompt processing performance by around 5-7%.
I briefly tried applying this to q6_k and q4_0, and it didn't help for q6_k
and hurt for q4_0.

The big "else" path in mul_mm_cm2.comp that had all the clamped/unclamped
variants isn't used as often as it originally was (e.g. due to the padded_N
change), so I trimmed it down to offset some of the new complexity of the
semi-manual loop unrolling.

2 months agovulkan: Use fp16 for the flash attention P*V multiplication (#12783)
Jeff Bolz [Wed, 9 Apr 2025 05:12:57 +0000 (00:12 -0500)]
vulkan: Use fp16 for the flash attention P*V multiplication (#12783)

This is consistent with the ggml-cuda behavior and the mul_mat fallback.

2 months agocuda : add f32 to bf16 copy op (#12806)
Sigbjørn Skjæret [Tue, 8 Apr 2025 21:21:31 +0000 (23:21 +0200)]
cuda : add f32 to bf16 copy op (#12806)

This allows BF16 KV-cache on CUDA.

2 months agollava: improve clip_ctx destructor to not memleak load_image_size (#12834)
Matt Clayton [Tue, 8 Apr 2025 20:01:58 +0000 (16:01 -0400)]
llava: improve clip_ctx destructor to not memleak load_image_size (#12834)

2 months agollama : fix FA when KV cache is not used (i.e. embeddings) (#12825)
Georgi Gerganov [Tue, 8 Apr 2025 16:54:51 +0000 (19:54 +0300)]
llama : fix FA when KV cache is not used (i.e. embeddings) (#12825)

* ggml : FA supports F32 V

* graph : cast KV to F16 when the KV cache is not used

ggml-ci

* server : add test that exercises embeddings with FA enabled

ggml-ci

2 months agoserver : fix thread.join() on exit (#12831)
Xuan-Son Nguyen [Tue, 8 Apr 2025 16:37:06 +0000 (18:37 +0200)]
server : fix thread.join() on exit (#12831)

2 months agollava: add more helper functions to check projector types in clip context (#12824)
dm4 [Tue, 8 Apr 2025 13:49:13 +0000 (21:49 +0800)]
llava: add more helper functions to check projector types in clip context (#12824)

Signed-off-by: dm4 <redacted>
2 months agoarg : Including limits file on AIX (#12822)
Prajwal B Mehendarkar [Tue, 8 Apr 2025 12:30:59 +0000 (18:00 +0530)]
arg : Including limits file on AIX (#12822)

2 months agoserver : webui : Improve Chat Input with Auto-Sizing Textarea (#12785)
characharm [Tue, 8 Apr 2025 09:14:59 +0000 (14:14 +0500)]
server : webui : Improve Chat Input with Auto-Sizing Textarea (#12785)

* Update ChatScreen.tsx

* useAutosizeTextarea.ts

useAutosizeTextarea to encapsulate the logic.

* Implement responsive auto-sizing chat textarea

Replaces the manual textarea resizing with an automatic height adjustment based on content.

- `useChatTextarea` hook to manage textarea state and auto-sizing logic via refs, preserving the optimization
- Textarea now grows vertically up to a maximum height (`lg:max-h-48`) on large screens (lg breakpoint and up).
- Disables auto-sizing and enables manual vertical resizing (`resize-vertical`) on smaller screens for better mobile usability.
- Aligns the "Send" button to the bottom of the textarea (`items-end`) for consistent positioning during resize.

* -update compressed index.html.gz after npm run build
-refactor: replace OptimizedTextareaValue with AutosizeTextareaApi in VSCode context hook

* chore: normalize line endings to LF
refactor: AutosizeTextareaApi -> chatTextareaApi

* refactor: Rename interface to PascalCase

---------

Co-authored-by: Xuan Son Nguyen <redacted>
2 months agoRevert "sycl:remove redundant memcopy in function ggml_backend_sycl_buffer_set_tensor...
Neo Zhang Jianyu [Tue, 8 Apr 2025 07:03:21 +0000 (15:03 +0800)]
Revert "sycl:remove redundant memcopy in function ggml_backend_sycl_buffer_set_tensor" (#12812)

* Revert "sycl: remove redundant memcopy in function ggml_backend_sycl_buffer_s…"

This reverts commit 518a01480eb3a7c80a4951b430db9dee55428310.

* Update ggml/src/ggml-sycl/ggml-sycl.cpp

* Update ggml/src/ggml-sycl/ggml-sycl.cpp

* rm tail space

2 months agogguf-py : support lazy tensor splitting (#12809)
compilade [Tue, 8 Apr 2025 07:03:07 +0000 (03:03 -0400)]
gguf-py : support lazy tensor splitting (#12809)

* gguf-py : support lazy tensor splitting

Splitting usually involves returning tuples of tensors,
which need to be handled properly to avoid early eager evaluation.

* gguf-py : fix flake8 lint

2 months agollama : Support llama 4 text-only (#12791)
Xuan-Son Nguyen [Mon, 7 Apr 2025 21:06:44 +0000 (23:06 +0200)]
llama : Support llama 4 text-only (#12791)

* llama4 conversion

* initial support, no chat template

* clean up a bit

* fix tokenizer conversion

* correct hparams

* try this

* fix shexp

* ffn_inp_normed

* chat template

* clean up model conversion

* add_bos

* add scale_before_ffn

* fix order

* weight_before_ffn

* llm_graph_input_attn_temp

* add chunk attn mask

* build_inp_attn_scale()

* add comment about ggml_repeat

* clarify comments

* fix build

2 months agoopencl: better identify Adreno GPU (#12760)
lhez [Mon, 7 Apr 2025 20:22:54 +0000 (13:22 -0700)]
opencl: better identify Adreno GPU (#12760)

2 months agohellaswag: display estimated score confidence interval (#12797)
stduhpf [Mon, 7 Apr 2025 15:47:08 +0000 (17:47 +0200)]
hellaswag: display estimated score confidence interval (#12797)

2 months agocuda : fix HIP and MUSA BF16 (#0)
Georgi Gerganov [Mon, 7 Apr 2025 10:18:07 +0000 (13:18 +0300)]
cuda : fix HIP and MUSA BF16 (#0)

ggml-ci

2 months agosync : ggml
Georgi Gerganov [Mon, 7 Apr 2025 09:32:39 +0000 (12:32 +0300)]
sync : ggml

ggml-ci