llama.cpp/ggml/src/ggml-metal
Ilia Ilmer 9ad4f1931e
metal : add `CONV_TRANSPOSE_2D` (#16542)
* initial: headers and metal-device.cpp updates

* adding conv_transpose_2d

* fix type

* fix type: int32->int64

* Update ggml/src/ggml-metal/ggml-metal.metal

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* Update ggml/src/ggml-metal/ggml-metal.metal

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* Update ggml/src/ggml-metal/ggml-metal.metal

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* add checks for src[0] and src[1]; add type checks

* Update ggml-metal.metal

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* add more tests, add optimization to threading

* add dynamic memory allocation in metal

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2025-10-17 09:33:58 +03:00
..
CMakeLists.txt metal : refactor + optimize v2 (#15995) 2025-09-17 20:38:12 +03:00
ggml-metal-common.cpp metal : fix loop bound in ggml_mem_ranges (#16412) 2025-10-03 19:18:56 +03:00
ggml-metal-common.h metal : refactor + optimize v2 (#15995) 2025-09-17 20:38:12 +03:00
ggml-metal-context.h metal : refactor + optimize v2 (#15995) 2025-09-17 20:38:12 +03:00
ggml-metal-context.m metal : fuse non-sequential nodes (#16102) 2025-09-28 09:34:05 +03:00
ggml-metal-device.cpp metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal-device.h metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal-device.m metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal-impl.h metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal-ops.cpp metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal-ops.h metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00
ggml-metal.cpp metal : mark FA blocks (#16372) 2025-10-08 10:57:53 +03:00
ggml-metal.metal metal : add `CONV_TRANSPOSE_2D` (#16542) 2025-10-17 09:33:58 +03:00