Skip to content

Commit 0dce40a

Browse files
committed
add wait() for memcpy
1 parent ddc1249 commit 0dce40a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

ggml-sycl.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3760,7 +3760,7 @@ void log_ggml_var_device(const char*name, float *src, size_t total_elements, boo
37603760
local_buf = (float *) ggml_sycl_host_malloc(total_size);
37613761
ggml_sycl_set_device(g_main_device);
37623762
dpct::queue_ptr main_stream = g_syclStreams[g_main_device][0];
3763-
main_stream->memcpy(local_buf, src, total_size);
3763+
main_stream->memcpy(local_buf, src, total_size).wait();
37643764
}
37653765
else {
37663766
local_buf = (float *)src;
@@ -14585,7 +14585,7 @@ static void ggml_sycl_op_flatten(const ggml_tensor *src0,
1458514585
// copy dst to host if necessary
1458614586
if (!dst_on_device) {
1458714587
SYCL_CHECK(CHECK_TRY_ERROR(
14588-
main_stream->memcpy(dst->data, dst_ddf, ggml_nbytes(dst))));
14588+
main_stream->memcpy(dst->data, dst_ddf, ggml_nbytes(dst)).wait()));
1458914589
}
1459014590

1459114591
if (dst->backend == GGML_BACKEND_TYPE_CPU) {
@@ -14862,7 +14862,7 @@ static void ggml_sycl_op_mul_mat(const ggml_tensor *src0,
1486214862
SYCL_CHECK(CHECK_TRY_ERROR(stream->memcpy(
1486314863
src1_ddq_i, src1_ddq_i_source,
1486414864
src1_ncols * src1_padded_col_size * q8_1_ts /
14865-
q8_1_bs)));
14865+
q8_1_bs).wait()));
1486614866
} else {
1486714867

1486814868
float * src1_ddf_i_source = (float *) src1_extra->data_device[g_main_device];
@@ -14956,7 +14956,7 @@ static void ggml_sycl_op_mul_mat(const ggml_tensor *src0,
1495614956
dhf_dst_i += src1_col_0*ne0;
1495714957
SYCL_CHECK(CHECK_TRY_ERROR(
1495814958
stream->memcpy(dhf_dst_i, dst_dd_i,
14959-
src1_ncols * ne0 * sizeof(float))));
14959+
src1_ncols * ne0 * sizeof(float)).wait()));
1496014960
}
1496114961
}
1496214962

@@ -15686,8 +15686,8 @@ static void ggml_sycl_mul_mat_id(const ggml_tensor *src0,
1568615686
if (ids->backend == GGML_BACKEND_TYPE_GPU) {
1568715687
const char * ids_dev = (const char *)((const ggml_tensor_extra_gpu *)ids->extra)->data_device[g_main_device];
1568815688
SYCL_CHECK(CHECK_TRY_ERROR(
15689-
stream->memcpy(ids_host.data(), ids_dev, ggml_nbytes(ids))));
15690-
SYCL_CHECK(CHECK_TRY_ERROR(stream->wait()));
15689+
stream->memcpy(ids_host.data(), ids_dev, ggml_nbytes(ids)).wait()));
15690+
// SYCL_CHECK(CHECK_TRY_ERROR(stream->wait()));
1569115691
} else {
1569215692
memcpy(ids_host.data(), ids->data, ggml_nbytes(ids));
1569315693
}
@@ -15757,7 +15757,7 @@ static void ggml_sycl_mul_mat_id(const ggml_tensor *src0,
1575715757

1575815758
SYCL_CHECK(CHECK_TRY_ERROR(
1575915759
stream->memcpy(src1_contiguous.get() + num_src1_rows * nb11,
15760-
src1_original + i01 * nb11, nb11)));
15760+
src1_original + i01 * nb11, nb11).wait()));
1576115761
num_src1_rows++;
1576215762
}
1576315763

@@ -15790,7 +15790,7 @@ static void ggml_sycl_mul_mat_id(const ggml_tensor *src0,
1579015790

1579115791
SYCL_CHECK(CHECK_TRY_ERROR(stream->memcpy(
1579215792
dst_original + i01 * nb1,
15793-
dst_contiguous.get() + num_src1_rows * nb1, nb1)));
15793+
dst_contiguous.get() + num_src1_rows * nb1, nb1).wait()));
1579415794
num_src1_rows++;
1579515795
}
1579615796
}
@@ -17184,7 +17184,7 @@ GGML_CALL static void ggml_backend_sycl_set_tensor_async(ggml_backend_t backend,
1718417184
GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
1718517185
GGML_ASSERT(tensor->backend == GGML_BACKEND_TYPE_GPU);
1718617186
SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->memcpy(
17187-
(char *)tensor->data + offset, data, size)));
17187+
(char *)tensor->data + offset, data, size).wait()));
1718817188
}
1718917189
catch (sycl::exception const &exc) {
1719017190
std::cerr << exc.what() << "Exception caught at file:" << __FILE__
@@ -17200,7 +17200,7 @@ GGML_CALL static void ggml_backend_sycl_get_tensor_async(ggml_backend_t backend,
1720017200
GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
1720117201
GGML_ASSERT(tensor->backend == GGML_BACKEND_TYPE_GPU);
1720217202
SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->memcpy(
17203-
data, (const char *)tensor->data + offset, size)));
17203+
data, (const char *)tensor->data + offset, size).wait()));
1720417204
}
1720517205
catch (sycl::exception const &exc) {
1720617206
std::cerr << exc.what() << "Exception caught at file:" << __FILE__
@@ -17219,7 +17219,7 @@ GGML_CALL static bool ggml_backend_sycl_cpy_tensor_async(ggml_backend_t backend,
1721917219
was inserted. You need to rewrite this code.
1722017220
*/
1722117221
SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->memcpy(
17222-
dst->data, src->data, ggml_nbytes(dst))));
17222+
dst->data, src->data, ggml_nbytes(dst)).wait()));
1722317223
return true;
1722417224
}
1722517225

0 commit comments

Comments
 (0)