@@ -14642,7 +14642,8 @@ GGML_CALL static const char * ggml_backend_sycl_buffer_type_name(ggml_backend_bu
1464214642static ggml_backend_buffer_t
1464314643ggml_backend_sycl_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft,
1464414644 size_t size) try {
14645- int device = (int) (intptr_t) buft->context;
14645+ ggml_backend_sycl_buffer_type_context * buft_ctx = (ggml_backend_sycl_buffer_type_context *)buft->context;
14646+ int device = (int) buft_ctx->device;
1464614647
1464714648 ggml_sycl_set_device(device);
1464814649 int device_index = get_device_index_by_id(device);
@@ -14720,7 +14721,7 @@ ggml_backend_buffer_type_t ggml_backend_sycl_buffer_type(int device) {
1472014721 for (int i = 0; i < GGML_SYCL_MAX_DEVICES; i++) {
1472114722 ggml_backend_sycl_buffer_types[i] = {
1472214723 /* .iface = */ ggml_backend_sycl_buffer_type_interface,
14723- /* .context = */ (ggml_backend_buffer_type_context_t) (intptr_t) i ,
14724+ /* .context = */ new ggml_backend_sycl_buffer_type_context{i, GGML_SYCL_NAME + std::to_string(i)} ,
1472414725 };
1472514726 }
1472614727 ggml_backend_sycl_buffer_type_initialized = true;
@@ -14782,25 +14783,21 @@ ggml_backend_buffer_type_t ggml_backend_sycl_host_buffer_type() {
1478214783
1478314784// backend
1478414785
14785- struct ggml_backend_context_sycl {
14786- int device;
14787- };
14788-
1478914786static const char * ggml_backend_sycl_name(ggml_backend_t backend) {
1479014787 return GGML_SYCL_NAME;
1479114788
1479214789 UNUSED(backend);
1479314790}
1479414791
1479514792static void ggml_backend_sycl_free(ggml_backend_t backend) {
14796- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14793+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1479714794
1479814795 delete sycl_ctx;
1479914796 delete backend;
1480014797}
1480114798
1480214799static ggml_backend_buffer_type_t ggml_backend_sycl_get_default_buffer_type(ggml_backend_t backend) {
14803- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14800+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1480414801
1480514802 return ggml_backend_sycl_buffer_type(sycl_ctx->device);
1480614803}
@@ -14809,7 +14806,7 @@ static void ggml_backend_sycl_set_tensor_async(ggml_backend_t backend,
1480914806 ggml_tensor *tensor,
1481014807 const void *data, size_t offset,
1481114808 size_t size) try {
14812- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14809+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1481314810
1481414811 GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
1481514812 GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
@@ -14827,7 +14824,7 @@ static void ggml_backend_sycl_get_tensor_async(ggml_backend_t backend,
1482714824 const ggml_tensor *tensor,
1482814825 void *data, size_t offset,
1482914826 size_t size) try {
14830- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14827+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1483114828
1483214829 GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
1483314830 GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
@@ -14842,7 +14839,7 @@ catch (sycl::exception const &exc) {
1484214839}
1484314840
1484414841static void ggml_backend_sycl_synchronize(ggml_backend_t backend) try {
14845- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14842+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1484614843
1484714844 SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->wait()));
1484814845
@@ -14878,7 +14875,7 @@ static void ggml_backend_sycl_graph_plan_compute(ggml_backend_t backend, ggml_ba
1487814875}
1487914876
1488014877static bool ggml_backend_sycl_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) {
14881- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14878+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
1488214879
1488314880 ggml_sycl_set_main_device(sycl_ctx->device);
1488414881
@@ -15092,8 +15089,9 @@ ggml_backend_t ggml_backend_sycl_init(int device) {
1509215089 // not strictly necessary, but it may reduce the overhead of the first graph_compute
1509315090 ggml_sycl_set_main_device(device);
1509415091
15095- ggml_backend_context_sycl * ctx = new ggml_backend_context_sycl {
15096- /* .device = */ device
15092+ ggml_backend_sycl_context * ctx = new ggml_backend_sycl_context {
15093+ /* .device = */ device,
15094+ /* .name = */ GGML_SYCL_NAME + std::to_string(device),
1509715095 };
1509815096
1509915097 ggml_backend_t sycl_backend = new ggml_backend {
0 commit comments