hengyu commited on
Commit
3c39d4b
·
unverified ·
1 Parent(s): 963ffd5

conext add name (llama/5624)

Browse files

* [SYCL] conext add name

* name should start with SYCL*

Files changed (1) hide show
  1. ggml-sycl.cpp +12 -14
ggml-sycl.cpp CHANGED
@@ -14642,7 +14642,8 @@ GGML_CALL static const char * ggml_backend_sycl_buffer_type_name(ggml_backend_bu
14642
  static ggml_backend_buffer_t
14643
  ggml_backend_sycl_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft,
14644
  size_t size) try {
14645
- int device = (int) (intptr_t) buft->context;
 
14646
 
14647
  ggml_sycl_set_device(device);
14648
  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) {
14720
  for (int i = 0; i < GGML_SYCL_MAX_DEVICES; i++) {
14721
  ggml_backend_sycl_buffer_types[i] = {
14722
  /* .iface = */ ggml_backend_sycl_buffer_type_interface,
14723
- /* .context = */ (ggml_backend_buffer_type_context_t) (intptr_t) i,
14724
  };
14725
  }
14726
  ggml_backend_sycl_buffer_type_initialized = true;
@@ -14782,10 +14783,6 @@ ggml_backend_buffer_type_t ggml_backend_sycl_host_buffer_type() {
14782
 
14783
  // backend
14784
 
14785
- struct ggml_backend_context_sycl {
14786
- int device;
14787
- };
14788
-
14789
  static const char * ggml_backend_sycl_name(ggml_backend_t backend) {
14790
  return GGML_SYCL_NAME;
14791
 
@@ -14793,14 +14790,14 @@ static const char * ggml_backend_sycl_name(ggml_backend_t backend) {
14793
  }
14794
 
14795
  static void ggml_backend_sycl_free(ggml_backend_t backend) {
14796
- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14797
 
14798
  delete sycl_ctx;
14799
  delete backend;
14800
  }
14801
 
14802
  static 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;
14804
 
14805
  return ggml_backend_sycl_buffer_type(sycl_ctx->device);
14806
  }
@@ -14809,7 +14806,7 @@ static void ggml_backend_sycl_set_tensor_async(ggml_backend_t backend,
14809
  ggml_tensor *tensor,
14810
  const void *data, size_t offset,
14811
  size_t size) try {
14812
- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14813
 
14814
  GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
14815
  GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
@@ -14827,7 +14824,7 @@ static void ggml_backend_sycl_get_tensor_async(ggml_backend_t backend,
14827
  const ggml_tensor *tensor,
14828
  void *data, size_t offset,
14829
  size_t size) try {
14830
- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14831
 
14832
  GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
14833
  GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
@@ -14842,7 +14839,7 @@ catch (sycl::exception const &exc) {
14842
  }
14843
 
14844
  static void ggml_backend_sycl_synchronize(ggml_backend_t backend) try {
14845
- ggml_backend_context_sycl * sycl_ctx = (ggml_backend_context_sycl *)backend->context;
14846
 
14847
  SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->wait()));
14848
 
@@ -14878,7 +14875,7 @@ static void ggml_backend_sycl_graph_plan_compute(ggml_backend_t backend, ggml_ba
14878
  }
14879
 
14880
  static 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;
14882
 
14883
  ggml_sycl_set_main_device(sycl_ctx->device);
14884
 
@@ -15092,8 +15089,9 @@ ggml_backend_t ggml_backend_sycl_init(int device) {
15092
  // not strictly necessary, but it may reduce the overhead of the first graph_compute
15093
  ggml_sycl_set_main_device(device);
15094
 
15095
- ggml_backend_context_sycl * ctx = new ggml_backend_context_sycl {
15096
- /* .device = */ device
 
15097
  };
15098
 
15099
  ggml_backend_t sycl_backend = new ggml_backend {
 
14642
  static ggml_backend_buffer_t
14643
  ggml_backend_sycl_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft,
14644
  size_t size) try {
14645
+ ggml_backend_sycl_buffer_type_context * buft_ctx = (ggml_backend_sycl_buffer_type_context *)buft->context;
14646
+ int device = (int) buft_ctx->device;
14647
 
14648
  ggml_sycl_set_device(device);
14649
  int device_index = get_device_index_by_id(device);
 
14721
  for (int i = 0; i < GGML_SYCL_MAX_DEVICES; i++) {
14722
  ggml_backend_sycl_buffer_types[i] = {
14723
  /* .iface = */ ggml_backend_sycl_buffer_type_interface,
14724
+ /* .context = */ new ggml_backend_sycl_buffer_type_context{i, GGML_SYCL_NAME + std::to_string(i)},
14725
  };
14726
  }
14727
  ggml_backend_sycl_buffer_type_initialized = true;
 
14783
 
14784
  // backend
14785
 
 
 
 
 
14786
  static const char * ggml_backend_sycl_name(ggml_backend_t backend) {
14787
  return GGML_SYCL_NAME;
14788
 
 
14790
  }
14791
 
14792
  static void ggml_backend_sycl_free(ggml_backend_t backend) {
14793
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14794
 
14795
  delete sycl_ctx;
14796
  delete backend;
14797
  }
14798
 
14799
  static ggml_backend_buffer_type_t ggml_backend_sycl_get_default_buffer_type(ggml_backend_t backend) {
14800
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14801
 
14802
  return ggml_backend_sycl_buffer_type(sycl_ctx->device);
14803
  }
 
14806
  ggml_tensor *tensor,
14807
  const void *data, size_t offset,
14808
  size_t size) try {
14809
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14810
 
14811
  GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
14812
  GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
 
14824
  const ggml_tensor *tensor,
14825
  void *data, size_t offset,
14826
  size_t size) try {
14827
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14828
 
14829
  GGML_ASSERT(tensor->buffer->buft == ggml_backend_sycl_buffer_type(sycl_ctx->device) && "unsupported buffer type");
14830
  GGML_ASSERT(tensor->backend == GGML_BACKEND_GPU);
 
14839
  }
14840
 
14841
  static void ggml_backend_sycl_synchronize(ggml_backend_t backend) try {
14842
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14843
 
14844
  SYCL_CHECK(CHECK_TRY_ERROR(g_syclStreams[sycl_ctx->device][0]->wait()));
14845
 
 
14875
  }
14876
 
14877
  static bool ggml_backend_sycl_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) {
14878
+ ggml_backend_sycl_context * sycl_ctx = (ggml_backend_sycl_context *)backend->context;
14879
 
14880
  ggml_sycl_set_main_device(sycl_ctx->device);
14881
 
 
15089
  // not strictly necessary, but it may reduce the overhead of the first graph_compute
15090
  ggml_sycl_set_main_device(device);
15091
 
15092
+ ggml_backend_sycl_context * ctx = new ggml_backend_sycl_context {
15093
+ /* .device = */ device,
15094
+ /* .name = */ GGML_SYCL_NAME + std::to_string(device),
15095
  };
15096
 
15097
  ggml_backend_t sycl_backend = new ggml_backend {