Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bd33e5a

Browse files
authored
ggml-opencl : store GPU buffer in ggml_tensor::extra (ggml-org#2994)
1 parent 3103568 commit bd33e5a

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

ggml-opencl.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,7 +1334,7 @@ void ggml_cl_free_data(const struct ggml_tensor* tensor) {
13341334
return;
13351335
}
13361336

1337-
cl_mem mem = (cl_mem)tensor->data;
1337+
cl_mem mem = (cl_mem)tensor->extra;
13381338
clReleaseMemObject(mem);
13391339
}
13401340

@@ -1393,7 +1393,7 @@ static void ggml_cl_mul_f32(const ggml_tensor * src0, const ggml_tensor * src1,
13931393
size_t d_size;
13941394

13951395
cl_mem d_X = ggml_cl_pool_malloc(ne0 * sizeof(float), &x_size); // src0
1396-
cl_mem d_Y = (cl_mem) src1->data; // src1 is already on device, broadcasted.
1396+
cl_mem d_Y = (cl_mem) src1->extra; // src1 is already on device, broadcasted.
13971397
cl_mem d_D = ggml_cl_pool_malloc(ne0 * sizeof(float), &d_size); // dst
13981398

13991399

@@ -1491,7 +1491,7 @@ static void ggml_cl_mul_mat_f32(const ggml_tensor * src0, const ggml_tensor * sr
14911491
size_t d_size;
14921492
cl_mem d_X;
14931493
if (src0->backend == GGML_BACKEND_GPU) { // NOLINT
1494-
d_X = (cl_mem) src0->data;
1494+
d_X = (cl_mem) src0->extra;
14951495
} else {
14961496
d_X = ggml_cl_pool_malloc(sizeof(float) * x_ne, &x_size);
14971497
}
@@ -1567,7 +1567,7 @@ static void ggml_cl_mul_mat_f16(const ggml_tensor * src0, const ggml_tensor * sr
15671567
size_t d_size;
15681568
cl_mem d_X;
15691569
if (src0->backend == GGML_BACKEND_GPU) { // NOLINT
1570-
d_X = (cl_mem) src0->data;
1570+
d_X = (cl_mem) src0->extra;
15711571
} else {
15721572
d_X = ggml_cl_pool_malloc(sizeof(ggml_fp16_t) * x_ne, &x_size);
15731573
}
@@ -1697,7 +1697,7 @@ static void ggml_cl_mul_mat_q_f32(const ggml_tensor * src0, const ggml_tensor *
16971697
events.emplace_back();
16981698
CL_CHECK(ggml_cl_h2d_tensor_2d(queue, d_Q, 0, src0, i03, i02, events.data() + ev_idx++));
16991699
} else if (src0->backend == GGML_BACKEND_GPU) {
1700-
d_Q = (cl_mem) src0->data;
1700+
d_Q = (cl_mem) src0->extra;
17011701
} else {
17021702
GGML_ASSERT(false);
17031703
}
@@ -1860,6 +1860,6 @@ void ggml_cl_transform_tensor(void * data, ggml_tensor * tensor) {
18601860

18611861
CL_CHECK(clFinish(queue));
18621862

1863-
tensor->data = dst;
1863+
tensor->extra = dst;
18641864
GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
18651865
}

0 commit comments

Comments
 (0)