Skip to content

Commit

Permalink
use the correct SYCL context for host USM allocations (ggerganov#7777)
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Ashbaugh <[email protected]>
  • Loading branch information
bashbaug authored Jun 10, 2024
1 parent 10ceba3 commit af4ae50
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions ggml-sycl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13089,10 +13089,12 @@ void *ggml_sycl_host_malloc(size_t size) try {
return nullptr;
}

ggml_sycl_set_device(g_main_device);
dpct::queue_ptr main_stream = g_syclStreams[g_main_device][0];

void * ptr = nullptr;
//allow to use dpct::get_in_order_queue() for host malloc
dpct::err0 err = CHECK_TRY_ERROR(
ptr = (void *)sycl::malloc_host(size, dpct::get_in_order_queue()));
ptr = (void *)sycl::malloc_host(size, *main_stream));

if (err != 0) {
// clear the error
Expand All @@ -13113,8 +13115,9 @@ catch (sycl::exception const &exc) {
}

void ggml_sycl_host_free(void *ptr) try {
//allow to use dpct::get_in_order_queue() for host malloc
SYCL_CHECK(CHECK_TRY_ERROR(sycl::free(ptr, dpct::get_in_order_queue())));
ggml_sycl_set_device(g_main_device);
dpct::queue_ptr main_stream = g_syclStreams[g_main_device][0];
SYCL_CHECK(CHECK_TRY_ERROR(sycl::free(ptr, *main_stream)));
}
catch (sycl::exception const &exc) {
std::cerr << exc.what() << "Exception caught at file:" << __FILE__
Expand Down

0 comments on commit af4ae50

Please sign in to comment.