]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
CUDA: refactor mmq, dmmv, mmvq (#7716)
authorJohannes Gäßler <redacted>
Wed, 5 Jun 2024 14:53:00 +0000 (16:53 +0200)
committerGitHub <redacted>
Wed, 5 Jun 2024 14:53:00 +0000 (16:53 +0200)
commit7d1a378b8fb266782d9248538a661405aad80768
tree7ce459a4c5a85e75f75825772124aedc3bb54b7f
parent2b3389677a833cee0880226533a1768b1a9508d2
CUDA: refactor mmq, dmmv, mmvq (#7716)

* CUDA: refactor mmq, dmmv, mmvq

* fix out-of-bounds write

* struct for qk, qr, qi

* fix cmake build

* mmq_type_traits
112 files changed:
CMakeLists.txt
Makefile
ggml-common.h
ggml-cuda.cu
ggml-cuda/common.cuh
ggml-cuda/dmmv.cu
ggml-cuda/mmq.cu
ggml-cuda/mmq.cuh
ggml-cuda/mmvq.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-f16-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q4_1-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q5_1-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs128-q8_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs256-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f16-instance-hs64-f16-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-f16-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q4_1-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q5_1-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs128-q8_0-q8_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs256-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-f16.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-q4_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-q4_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-q5_0.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-q5_1.cu
ggml-cuda/template-instances/fattn-vec-f32-instance-hs64-f16-q8_0.cu
ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb16.cu
ggml-cuda/template-instances/fattn-wmma-f16-instance-kqfloat-cpb32.cu
ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb16.cu
ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb32.cu
ggml-cuda/template-instances/fattn-wmma-f16-instance-kqhalf-cpb8.cu
ggml-cuda/template-instances/generate_cu_files.py
ggml-cuda/template-instances/mmq-instance-q2_k.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q3_k.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q4_0.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q4_1.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q4_k.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q5_0.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q5_1.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q5_k.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q6_k.cu [new file with mode: 0644]
ggml-cuda/template-instances/mmq-instance-q8_0.cu [new file with mode: 0644]
ggml-cuda/vecdotq.cuh