]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
7 months agocmake: force MSVC compiler charset to utf-8 (#9989)
蕭澧邦 [Tue, 19 Nov 2024 17:42:00 +0000 (01:42 +0800)]
cmake: force MSVC compiler charset to utf-8 (#9989)

7 months agoAdd required ggml-base and backend libs to cmake pkg (#10407)
bandoti [Tue, 19 Nov 2024 16:10:30 +0000 (12:10 -0400)]
Add required ggml-base and backend libs to cmake pkg (#10407)

7 months agocuda : fix CUDA_FLAGS not being applied (#10403)
Diego Devesa [Tue, 19 Nov 2024 13:29:38 +0000 (14:29 +0100)]
cuda : fix CUDA_FLAGS not being applied (#10403)

7 months agollama : add check for KV cache shifts (#10401)
Georgi Gerganov [Tue, 19 Nov 2024 11:29:26 +0000 (13:29 +0200)]
llama : add check for KV cache shifts (#10401)

ggml-ci

7 months agollama : add OLMo November 2024 support (#10394)
Shane A [Tue, 19 Nov 2024 09:04:08 +0000 (01:04 -0800)]
llama : add OLMo November 2024 support (#10394)

* Add OLMo November 2024 constants

* Add OLMo November 2024 converter

* Add loading of OLMo November 2024 tensors and hyper parameters

* Add building of OLMo November 2024 model

7 months agosycl : Add option to set the SYCL architecture for all targets (#10266)
Romain Biessy [Tue, 19 Nov 2024 08:02:23 +0000 (09:02 +0100)]
sycl : Add option to set the SYCL architecture for all targets (#10266)

* Add option to set the SYCL architecture for all targets
* Convert GGML_SYCL_HIP_TARGET to the more generic GGML_SYCL_ARCH option
* Document that setting GGML_SYCL_ARCH can improve the performance

7 months agovulkan: Optimize soft_max (#10301)
Jeff Bolz [Tue, 19 Nov 2024 07:25:17 +0000 (01:25 -0600)]
vulkan: Optimize soft_max (#10301)

* vulkan: Optimize soft_max

Large soft_max could already saturate memory, but small/medium sizes were
pretty slow. The bulk of the gains for them comes from using a smaller
workgroup size, and making the workgroup size match the subgroup size also
makes the barriers much cheaper.

Cache some values in locals to avoid refetching/recomputing. And stamp
out a few "template instantiations" so smaller cases will fully unroll.

Add a missing early return for OOB rows. This happens when there are more
than 512 rows and the dispatch is 512 x H.

* vulkan: Further soft_max optimizations

Restore the workgroup size of 512 case, use it for >1024.

Use unrollable loops for more iteration counts.

7 months agosycl: Revert MUL_MAT_OP support changes (#10385)
Alberto Cabrera Pérez [Tue, 19 Nov 2024 00:50:04 +0000 (00:50 +0000)]
sycl: Revert MUL_MAT_OP support changes (#10385)

7 months agocuda : only use native when supported by cmake (#10389)
Diego Devesa [Mon, 18 Nov 2024 17:43:40 +0000 (18:43 +0100)]
cuda : only use native when supported by cmake (#10389)

7 months agoSkip searching root path for cross-compile builds (#10383)
bandoti [Mon, 18 Nov 2024 15:23:58 +0000 (11:23 -0400)]
Skip searching root path for cross-compile builds (#10383)

7 months agovulkan: remove use of null initializer (#10372)
Jeff Bolz [Mon, 18 Nov 2024 14:28:42 +0000 (08:28 -0600)]
vulkan: remove use of null initializer (#10372)

Seems like this isn't working for vulkan-over-metal when the array is sized
by a spec constant. Maybe a spirv-cross limitation?

7 months agoflake.lock: Update (#10346)
Georgi Gerganov [Mon, 18 Nov 2024 14:08:20 +0000 (16:08 +0200)]
flake.lock: Update (#10346)

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7?narHash=sha256-Zwl8YgTVJTEum%2BL%2B0zVAWvXAGbWAuXHax3KzuejaDyo%3D' (2024-11-05)
  → 'github:NixOS/nixpkgs/5e4fbfb6b3de1aa2872b76d49fafc942626e2add?narHash=sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg%3D' (2024-11-15)

Co-authored-by: github-actions[bot] <redacted>
7 months agoVulkan: Fix device info output format specifiers (#10366)
0cc4m [Mon, 18 Nov 2024 10:02:43 +0000 (11:02 +0100)]
Vulkan: Fix device info output format specifiers (#10366)

* Vulkan: Fix device info output format specifiers

* Vulkan: Use zu printf specifier for size_t instead of ld

7 months agodocker: use GGML_NATIVE=OFF (#10368)
Johannes Gäßler [Sun, 17 Nov 2024 23:21:53 +0000 (00:21 +0100)]
docker: use GGML_NATIVE=OFF (#10368)

7 months agoCUDA: fix MMV kernel being used for FP16 src1 (#10357)
Johannes Gäßler [Sun, 17 Nov 2024 22:20:42 +0000 (23:20 +0100)]
CUDA: fix MMV kernel being used for FP16 src1 (#10357)

7 months agoCMake: fix typo in comment [no ci] (#10360)
Johannes Gäßler [Sun, 17 Nov 2024 11:59:38 +0000 (12:59 +0100)]
CMake: fix typo in comment [no ci] (#10360)

7 months agollama : only use default buffer types for the KV cache (#10358)
Diego Devesa [Sun, 17 Nov 2024 11:25:45 +0000 (12:25 +0100)]
llama : only use default buffer types for the KV cache (#10358)

7 months agogitignore : ignore local run scripts [no ci]
Georgi Gerganov [Sun, 17 Nov 2024 11:12:22 +0000 (13:12 +0200)]
gitignore : ignore local run scripts [no ci]

7 months agometal : refactor kernel args into structs (#10238)
Georgi Gerganov [Sun, 17 Nov 2024 09:23:01 +0000 (11:23 +0200)]
metal : refactor kernel args into structs (#10238)

* metal : add kernel arg structs (wip)

* metal : fattn args

ggml-ci

* metal : cont + avoid potential int overflow [no ci]

* metal : mul mat struct (wip)

* cont : mul mat vec

* cont : pass by reference

* cont : args is first argument

* cont : use char ptr

* cont : shmem style

* cont : thread counters style

* cont : mul mm id

ggml-ci

* cont : int safety + register optimizations

ggml-ci

* metal : GGML_OP_CONCAT

ggml-ci

* metal : GGML_OP_ADD, GGML_OP_SUB, GGML_OP_MUL, GGML_OP_DIV

* metal : GGML_OP_REPEAT

* metal : GGML_OP_CPY

* metal : GGML_OP_RMS_NORM

* metal : GGML_OP_NORM

* metal : add TODOs for rest of ops

* ggml : add ggml-metal-impl.h

ggml-ci

7 months agoggml : fix undefined reference to 'getcpu' (#10354)
FirstTimeEZ [Sun, 17 Nov 2024 08:39:22 +0000 (21:39 +1300)]
ggml : fix undefined reference to 'getcpu' (#10354)

https://github.com/ggerganov/llama.cpp/issues/10352

7 months agoCUDA: remove DMMV, consolidate F16 mult mat vec (#10318)
Johannes Gäßler [Sun, 17 Nov 2024 08:09:55 +0000 (09:09 +0100)]
CUDA: remove DMMV, consolidate F16 mult mat vec (#10318)

7 months agoCMake: default to -arch=native for CUDA build (#10320)
Johannes Gäßler [Sun, 17 Nov 2024 08:06:34 +0000 (09:06 +0100)]
CMake: default to -arch=native for CUDA build (#10320)

7 months agoggml : fix possible buffer use after free in sched reserve (#9930)
Diego Devesa [Sun, 17 Nov 2024 06:31:17 +0000 (07:31 +0100)]
ggml : fix possible buffer use after free in sched reserve (#9930)

7 months agoggml : inttypes.h -> cinttypes (#0)
Georgi Gerganov [Sat, 16 Nov 2024 21:40:39 +0000 (23:40 +0200)]
ggml : inttypes.h -> cinttypes (#0)

ggml-ci

7 months agoggml : adapt AMX to tensor->grad removal (#0)
Georgi Gerganov [Sat, 16 Nov 2024 19:38:01 +0000 (21:38 +0200)]
ggml : adapt AMX to tensor->grad removal (#0)

ggml-ci

7 months agomake : add ggml-opt (#0)
Georgi Gerganov [Sat, 16 Nov 2024 19:35:31 +0000 (21:35 +0200)]
make : add ggml-opt (#0)

ggml-ci

7 months agotests : remove test-grad0
Georgi Gerganov [Sat, 16 Nov 2024 19:34:03 +0000 (21:34 +0200)]
tests : remove test-grad0

7 months agoggml : fix compile warnings (#0)
Georgi Gerganov [Sat, 16 Nov 2024 19:32:41 +0000 (21:32 +0200)]
ggml : fix compile warnings (#0)

ggml-ci

7 months agoggml: new optimization interface (ggml/988)
Johannes Gäßler [Sat, 16 Nov 2024 20:17:59 +0000 (22:17 +0200)]
ggml: new optimization interface (ggml/988)

7 months agoscripts : update sync
Georgi Gerganov [Sat, 16 Nov 2024 20:16:04 +0000 (22:16 +0200)]
scripts : update sync

7 months agodocs : vulkan build instructions to use git bash mingw64 (#10303)
FirstTimeEZ [Sat, 16 Nov 2024 23:29:18 +0000 (12:29 +1300)]
docs : vulkan build instructions to use git bash mingw64 (#10303)

7 months agollama/ex: remove --logdir argument (#10339)
Johannes Gäßler [Sat, 16 Nov 2024 22:00:41 +0000 (23:00 +0100)]
llama/ex: remove --logdir argument (#10339)

7 months agollamafile : fix include path (#0)
Georgi Gerganov [Sat, 16 Nov 2024 15:58:56 +0000 (17:58 +0200)]
llamafile : fix include path (#0)

ggml-ci

7 months agomake : auto-determine dependencies (#0)
Georgi Gerganov [Sat, 16 Nov 2024 15:58:32 +0000 (17:58 +0200)]
make : auto-determine dependencies (#0)

7 months agoserver: (web UI) Add samplers sequence customization (#10255)
MaggotHATE [Sat, 16 Nov 2024 13:26:54 +0000 (18:26 +0500)]
server: (web UI) Add samplers sequence customization (#10255)

* Samplers sequence: simplified and input field.

* Removed unused function

* Modify and use `settings-modal-short-input`

* rename "name" --> "label"

---------

Co-authored-by: Xuan Son Nguyen <redacted>
7 months agoscripts : fix missing key in compare-llama-bench.py (#10332)
Georgi Gerganov [Sat, 16 Nov 2024 08:32:50 +0000 (10:32 +0200)]
scripts : fix missing key in compare-llama-bench.py (#10332)

7 months agovulkan: Optimize some mat-vec mul quant shaders (#10296)
Jeff Bolz [Sat, 16 Nov 2024 06:26:57 +0000 (00:26 -0600)]
vulkan: Optimize some mat-vec mul quant shaders (#10296)

Compute two result elements per workgroup (for Q{4,5}_{0,1}). This reuses
the B loads across the rows and also reuses some addressing calculations.
This required manually partially unrolling the loop, since the compiler
is less willing to unroll outer loops.

Add bounds-checking on the last iteration of the loop. I think this was at
least partly broken before.

Optimize the Q4_K shader to vectorize most loads and reduce the number of
bit twiddling instructions.

7 months agovulkan : add cmake preset debug/release (#10306)
FirstTimeEZ [Sat, 16 Nov 2024 01:59:33 +0000 (14:59 +1300)]
vulkan : add cmake preset debug/release (#10306)

7 months agoggml : optimize Q4_0 into Q4_0_X_Y repack (#10324)
Dan Johansson [Sat, 16 Nov 2024 00:53:37 +0000 (01:53 +0100)]
ggml : optimize Q4_0 into Q4_0_X_Y repack (#10324)

7 months agollama : save number of parameters and the size in llama_model (#10286)
FirstTimeEZ [Sat, 16 Nov 2024 00:42:13 +0000 (13:42 +1300)]
llama : save number of parameters and the size in llama_model (#10286)

fixes #10285

7 months agoMake updates to fix issues with clang-cl builds while using AVX512 flags (#10314)
Srihari-mcw [Fri, 15 Nov 2024 21:27:00 +0000 (02:57 +0530)]
Make updates to fix issues with clang-cl builds while using AVX512 flags (#10314)

7 months agoscripts: update compare-llama-bench.py (#10319)
Johannes Gäßler [Fri, 15 Nov 2024 20:19:03 +0000 (21:19 +0100)]
scripts: update compare-llama-bench.py (#10319)

7 months agoggml : fix some build issues
slaren [Fri, 15 Nov 2024 19:20:54 +0000 (20:20 +0100)]
ggml : fix some build issues

7 months agocmake : fix ppc64 check (whisper/0)
Georgi Gerganov [Fri, 15 Nov 2024 13:35:22 +0000 (15:35 +0200)]
cmake : fix ppc64 check (whisper/0)

ggml-ci

7 months agoggml : vulkan logs (whisper/2547)
thewh1teagle [Fri, 15 Nov 2024 13:33:53 +0000 (15:33 +0200)]
ggml : vulkan logs (whisper/2547)

7 months agosync : ggml
Georgi Gerganov [Fri, 15 Nov 2024 13:31:16 +0000 (15:31 +0200)]
sync : ggml

7 months agoAVX BF16 and single scale quant optimizations (#10212)
Eve [Fri, 15 Nov 2024 11:47:58 +0000 (11:47 +0000)]
AVX BF16 and single scale quant optimizations (#10212)

* use 128 bit loads (i've tried 256->128 to death and its slower)

* double accumulator

* avx bf16 vec dot

* +3% q4_0 inference

* +7% tg +5% pp compared to master

* slower f16c version, kep for reference

* 256b version, also slow. i tried :)

* revert f16

* faster with madd

* split to functions

* Q8_0 and IQ4_NL, 5-7% faster

* fix potential overflow (performance reduced)

* 16 bit add for q4_0 only

* merge

7 months agoci: build test musa with cmake (#10298)
R0CKSTAR [Fri, 15 Nov 2024 11:47:25 +0000 (19:47 +0800)]
ci: build test musa with cmake (#10298)

Signed-off-by: Xiaodong Ye <redacted>
7 months agosycl: Update Intel docker images to use DPC++ 2025.0 (#10305)
Romain Biessy [Fri, 15 Nov 2024 11:10:45 +0000 (12:10 +0100)]
sycl: Update Intel docker images to use DPC++ 2025.0 (#10305)

7 months agoserver : (web UI) add copy button for code block, fix api key (#10242)
Xuan Son Nguyen [Fri, 15 Nov 2024 09:48:49 +0000 (05:48 -0400)]
server : (web UI) add copy button for code block, fix api key (#10242)

* server : (web ui) add copy btn for code blocks

* fix problem with api key

* use settings-modal-short-input component

* always show copy btn for code snippet

7 months agocann: dockerfile and doc adjustment (#10302)
Chenguang Li [Fri, 15 Nov 2024 07:09:35 +0000 (15:09 +0800)]
cann: dockerfile and doc adjustment (#10302)

Co-authored-by: noemotiovon <redacted>
7 months agoscripts : fix regex in sync [no ci]
Georgi Gerganov [Fri, 15 Nov 2024 06:38:43 +0000 (08:38 +0200)]
scripts : fix regex in sync [no ci]

7 months agosycl: Use syclcompat::dp4a (#10267)
Romain Biessy [Fri, 15 Nov 2024 03:09:12 +0000 (04:09 +0100)]
sycl: Use syclcompat::dp4a (#10267)

* sycl: Use syclcompat::dp4a

* Using the syclcompat version allow the compiler to optimize the
  operation with native function

* Update news section

* Update CI Windows oneAPI version to 2025.0

* Reword doc

* Call syclcompat::dp4a inside dpct::dp4a

This reverts commit 90cb61d692d61360b46954a1c7f780bd2e569b73.

7 months agobackend cpu: add online flow for aarch64 Q4_0 GEMV/GEMM kernels (#9921)
Charles Xu [Fri, 15 Nov 2024 00:28:50 +0000 (01:28 +0100)]
backend cpu: add online flow for aarch64 Q4_0 GEMV/GEMM kernels (#9921)

* backend-cpu: add online flow for aarch64 Q4_0 GEMV/GEMM kernels

---------

Co-authored-by: Diego Devesa <redacted>
7 months agoggml : build backends as libraries (#10256)
Diego Devesa [Thu, 14 Nov 2024 17:04:35 +0000 (18:04 +0100)]
ggml : build backends as libraries (#10256)

* ggml : build backends as libraries

---------

Signed-off-by: Xiaodong Ye <redacted>
Co-authored-by: Georgi Gerganov <redacted>
Co-authored-by: R0CKSTAR <redacted>
7 months agoCUDA: no -sm row for very small matrices (#10185)
Johannes Gäßler [Thu, 14 Nov 2024 12:00:15 +0000 (13:00 +0100)]
CUDA: no -sm row for very small matrices (#10185)

7 months agospeculative : fix out-of-bounds access (#10289)
Georgi Gerganov [Thu, 14 Nov 2024 09:44:15 +0000 (11:44 +0200)]
speculative : fix out-of-bounds access (#10289)

7 months agovulkan: Optimize binary ops (#10270)
Jeff Bolz [Thu, 14 Nov 2024 05:22:55 +0000 (23:22 -0600)]
vulkan: Optimize binary ops (#10270)

Reuse the index calculations across all of src0/src1/dst. Add a shader
variant for when src0/src1 are the same dimensions and additional modulus
for src1 aren't needed. Div/mod are slow, so add "fast" div/mod that
have a fast path when the calculation isn't needed or can be done more
cheaply.

7 months agovulkan: Use macros to make the mat mul pipeline creation more concise (#10259)
Jeff Bolz [Wed, 13 Nov 2024 20:59:47 +0000 (14:59 -0600)]
vulkan: Use macros to make the mat mul pipeline creation more concise (#10259)

Also add vk_matmul_pipeline2 to hold f16/f32 accumulator versions of a
pipeline. This isn't really used yet.

7 months agollama : propagate the results of `graph_compute` (#9525)
Michael Podvitskiy [Wed, 13 Nov 2024 18:00:35 +0000 (20:00 +0200)]
llama : propagate the results of `graph_compute` (#9525)

* llama: propagating the results of `graph_compute` to the user interface

* llama: reverting kv_cache in case of failed compute

* llama: `llama_kv_cache_state` was removed, only the result of `llama_graph_compute` is returned

* llama: restore a kv_cache in case of failed computation

* llama: correct reverting of the entire batch.
also updates `llama_kv_cache_find_slot`, will correctly count the number of `used` cells for recurrent models

* llama: updated comments

* llama : add comments about KV cache state after error

---------

Co-authored-by: Georgi Gerganov <redacted>
7 months agosync : ggml
Georgi Gerganov [Wed, 13 Nov 2024 16:11:54 +0000 (18:11 +0200)]
sync : ggml

7 months agodocs : update bindings list (#10261)
Small Grass Forest [Wed, 13 Nov 2024 11:17:10 +0000 (19:17 +0800)]
docs : update bindings list (#10261)

Signed-off-by: tianzixuan <redacted>
7 months agoserver : add missing docs (#10269)
Alexey Parfenov [Wed, 13 Nov 2024 11:16:30 +0000 (11:16 +0000)]
server : add missing docs (#10269)

7 months agoserver : fix incorrect res in validate_model_chat_template (#10272)
Jhen-Jie Hong [Wed, 13 Nov 2024 11:15:23 +0000 (19:15 +0800)]
server : fix incorrect res in validate_model_chat_template (#10272)

* server : fix validate_model_chat_template

* server : fix chat res

7 months agometadata: Detailed Dataset Authorship Metadata (#8875)
Brian [Wed, 13 Nov 2024 10:10:38 +0000 (21:10 +1100)]
metadata: Detailed Dataset Authorship Metadata (#8875)

Converter script can now read these two fields as a detailed base model and dataset source.
This was done so that it will be easier for Hugging Face to integrate detailed metadata as needed.

 -  base_model_sources (List[dict], optional)
 -  dataset_sources (List[dict], optional)

Dataset now represented as:

 - general.dataset.count
 - general.dataset.{id}.name
 - general.dataset.{id}.author
 - general.dataset.{id}.version
 - general.dataset.{id}.organization
 - general.dataset.{id}.description
 - general.dataset.{id}.url
 - general.dataset.{id}.doi
 - general.dataset.{id}.uuid
 - general.dataset.{id}.repo_url

This also adds to base model these metadata:

 - general.base_model.{id}.description

7 months agosycl : Fixes to broken builds and test-backend-ops (#10257)
Alberto Cabrera Pérez [Wed, 13 Nov 2024 09:40:57 +0000 (09:40 +0000)]
sycl : Fixes to broken builds and test-backend-ops (#10257)

* Fixes broken build for the SYCL CUDA backend caused by non-explicit gemm call in outprod (merged in with RWKV6 in
Optimize RWKV6 Operator Naming and Implement Multi-core CPU/ SYCL Acceleration #10133)

* Marks permuted MUL_MAT as unsupported to be able to run test-backend-ops

* Fixes asserts in norm to fix debug builds.

7 months agovulkan: Optimize contiguous copies (#10254)
Jeff Bolz [Wed, 13 Nov 2024 06:58:57 +0000 (00:58 -0600)]
vulkan: Optimize contiguous copies (#10254)

* tests: Fix memory bandwidth calculation for perf tests

Add a flops calculation for flash attention.

Add one GGML_OP_CPY perf test.

* vulkan: Optimize contiguous copies

Add a variant of the copy shader for when the tensors are contiguous. Avoid
the complex addressing calculations, and do four elements per invocation
to hide some other overhead.

Apply similar changes to the scale shader, since scale is always contiguous.

Add a "progress bar" for shader compiles.

7 months agovulkan: Throttle the number of shader compiles during the build step. (#10222)
Jeff Bolz [Mon, 11 Nov 2024 17:13:51 +0000 (11:13 -0600)]
vulkan: Throttle the number of shader compiles during the build step. (#10222)

Fixes #9582

Spawning too many concurrent copies of glslc leads to "Failed to create pipes"
errors on Linux. This change applies the same throttling we use for
multithreaded pipeline creation.

7 months agometal : more precise Q*K in FA vec kernel (#10247)
Georgi Gerganov [Mon, 11 Nov 2024 06:39:13 +0000 (08:39 +0200)]
metal : more precise Q*K in FA vec kernel (#10247)

7 months agoserver : enable KV cache defrag by default (#10233)
Georgi Gerganov [Mon, 11 Nov 2024 06:38:43 +0000 (08:38 +0200)]
server : enable KV cache defrag by default (#10233)

ggml-ci

7 months agoflake.lock: Update (#10243)
Georgi Gerganov [Sun, 10 Nov 2024 19:45:25 +0000 (21:45 +0200)]
flake.lock: Update (#10243)

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd?narHash=sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU%3D' (2024-10-29)
  → 'github:NixOS/nixpkgs/4aa36568d413aca0ea84a1684d2d46f55dbabad7?narHash=sha256-Zwl8YgTVJTEum%2BL%2B0zVAWvXAGbWAuXHax3KzuejaDyo%3D' (2024-11-05)

Co-authored-by: github-actions[bot] <redacted>
7 months agoserver : (web UI) Add back sampler settings (#10239)
MaggotHATE [Sun, 10 Nov 2024 19:42:25 +0000 (00:42 +0500)]
server : (web UI) Add back sampler settings (#10239)

* Add back samplers to server

* Added tooltips with basic information

* Fixed stretching of input fields.

* use component for settings input, move help msg to tooltips

---------

Co-authored-by: Xuan Son Nguyen <redacted>
7 months agovulkan: Fix newly added tests for permuted mul_mat and 1D im2col (#10226)
Jeff Bolz [Sun, 10 Nov 2024 11:37:56 +0000 (05:37 -0600)]
vulkan: Fix newly added tests for permuted mul_mat and 1D im2col (#10226)

7 months agometal : reorder write loop in mul mat kernel + style (#10231)
Georgi Gerganov [Sat, 9 Nov 2024 09:53:13 +0000 (11:53 +0200)]
metal : reorder write loop in mul mat kernel + style (#10231)

* metal : reorder write loop

* metal : int -> short, style

ggml-ci

7 months agometal : fix build and some more comments (#10229)
Georgi Gerganov [Sat, 9 Nov 2024 09:53:02 +0000 (11:53 +0200)]
metal : fix build and some more comments (#10229)

7 months agometal : fix F32 accumulation in FA vec kernel (#10232)
Georgi Gerganov [Sat, 9 Nov 2024 09:52:45 +0000 (11:52 +0200)]
metal : fix F32 accumulation in FA vec kernel (#10232)

7 months agollama : fix Qwen model type strings
Georgi Gerganov [Sat, 9 Nov 2024 09:26:34 +0000 (11:26 +0200)]
llama : fix Qwen model type strings

7 months agometal : hide debug messages from normal log
Georgi Gerganov [Sat, 9 Nov 2024 09:21:49 +0000 (11:21 +0200)]
metal : hide debug messages from normal log

7 months agoggml: fix zero division in ‘dne’ calculation in CUDA COUNT_EQUAL operator when ‘ne...
SXX [Sat, 9 Nov 2024 07:35:46 +0000 (15:35 +0800)]
ggml: fix zero division in ‘dne’ calculation in CUDA COUNT_EQUAL operator when ‘ne’ is small (#10213)

7 months agoggml : optimize llamafile cpu matrix multiplication for ppc64le (#10156)
amritahs-ibm [Sat, 9 Nov 2024 07:17:50 +0000 (12:47 +0530)]
ggml : optimize llamafile cpu matrix multiplication for ppc64le (#10156)

This change upstreams llamafile's cpu matrix
multiplication kernels for ppc64le using MMA
builtins for FP32 datatype.

This change results in a consistent 90%
improvement in input processing time, and 20%
to 80% improvement in output processing time,
across various batch sizes.

The patch is tested with Meta-Lllama-3-8B,
Mistral-7B, Llama-2-7B-chat-hf models on a
IBM POWER10 machine.

Signed-off-by: Amrita H S <redacted>
7 months agoscripts : fix pattern and get n_tokens in one go (#10221)
haopeng [Sat, 9 Nov 2024 07:06:54 +0000 (15:06 +0800)]
scripts : fix pattern and get n_tokens in one go (#10221)

7 months agometal : opt-in compile flag for BF16 (#10218)
Georgi Gerganov [Fri, 8 Nov 2024 19:59:46 +0000 (21:59 +0200)]
metal : opt-in compile flag for BF16 (#10218)

* metal : opt-in compile flag for BF16

ggml-ci

* ci : use BF16

ggml-ci

* swift : switch back to v12

* metal : has_float -> use_float

ggml-ci

* metal : fix BF16 check in MSL

ggml-ci

7 months agometal : improve clarity (minor) (#10171)
Georgi Gerganov [Fri, 8 Nov 2024 16:37:41 +0000 (18:37 +0200)]
metal : improve clarity (minor) (#10171)

7 months agometal : optimize FA kernels (#10171)
Georgi Gerganov [Fri, 8 Nov 2024 11:47:22 +0000 (13:47 +0200)]
metal : optimize FA kernels (#10171)

* ggml : add ggml_flash_attn_ext_get_prec

* metal : use F16 precision in FA kernels

ggml-ci

* metal : minor clean-up

* metal : compile-guard bf16 FA kernels

ggml-ci

* build : remove obsolete compile flag [no ci]

* metal : prevent int overflows [no ci]

* cuda : disable BF16 FA

ggml-ci

* metal : fix BF16 requirement for FA kernels

ggml-ci

* make : clean-up [no ci]

7 months agoswift : exclude ggml-metal-embed.metal (#10211)
Jhen-Jie Hong [Fri, 8 Nov 2024 09:34:06 +0000 (17:34 +0800)]
swift : exclude ggml-metal-embed.metal (#10211)

* llama.swift : exclude ggml-metal-embed.metal

* swift : exclude build/

7 months agoserver : minor UI fix (#10207)
Xuan Son Nguyen [Thu, 7 Nov 2024 22:44:38 +0000 (18:44 -0400)]
server : minor UI fix (#10207)

7 months agoserver : revamp chat UI with vuejs and daisyui (#10175)
Xuan Son Nguyen [Thu, 7 Nov 2024 21:31:10 +0000 (17:31 -0400)]
server : revamp chat UI with vuejs and daisyui (#10175)

* server : simple chat UI with vuejs and daisyui

* move old files to legacy folder

* embed deps into binary

* basic markdown support

* add conversation history, save to localStorage

* fix bg-base classes

* save theme preferences

* fix tests

* regenerate, edit, copy buttons

* small fixes

* docs: how to use legacy ui

* better error handling

* make CORS preflight more explicit

* add GET method for CORS

* fix tests

* clean up a bit

* better auto scroll

* small fixes

* use collapse-arrow

* fix closeAndSaveConfigDialog

* small fix

* remove console.log

* fix style for <pre> element

* lighter bubble color (less distract when reading)

7 months agoscripts : add amx to sync-ggml.sh [no ci]
Georgi Gerganov [Thu, 7 Nov 2024 21:11:36 +0000 (23:11 +0200)]
scripts : add amx to sync-ggml.sh [no ci]

7 months agosync : ggml
Georgi Gerganov [Thu, 7 Nov 2024 21:08:24 +0000 (23:08 +0200)]
sync : ggml

7 months agoscripts : sync update
Georgi Gerganov [Thu, 7 Nov 2024 21:07:55 +0000 (23:07 +0200)]
scripts : sync update

7 months agoggml : add ggml-cpu.h to the public headers (#10204)
Diego Devesa [Thu, 7 Nov 2024 17:16:08 +0000 (18:16 +0100)]
ggml : add ggml-cpu.h to the public headers (#10204)

7 months agoRemove identical wte/etw logic for jais (#10203)
Faisal Zaghloul [Thu, 7 Nov 2024 16:46:12 +0000 (11:46 -0500)]
Remove identical wte/etw logic for jais (#10203)

7 months agoDRY: Fixes clone functionality (#10192)
wwoodsTM [Thu, 7 Nov 2024 15:20:25 +0000 (08:20 -0700)]
DRY: Fixes clone functionality (#10192)

7 months agofix q4_0_8_8 format for corrupted tokens issue (#10198)
snadampal [Thu, 7 Nov 2024 08:02:08 +0000 (02:02 -0600)]
fix q4_0_8_8 format for corrupted tokens issue (#10198)

Co-authored-by: EC2 Default User <redacted>
7 months agoOptimize RWKV6 Operator Naming and Implement Multi-core CPU/ SYCL Acceleration (...
Zhiyuan Li [Thu, 7 Nov 2024 07:19:10 +0000 (18:19 +1100)]
Optimize RWKV6 Operator Naming and Implement Multi-core CPU/ SYCL Acceleration (#10133)

* rwkv6: rename to wkv6

* rwkv6: support avx2 avx512 armv8 armv9

* rwkv6: update cuda file name

* rwkv6: rename params

* wkv on sycl

* sycl: add some ops

* sycl: Enhance OP support judgment

* wkv6: drop armv9 and tranfer to GGML style

ggml-ci

* sync : ggml

* update the function to use appropriate types

* fix define error

* Update ggml/src/ggml-cpu.c

* add appropriate asserts

* move element-wise functions outside

* put the declaration outside the loop

* rewrite to be more inline with the common pattern for distributing threads

* use recommended way GGML_TENSOR_LOCALS

---------

Co-authored-by: Georgi Gerganov <redacted>
Co-authored-by: Diego Devesa <redacted>
Co-authored-by: Plamen Minev <redacted>
Co-authored-by: Yuri Khrustalev <redacted>
Co-authored-by: Meng, Hengyu <redacted>
7 months agometal : add BF16 support (#8439)
Georgi Gerganov [Wed, 6 Nov 2024 17:53:51 +0000 (19:53 +0200)]
metal : add BF16 support (#8439)

* ggml : add initial BF16 support

ggml-ci

* metal : add mul_mat_id BF16 support

ggml-ci

* metal : check for bfloat support on the Metal device

ggml-ci

* metal : better var names [no ci]

* metal : do not build bfloat kernels when not supported

ggml-ci

* metal : try to fix BF16 support check

ggml-ci

* metal : this should correctly check bfloat support

7 months agoserver : remove hack for extra parallel slot (#10187)
Georgi Gerganov [Wed, 6 Nov 2024 11:29:01 +0000 (13:29 +0200)]
server : remove hack for extra parallel slot (#10187)

ggml-ci

7 months agometal : fix from ptr buffer name (#10189)
Diego Devesa [Wed, 6 Nov 2024 11:10:07 +0000 (12:10 +0100)]
metal : fix from ptr buffer name (#10189)

7 months agoggml : adjust is_first_call init value (#10193)
Georgi Gerganov [Wed, 6 Nov 2024 09:20:10 +0000 (11:20 +0200)]
ggml : adjust is_first_call init value (#10193)

ggml-ci

7 months agometal : add quantized FA support (#10149)
Georgi Gerganov [Wed, 6 Nov 2024 08:24:23 +0000 (10:24 +0200)]
metal : add quantized FA support (#10149)

* metal : add quantized FA (vec) support

ggml-ci

* metal : add quantized FA (non-vec) support

* metal : fix support check

ggml-ci

* metal : clean-up

* metal : clean-up (cont)

* metal : fix shared memory calc + reduce smem + comments

* metal : float-correctness

* metal : minor [no ci]