Compare commits

...

4 Commits

Author SHA1 Message Date
Neo Zhang Jianyu
e9e1882d2d rm tail space 2025-04-08 13:43:11 +08:00
Neo Zhang Jianyu
76f2ed3d77 Update ggml/src/ggml-sycl/ggml-sycl.cpp 2025-04-08 13:16:14 +08:00
Neo Zhang Jianyu
d271172ab1 Update ggml/src/ggml-sycl/ggml-sycl.cpp 2025-04-08 10:32:18 +08:00
Neo Zhang Jianyu
564a05daf2 Revert "sycl: remove redundant memcopy in function ggml_backend_sycl_buffer_s…"
This reverts commit 518a01480e.
2025-04-08 10:29:41 +08:00

View File

@@ -372,9 +372,14 @@ static void ggml_backend_sycl_buffer_set_tensor(ggml_backend_buffer_t buffer,
auto stream = &(dpct::dev_mgr::instance().get_device(ctx->device).default_queue());
SYCL_CHECK(
CHECK_TRY_ERROR(dpct::dev_mgr::instance().get_device(ctx->device).queues_wait_and_throw()));
// Note: Use host buffer to save the data from mmap(), then copy to device. It's workaround for mmap() issue on PVC GPU.
// This function will be called during load model from disk. Use memory buffer replace dynamic won't save more time and brings potential memory leak risk here.
char* host_buf = (char*)malloc(size);
memcpy(host_buf, data, size);
SYCL_CHECK(
CHECK_TRY_ERROR((*stream).memcpy((char *)tensor->data + offset, data, size)
CHECK_TRY_ERROR((*stream).memcpy((char *)tensor->data + offset, host_buf, size)
.wait()));
free(host_buf);
}
catch (sycl::exception const &exc) {
std::cerr << exc.what() << "Exception caught at file:" << __FILE__