Skip to content

Commit 71e534e

Browse files
committed
Adapt GGML_VULKAN_CHECK_RESULTS to extra removal
1 parent adf3bce commit 71e534e

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

ggml/src/ggml-vulkan.cpp

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6856,10 +6856,10 @@ static void ggml_vk_print_tensor(const ggml_tensor * tensor, const char * name)
68566856
const size_t tensor_size = ggml_nbytes(tensor);
68576857
tensor_data = malloc(tensor_size);
68586858

6859-
ggml_tensor_extra_gpu * extra = (ggml_tensor_extra_gpu *) tensor->extra;
6859+
ggml_backend_vk_buffer_context * buf_ctx = (ggml_backend_vk_buffer_context *)tensor->buffer->context;
68606860

6861-
vk_buffer buffer_gpu = extra->buffer_gpu.lock();
6862-
ggml_vk_buffer_read(buffer_gpu, extra->offset + tensor->view_offs, tensor_data, tensor_size);
6861+
vk_buffer buffer_gpu = buf_ctx->dev_buffer;
6862+
ggml_vk_buffer_read(buffer_gpu, vk_tensor_offset(tensor) + tensor->view_offs, tensor_data, tensor_size);
68636863
}
68646864

68656865
std::cerr << "TENSOR CHECK " << name << " (" << tensor->name << "): " << ggml_op_name(tensor->op) << std::endl;
@@ -6933,9 +6933,9 @@ static void ggml_vk_check_results_0(ggml_tensor * tensor) {
69336933
memcpy(src0_clone->data, src0->data, src0_size);
69346934
memcpy(src0_clone->nb, src0->nb, sizeof(size_t) * GGML_MAX_DIMS);
69356935
} else if (ggml_backend_buffer_is_vk(src0->buffer)) {
6936-
ggml_tensor_extra_gpu * extra = (ggml_tensor_extra_gpu *) src0->extra;
6937-
vk_buffer buffer_gpu = extra->buffer_gpu.lock();
6938-
uint64_t offset = extra->offset + src0->view_offs;
6936+
ggml_backend_vk_buffer_context * buf_ctx = (ggml_backend_vk_buffer_context *)src0->buffer->context;
6937+
vk_buffer& buffer_gpu = buf_ctx->dev_buffer;
6938+
uint64_t offset = vk_tensor_offset(src0) + src0->view_offs;
69396939
if (!ggml_is_contiguous(src0) && ggml_vk_dim01_contiguous(src0)) {
69406940
for (int i3 = 0; i3 < src0->ne[3]; i3++) {
69416941
for (int i2 = 0; i2 < src0->ne[2]; i2++) {
@@ -6975,9 +6975,9 @@ static void ggml_vk_check_results_0(ggml_tensor * tensor) {
69756975
memcpy(src1_clone->data, src1->data, src1_size);
69766976
memcpy(src1_clone->nb, src1->nb, sizeof(size_t) * GGML_MAX_DIMS);
69776977
} else if (ggml_backend_buffer_is_vk(src1->buffer)) {
6978-
ggml_tensor_extra_gpu * extra = (ggml_tensor_extra_gpu *) src1->extra;
6979-
vk_buffer buffer_gpu = extra->buffer_gpu.lock();
6980-
uint64_t offset = extra->offset + src1->view_offs;
6978+
ggml_backend_vk_buffer_context * buf_ctx = (ggml_backend_vk_buffer_context *)src1->buffer->context;
6979+
vk_buffer& buffer_gpu = buf_ctx->dev_buffer;
6980+
uint64_t offset = vk_tensor_offset(src1) + src1->view_offs;
69816981
if (!ggml_is_contiguous(src1) && ggml_vk_dim01_contiguous(src1)) {
69826982
for (int i3 = 0; i3 < src1->ne[3]; i3++) {
69836983
for (int i2 = 0; i2 < src1->ne[2]; i2++) {
@@ -7017,9 +7017,9 @@ static void ggml_vk_check_results_0(ggml_tensor * tensor) {
70177017
memcpy(src2_clone->data, src2->data, src2_size);
70187018
memcpy(src2_clone->nb, src2->nb, sizeof(size_t) * GGML_MAX_DIMS);
70197019
} else if (ggml_backend_buffer_is_vk(src2->buffer)) {
7020-
ggml_tensor_extra_gpu * extra = (ggml_tensor_extra_gpu *) src2->extra;
7021-
vk_buffer buffer_gpu = extra->buffer_gpu.lock();
7022-
uint64_t offset = extra->offset + src2->view_offs;
7020+
ggml_backend_vk_buffer_context * buf_ctx = (ggml_backend_vk_buffer_context *)src2->buffer->context;
7021+
vk_buffer& buffer_gpu = buf_ctx->dev_buffer;
7022+
uint64_t offset = vk_tensor_offset(src2) + src2->view_offs;
70237023
if (!ggml_is_contiguous(src2) && ggml_vk_dim01_contiguous(src2)) {
70247024
for (int i3 = 0; i3 < src2->ne[3]; i3++) {
70257025
for (int i2 = 0; i2 < src2->ne[2]; i2++) {
@@ -7074,7 +7074,7 @@ static void ggml_vk_check_results_0(ggml_tensor * tensor) {
70747074
} else if (tensor->op == GGML_OP_PAD) {
70757075
tensor_clone = ggml_pad(ggml_ctx, src0_clone, tensor->ne[0] - src0_clone->ne[0], tensor->ne[1] - src0_clone->ne[1], tensor->ne[2] - src0_clone->ne[2], tensor->ne[3] - src0_clone->ne[3]);
70767076
} else if (tensor->op == GGML_OP_REPEAT) {
7077-
tensor_clone = ggml_repeat(ggml_ctx, src0_clone, src1_clone);
7077+
tensor_clone = ggml_repeat(ggml_ctx, src0_clone, tensor);
70787078
} else if (tensor->op == GGML_OP_ADD) {
70797079
tensor_clone = ggml_add(ggml_ctx, src0_clone, src1_clone);
70807080
} else if (tensor->op == GGML_OP_ACC) {
@@ -7219,14 +7219,15 @@ static void ggml_vk_check_results_1(ggml_tensor * tensor) {
72197219
size_t tensor_size = ggml_nbytes(tensor);
72207220
tensor_data = malloc(tensor_size);
72217221

7222-
ggml_tensor_extra_gpu * extra = (ggml_tensor_extra_gpu *) tensor->extra;
7222+
ggml_backend_vk_buffer_context * buf_ctx = (ggml_backend_vk_buffer_context *)tensor->buffer->context;
72237223

7224-
vk_buffer buffer_gpu = extra->buffer_gpu.lock();
7225-
if (extra->offset + tensor->view_offs + tensor_size >= buffer_gpu->size) {
7226-
tensor_size = buffer_gpu->size - (extra->offset + tensor->view_offs);
7224+
vk_buffer& buffer_gpu = buf_ctx->dev_buffer;
7225+
uint64_t offset = vk_tensor_offset(tensor) + tensor->view_offs;
7226+
if (offset + tensor_size >= buffer_gpu->size) {
7227+
tensor_size = buffer_gpu->size - offset;
72277228
}
72287229

7229-
ggml_vk_buffer_read(buffer_gpu, extra->offset + tensor->view_offs, tensor_data, tensor_size);
7230+
ggml_vk_buffer_read(buffer_gpu, offset, tensor_data, tensor_size);
72307231
}
72317232

72327233
float first_error_result = -1.0f;

0 commit comments

Comments
 (0)