Fix 2d write

This commit is contained in:
0cc4m 2023-07-04 22:42:07 +02:00
parent ade9555c48
commit ae7325fdff

View file

@ -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 // Memory is pinned, use as staging buffer
std::vector<VkBufferCopy> slices(height); std::vector<VkBufferCopy> slices(height);
for (size_t i = 0; i < height; i++) { 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].dstOffset = offset + i * width;
slices[i].size = 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; return;
} }
if (nb0 == ts) { if (nb0 == ts) {
// TODO: Get rid of this loop
PROFILE("ggml_vk_buffer_write_2d", 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; return;
} }