From ae7325fdff480b85a8545f3127b8eab383cf080a Mon Sep 17 00:00:00 2001 From: 0cc4m Date: Tue, 4 Jul 2023 22:42:07 +0200 Subject: [PATCH] Fix 2d write --- ggml-vulkan.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ggml-vulkan.cpp b/ggml-vulkan.cpp index dea2e7413..efbcf8290 100644 --- a/ggml-vulkan.cpp +++ b/ggml-vulkan.cpp @@ -721,7 +721,7 @@ static void ggml_vk_buffer_write_2d(vk_buffer* dst, size_t offset, const void * // Memory is pinned, use as staging buffer std::vector slices(height); for (size_t i = 0; i < height; i++) { - slices[i].srcOffset = i * spitch; + slices[i].srcOffset = buf_offset + i * spitch; slices[i].dstOffset = offset + i * width; slices[i].size = width; } @@ -888,9 +888,11 @@ static void ggml_vk_h2d_tensor_2d(vk_buffer* dst, size_t offset, const struct gg return; } if (nb0 == ts) { - // TODO: Get rid of this loop PROFILE("ggml_vk_buffer_write_2d", - ggml_vk_buffer_write_2d(dst, offset, (uint8_t *)x, nb1, row_length, ne1, q); + // for (uint64_t i1 = 0; i1 < ne1; i1++) { + // ggml_vk_buffer_write(dst, offset + i1 * row_length, (uint8_t *)x + i1 * nb1, row_length, q); + // } + ggml_vk_buffer_write_2d(dst, offset, x, nb1, row_length, ne1, q); ); return; }