Johannes Gäßler and GitHub
4696d56749
CUDA: fix crash on large batch size for quant. MoE ( #13537 )
2025-05-14 16:41:02 +02:00
Johannes Gäßler and GitHub
6da34fa276
CUDA: faster Deepseek FA, add Turing support ( #13435 )
2025-05-14 16:08:20 +02:00
Johannes Gäßler and GitHub
10d2af0eaa
llama/ggml: add LLM training support ( #10544 )
...
* llama/ggml: add LLM training support
more compact progress bar
llama_save_model_to_file
llama_opt_param_filter
ggml_graph_dup force_grads
refactor ggml_opt, fix test-opt
* remove logits_all
* refactor CUDA implementation for ACC
* reset graph at beginning of opt period
2025-05-12 14:44:49 +02:00
Johannes Gäßler and GitHub
95e18884fc
CUDA: fix misaligned synchronization in FA ( #13469 )
2025-05-12 10:51:21 +02:00
Johannes Gäßler and GitHub
7474e00b34
CUDA: fix crash with partial offloading of MoE ( #13439 )
2025-05-11 16:09:33 +02:00
Johannes Gäßler and GitHub
0208355f42
CUDA: fix race conditions FlashAttention kernels ( #13438 )
2025-05-10 22:22:48 +02:00
Johannes Gäßler and GitHub
d8919424f1
CUDA: fix FlashAttention on Turing ( #13415 )
2025-05-10 09:16:52 +02:00
Johannes Gäßler and GitHub
0cf6725e9f
CUDA: FA support for Deepseek (Ampere or newer) ( #13306 )
...
* CUDA: FA support for Deepseek (Ampere or newer)
* do loop unrolling via C++ template
2025-05-09 13:34:58 +02:00
Johannes Gäßler and GitHub
5c86c9ed3e
CUDA: fix crash on large batch size for MoE models ( #13384 )
2025-05-09 12:14:04 +02:00
Johannes Gäßler and GitHub
141a908a59
CUDA: mix virt/real CUDA archs for GGML_NATIVE=OFF ( #13135 )
2025-05-06 23:35:51 +02:00
Johannes Gäßler and GitHub
2356fb1d53
CUDA: fix bad asserts for partial offload ( #13337 )
2025-05-06 13:58:51 +02:00
Johannes Gäßler and GitHub
15a28ec8c7
CUDA: fix --split-mode row for MMQ ( #13323 )
2025-05-06 08:36:46 +02:00
Johannes Gäßler and GitHub
9070365020
CUDA: fix logic for clearing padding with -ngl 0 ( #13320 )
2025-05-05 22:32:13 +02:00
Johannes Gäßler and GitHub
93c4e23905
CUDA: fix race condition in MMQ stream-k fixup ( #13299 )
2025-05-04 14:16:39 +02:00
Johannes Gäßler and GitHub
8afbd96818
CUDA: fix race condition in MMQ ids_dst ( #13294 )
2025-05-04 13:58:38 +02:00
Johannes Gäßler and GitHub
3e959f0976
imatrix: fix oob writes if src1 is not contiguous ( #13286 )
2025-05-04 00:50:37 +02:00
Johannes Gäßler and GitHub
b0ecbd434b
test: non-cont. b in test-backend-ops -o MUL_MAT ( #13187 )
2025-05-01 20:18:56 +02:00
Johannes Gäßler and GitHub
e1e8e0991f
CUDA: batched+noncont MMQ, refactor bs>1 MoE code ( #13199 )
2025-04-30 23:12:59 +02:00
Johannes Gäßler and GitHub
19e899ce21
scripts: n_depth for compare-llama-bench [no ci] ( #13201 )
2025-04-29 23:32:04 +02:00
Johannes Gäßler and GitHub
cdf76586b2
CUDA: fix non-cont. inputs for batched mat mul ( #13155 )
2025-04-29 16:00:27 +02:00
Johannes Gäßler and GitHub
69699be48a
CUDA: fix q_nope_absorbed prec for DS 2 Lite f16 ( #13137 )
2025-04-28 09:29:26 +02:00
Johannes Gäßler and GitHub
b10d8bfdb1
CUDA: use switch statements in constexpr functions ( #13095 )
2025-04-24 15:57:10 +02:00
Johannes Gäßler and GitHub
658987cfc9
CUDA: noncont MMVQ + batched bs1 MUL_MAT_ID ( #13014 )
...
* CUDA: noncont MMVQ + batched bs1 MUL_MAT_ID
* fix logic for RoPE support, CUDA graphs
2025-04-22 21:27:40 +02:00
Johannes Gäßler and GitHub
dd373dd3bf
llama: fix error on bad grammar ( #12628 )
2025-03-28 18:08:52 +01:00
Johannes Gäßler and GitHub
5220a16d18
CUDA: fix FA logic for PTX 7.0 and CC >= 7.5 ( #12222 )
2025-03-06 18:45:09 +01:00
Johannes Gäßler and GitHub
9c42b1718c
CUDA: fix logic for V100 + GGML_CUDA_FORCE_MMQ ( #12098 )
2025-02-28 09:26:43 +01:00
Johannes Gäßler and GitHub
a28e0d5eb1
CUDA: app option to compile without FlashAttention ( #12025 )
2025-02-22 20:44:34 +01:00
Johannes Gäßler and GitHub
5fa07c2f93
CUDA: optimize FA for GQA + large batches ( #12014 )
2025-02-22 12:20:17 +01:00
Johannes Gäßler and GitHub
586d5fe6eb
doc: update contributing guidelines [no ci] ( #11969 )
2025-02-21 12:51:25 +01:00
Johannes Gäßler and GitHub
d04e7163c8
doc: add links to ggml examples [no ci] ( #11958 )
2025-02-19 20:45:17 +01:00
73e2ed3ce3
CUDA: use async data loading for FlashAttention ( #11894 )
...
* CUDA: use async data loading for FlashAttention
---------
Co-authored-by: Diego Devesa <slarengh@gmail.com >
2025-02-17 14:03:24 +01:00
Johannes Gäßler and GitHub
6dde178248
scripts: fix compare-llama-bench commit hash logic ( #11891 )
2025-02-15 20:23:22 +01:00
Johannes Gäßler and GitHub
c3d6af7cd2
CUDA: fix CUDART_VERSION checks ( #11821 )
2025-02-12 13:16:39 +01:00
b9ab0a4d0b
CUDA: use arch list for compatibility check ( #11775 )
...
* CUDA: use arch list for feature availability check
---------
Co-authored-by: Diego Devesa <slarengh@gmail.com >
2025-02-11 00:17:22 +01:00
Johannes Gäßler and GitHub
d80be897ac
CUDA: fix min. version for movmatrix ( #11751 )
2025-02-08 10:46:07 +01:00
Johannes Gäßler and GitHub
fa62da9b2d
CUDA: support for mat. mul. with ne03 != ne13 ( #11656 )
2025-02-05 08:58:31 +01:00
fd08255d0d
CUDA: non-contiguous (RMS) norm support ( #11659 )
...
* CUDA: non-contiguous (RMS) norm support
---------
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com >
2025-02-04 22:21:42 +01:00
Johannes Gäßler and GitHub
21c84b5d2d
CUDA: fix Volta FlashAttention logic ( #11615 )
2025-02-03 14:25:56 +02:00
Johannes Gäßler and GitHub
6eecde3cc8
HIP: fix flash_attn_stream_k_fixup warning ( #11604 )
2025-02-02 23:48:29 +01:00
864a0b67a6
CUDA: use mma PTX instructions for FlashAttention ( #11583 )
...
* CUDA: use mma PTX instructions for FlashAttention
* __shfl_sync workaround for movmatrix
* add __shfl_sync to HIP
Co-authored-by: Diego Devesa <slarengh@gmail.com >
2025-02-02 19:31:09 +01:00
Johannes Gäßler and GitHub
df984e0147
llama: refactor llama_decode_impl ( #11381 )
2025-01-27 12:07:12 +01:00
Johannes Gäßler and GitHub
c5d9effb49
CUDA: fix FP16 cuBLAS GEMM ( #11396 )
2025-01-24 21:02:43 +01:00
Johannes Gäßler and GitHub
8137b4bb2b
CPU/CUDA: fix (GQA) mul mat back, add CUDA support ( #11380 )
2025-01-24 12:38:31 +01:00
Johannes Gäßler and GitHub
9c8dcefe17
CUDA: backwards pass for misc. ops, add tests ( #11257 )
...
* CUDA: backwards pass for misc. ops, add tests
* remove restrict from pointers
2025-01-16 16:43:38 +01:00
Johannes Gäßler and GitHub
432df2d5f9
RoPE: fix back, CUDA support for back + noncont. ( #11240 )
...
* RoPE: fix back, CUDA support for back + noncont.
* fix comments reg. non-cont. RoPE support [no-ci]
2025-01-15 12:51:37 +01:00
Johannes Gäßler and GitHub
53ff6b9b9f
GGUF: C++ refactor, backend support, misc fixes ( #11030 )
...
* GGUF: C++ refactor, backend support, misc fixes
remove ggml_tensor.backend
update CODEOWNERS [no ci]
remove gguf_get_data from API
revise GGUF API data types
2025-01-07 18:01:58 +01:00
Johannes Gäßler and GitHub
46e3556e01
CUDA: add BF16 support ( #11093 )
...
* CUDA: add BF16 support
2025-01-06 02:33:52 +01:00
Johannes Gäßler and GitHub
cd920d0ac3
tests: disable GGUF test for bad value size ( #10886 )
2024-12-19 08:53:58 +01:00
Johannes Gäßler and GitHub
081b29bd2a
tests: add tests for GGUF ( #10830 )
2024-12-17 19:09:35 +01:00
Johannes Gäßler and GitHub
26a8406ba9
CUDA: fix shared memory access condition for mmv ( #10740 )
2024-12-09 20:07:12 +01:00
Johannes Gäßler and GitHub
890719311b
common: fix warning message when no GPU found ( #10564 )
2024-11-28 18:15:25 +01:00
Johannes Gäßler and GitHub
1f922254f0
Github: update issue templates [no ci] ( #10489 )
2024-11-25 19:18:37 +01:00
Johannes Gäßler and GitHub
599b3e0cd4
GitHub: ask for more info in issue templates ( #10426 )
...
* GitHub: ask for more info in issues [no ci]
* refactor issue templates to be component-specific
* more understandable issue description
* add dropdown for llama.cpp module
2024-11-22 08:32:40 +01:00
Johannes Gäßler and Georgi Gerganov
02e4eaf22f
ggml-opt: fix data corruption (ggml/1022)
2024-11-21 09:22:02 +02:00
Johannes Gäßler and GitHub
75207b3a88
docker: use GGML_NATIVE=OFF ( #10368 )
2024-11-18 00:21:53 +01:00
Johannes Gäßler and GitHub
76e9e58b78
CUDA: fix MMV kernel being used for FP16 src1 ( #10357 )
2024-11-17 23:20:42 +01:00
Johannes Gäßler and GitHub
ce2e59ba10
CMake: fix typo in comment [no ci] ( #10360 )
2024-11-17 12:59:38 +01:00
Johannes Gäßler and GitHub
c3ea58aca4
CUDA: remove DMMV, consolidate F16 mult mat vec ( #10318 )
2024-11-17 09:09:55 +01:00
Johannes Gäßler and GitHub
467576b6cc
CMake: default to -arch=native for CUDA build ( #10320 )
2024-11-17 09:06:34 +01:00
Johannes Gäßler and Georgi Gerganov
8a43e940ab
ggml: new optimization interface (ggml/988)
2024-11-17 08:30:29 +02:00
Johannes Gäßler and GitHub
4e54be0ec6
llama/ex: remove --logdir argument ( #10339 )
2024-11-16 23:00:41 +01:00
Johannes Gäßler and GitHub
4047be74da
scripts: update compare-llama-bench.py ( #10319 )
2024-11-15 21:19:03 +01:00
Johannes Gäßler and GitHub
4a8ccb37ad
CUDA: no -sm row for very small matrices ( #10185 )
2024-11-14 13:00:15 +01:00
Johannes Gäßler and GitHub
167a515651
CUDA: fix insufficient buffer clearing for MMQ ( #10032 )
2024-10-24 14:40:23 +02:00
Johannes Gäßler and GitHub
c39665f589
CUDA: fix MMQ for non-contiguous src0, add tests ( #10021 )
...
* CUDA: fix MMQ for non-contiguous src0, add tests
* revise test code
2024-10-24 11:09:36 +02:00
Johannes Gäßler and Georgi Gerganov
80273a306d
CUDA: fix 1D im2col, add tests (ggml/993)
2024-10-23 16:50:02 +03:00
Johannes Gäßler and Georgi Gerganov
fabdc3bda3
ggml/ex: calculate accuracy in graph, adapt MNIST (ggml/980)
2024-10-03 21:17:26 +03:00
Johannes Gäßler and Georgi Gerganov
eee39bdc96
ggml: refactor cross entropy loss CPU impl. (ggml/976)
2024-10-03 21:17:26 +03:00
Johannes Gäßler and Georgi Gerganov
e98c1c188e
test: fix OPT_STEP_ADAMW for test-backend-ops (ggml/974)
2024-10-01 16:07:40 +03:00
Johannes Gäßler and Georgi Gerganov
7254cdf7e8
ggml: fix gradient allocation logic (ggml/966)
...
* ggml: fix gradient allocation logic
* gradient allocation in ggml_build_backward_expand
* fixup
* fix test-backend-ops grad
* suggestions by slaren
* fix test1.c
* fix legacy opt API
* fix test-grad0
* remove keep arg
2024-10-01 16:07:38 +03:00
Johannes Gäßler and Georgi Gerganov
aaa4099925
CUDA: remove bad assert (ggml/972)
2024-09-29 21:15:37 +03:00
Johannes Gäßler and GitHub
a5b57b08ce
CUDA: enable Gemma FA for HIP/Pascal ( #9581 )
2024-09-22 09:34:52 +02:00
424c5d00a9
ggml/examples: add backend support for numerical optimization (ggml/949)
...
* CUDA eval works
* stochastic gradient descent op
* Adam except decay
* CUDA CROSS_ENTROPY_LOSS_BACK
* CUDA mnist-fc training works
* backend CLI arg
* refactor gguf load
* remove sched from opt_step_adam
* implement l1 regularization (weight decay)
* extra call to add optimizer
* initialize gradients with ggml_graph_reset
* gradient accumulation
* increment iter per eval instead of epoch
* adjust backend interfaces
* fix ggml_graph_reset without backend
* fix ggml graph export/import
* fixup
* rename
* revert ggml_opt changes
* more general CUDA repeat_back
* update documentation, fix CNN
* validation split
* add clarifying comment
* optimize PyTorch training
* adjust buffer size, thread count
* fix 0.0f validation split
* Update examples/mnist/mnist-common.cpp
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com >
* fix gradient accumulation
* tensor flag for accumulators -> tensor hash set
* Update include/ggml.h
Co-authored-by: slaren <slarengh@gmail.com >
* Update tests/test-backend-ops.cpp
Co-authored-by: slaren <slarengh@gmail.com >
* Update tests/test-backend-ops.cpp
Co-authored-by: slaren <slarengh@gmail.com >
* fix test prints
* Update src/ggml-backend.c
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com >
* better CUDA support for noncontiguous out_prod
* add comment
---------
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com >
Co-authored-by: slaren <slarengh@gmail.com >
2024-09-20 21:15:05 +03:00
Johannes Gäßler and GitHub
5cb12f6839
CUDA: fix sum.cu compilation for CUDA < 11.7 ( #9562 )
2024-09-20 18:35:35 +02:00
Johannes Gäßler and GitHub
5af118efda
CUDA: fix --split-mode row race condition ( #9413 )
2024-09-11 10:22:40 +02:00
Johannes Gäßler and GitHub
8e6e2fbe14
CUDA: fix variable name conflict for Windows build ( #9382 )
2024-09-09 14:22:53 +02:00
Johannes Gäßler and Georgi Gerganov
202084d31d
tests: add gradient tests for all backends (ggml/932)
...
* tests: add gradient checking to test-backend-ops
* remove old comment
* reorder includes
* adjust SIN/COS parameters
* add documentation, use supports_op if possible
2024-09-08 11:05:55 +03:00
Johannes Gäßler and Georgi Gerganov
dbbebcab33
ggml: fix ggml_graph_cpy undefined behavior (ggml/943)
2024-09-08 11:05:55 +03:00
Johannes Gäßler and GitHub
f91fc5639b
CUDA: fix Gemma 2 numerical issues for FA ( #9166 )
2024-08-25 22:11:48 +02:00
Johannes Gäßler and GitHub
e11bd856d5
CPU/CUDA: Gemma 2 FlashAttention support ( #8542 )
...
* CPU/CUDA: Gemma 2 FlashAttention support
* apply logit_softcap to scale in kernel
* disable logit softcapping tests on Metal
* remove metal check
2024-08-24 21:34:59 +02:00
Johannes Gäßler and GitHub
a8dbc6f753
CUDA/HIP: fix tests/test-backend-ops ( #8896 )
2024-08-07 09:07:52 +02:00
Johannes Gäßler and GitHub
641f5dd2a6
CUDA: fix padding logic for FP16/FP32 ( #8884 )
2024-08-06 17:13:55 +02:00
Johannes Gäßler and GitHub
6eeaeba126
cmake: use 1 more thread for non-ggml in CI ( #8740 )
2024-07-28 22:32:44 +02:00
Johannes Gäßler and GitHub
69c487f4ed
CUDA: MMQ code deduplication + iquant support ( #8495 )
...
* CUDA: MMQ code deduplication + iquant support
* 1 less parallel job for CI build
2024-07-20 22:25:26 +02:00
Johannes Gäßler and GitHub
a15ef8f8a0
CUDA: fix partial offloading for ne0 % 256 != 0 ( #8572 )
2024-07-18 23:48:47 +02:00
Johannes Gäßler and GitHub
e02b597be3
lookup: fibonacci hashing, fix crashes ( #8548 )
2024-07-17 23:35:44 +02:00
Johannes Gäßler and GitHub
5e116e8dd5
make/cmake: add missing force MMQ/cuBLAS for HIP ( #8515 )
2024-07-16 21:20:59 +02:00
Johannes Gäßler and GitHub
808aba3916
CUDA: optimize and refactor MMQ ( #8416 )
...
* CUDA: optimize and refactor MMQ
* explicit q8_1 memory layouts, add documentation
2024-07-11 16:47:47 +02:00
Johannes Gäßler and GitHub
a03e8dd99d
make/cmake: LLAMA_NO_CCACHE -> GGML_NO_CCACHE ( #8392 )
2024-07-09 17:11:07 +02:00
Johannes Gäßler and GitHub
8e558309dc
CUDA: MMQ support for iq4_nl, iq4_xs ( #8278 )
2024-07-05 09:06:31 +02:00
Johannes Gäßler and GitHub
bcefa03bc0
CUDA: fix MMQ stream-k rounding if ne00 % 128 != 0 ( #8311 )
2024-07-05 09:05:34 +02:00
Johannes Gäßler and GitHub
cb5fad4c6c
CUDA: refactor and optimize IQ MMVQ ( #8215 )
...
* CUDA: refactor and optimize IQ MMVQ
* uint -> uint32_t
* __dp4a -> ggml_cuda_dp4a
* remove MIN_CC_DP4A checks
* change default
* try CI fix
2024-07-01 20:39:06 +02:00
Johannes Gäßler and GitHub
85a267daaa
CUDA: fix MMQ stream-k for --split-mode row ( #8167 )
2024-06-27 16:26:05 +02:00
Johannes Gäßler and GitHub
c8771ab5f8
CUDA: fix misaligned shared memory read ( #8123 )
2024-06-26 08:28:02 +02:00
Johannes Gäßler and GitHub
2df373ac40
CUDA: fix matrix multiplication algorithm choice ( #8102 )
2024-06-25 01:22:33 +02:00
Johannes Gäßler and GitHub
3b099bcd9c
CUDA: fix MMQ writeback for int8 tensor cores ( #8100 )
2024-06-24 22:15:33 +02:00
Johannes Gäßler and GitHub
a818f3028d
CUDA: use MMQ instead of cuBLAS by default ( #8075 )
2024-06-24 17:43:42 +02:00
Johannes Gäßler and GitHub
9a590c8226
CUDA: optimize MMQ int8 tensor core performance ( #8062 )
...
* CUDA: optimize MMQ int8 tensor core performance
* only a single get_mma_tile_x_k function
* simplify code, make functions constexpr
2024-06-24 12:41:23 +02:00
abd894ad96
common: fix warning ( #8036 )
...
* common: fix warning
* Update common/common.cpp
Co-authored-by: slaren <slarengh@gmail.com >
---------
Co-authored-by: slaren <slarengh@gmail.com >
2024-06-20 16:40:13 +02:00
Johannes Gäßler and GitHub
d50f8897a7
CUDA: stream-k decomposition for MMQ ( #8018 )
...
* CUDA: stream-k decomposition for MMQ
* fix undefined memory reads for small matrices
2024-06-20 14:39:21 +02:00