@@ -2968,7 +2968,7 @@ namespace dpct
2968
2968
#include "ggml-common.h"
2969
2969
2970
2970
static int g_ggml_sycl_debug=0;
2971
- #define GGML_SYCL_DEBUG(...) do{if(g_ggml_sycl_debug) printf( __VA_ARGS__);}while(0)
2971
+ #define GGML_SYCL_DEBUG(...) do{if(g_ggml_sycl_debug) fprintf(stderr, __VA_ARGS__);}while(0)
2972
2972
2973
2973
#define CHECK_TRY_ERROR(expr) \
2974
2974
[&]() { \
@@ -12868,6 +12868,7 @@ void print_device_detail(int id, sycl::device &device, std::string device_type)
12868
12868
}
12869
12869
12870
12870
void ggml_backend_sycl_print_sycl_devices() {
12871
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_print_sycl_devices\n");
12871
12872
int device_count = dpct::dev_mgr::instance().device_count();
12872
12873
std::map<std::string, size_t> DeviceNums;
12873
12874
fprintf(stderr, "found %d SYCL devices:\n", device_count);
@@ -12925,7 +12926,9 @@ static void ggml_init_sycl() try {
12925
12926
static bool initialized = false;
12926
12927
12927
12928
if (!initialized) {
12929
+ fprintf(stderr, "[SYCL] call ggml_init_sycl\n");
12928
12930
g_ggml_sycl_debug = get_sycl_env("GGML_SYCL_DEBUG", 0);
12931
+
12929
12932
fprintf(stderr, "%s: GGML_SYCL_DEBUG: %d\n", __func__, g_ggml_sycl_debug);
12930
12933
12931
12934
#if defined(GGML_SYCL_F16)
@@ -16039,6 +16042,7 @@ bool ggml_sycl_compute_forward(struct ggml_compute_params * params, struct ggml_
16039
16042
}
16040
16043
16041
16044
GGML_API GGML_CALL void ggml_sycl_get_gpu_list(int *id_list, int max_len) try {
16045
+ GGML_SYCL_DEBUG("[SYCL] call ggml_sycl_get_gpu_list\n");
16042
16046
for(int i=0;i<max_len;i++) id_list[i] = -1;
16043
16047
16044
16048
if (!g_sycl_gpu_mgr) {
@@ -16073,6 +16077,7 @@ catch (sycl::exception const &exc) {
16073
16077
16074
16078
GGML_API GGML_CALL void ggml_sycl_get_device_description(int device, char *description,
16075
16079
size_t description_size) try {
16080
+ GGML_SYCL_DEBUG("[SYCL] call ggml_sycl_get_device_description\n");
16076
16081
dpct::device_info prop;
16077
16082
int device_id = g_sycl_gpu_mgr->gpus[device];
16078
16083
SYCL_CHECK(CHECK_TRY_ERROR(dpct::get_device_info(
@@ -16087,6 +16092,7 @@ catch (sycl::exception const &exc) {
16087
16092
16088
16093
GGML_CALL void ggml_backend_sycl_get_device_memory(int device, size_t *free,
16089
16094
size_t *total) try {
16095
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_get_device_memory\n");
16090
16096
ggml_sycl_set_device(device);
16091
16097
16092
16098
/*
@@ -16438,7 +16444,8 @@ static ggml_backend_buffer_type_i ggml_backend_sycl_buffer_type_interface = {
16438
16444
};
16439
16445
16440
16446
ggml_backend_buffer_type_t ggml_backend_sycl_buffer_type(int device_index) {
16441
- ggml_init_sycl();
16447
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_buffer_type\n");
16448
+
16442
16449
if (device_index>=g_device_count or device_index<0) {
16443
16450
printf("ggml_backend_sycl_buffer_type error: device_index:%d is out of range [0, %d], miss to call ggml_backend_sycl_set_single_device()\n",
16444
16451
device_index, g_device_count-1);
@@ -16808,6 +16815,7 @@ static ggml_backend_buffer_type_i ggml_backend_sycl_split_buffer_type_interface
16808
16815
};
16809
16816
16810
16817
GGML_CALL ggml_backend_buffer_type_t ggml_backend_sycl_split_buffer_type(const float * tensor_split) {
16818
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_split_buffer_type\n");
16811
16819
ggml_init_sycl();
16812
16820
// FIXME: this is not thread safe
16813
16821
static std::map<std::array<float, GGML_SYCL_MAX_DEVICES>, struct ggml_backend_buffer_type> buft_map;
@@ -16880,6 +16888,7 @@ static ggml_backend_buffer_t ggml_backend_sycl_host_buffer_type_alloc_buffer(ggm
16880
16888
}
16881
16889
16882
16890
ggml_backend_buffer_type_t ggml_backend_sycl_host_buffer_type() {
16891
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_host_buffer_type\n");
16883
16892
static struct ggml_backend_buffer_type ggml_backend_sycl_buffer_type_host = {
16884
16893
/* .iface = */ {
16885
16894
/* .get_name = */ ggml_backend_sycl_host_buffer_type_name,
@@ -17176,6 +17185,7 @@ static ggml_guid_t ggml_backend_sycl_guid() {
17176
17185
}
17177
17186
17178
17187
GGML_CALL ggml_backend_t ggml_backend_sycl_init(int device) {
17188
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_init\n");
17179
17189
ggml_init_sycl();
17180
17190
17181
17191
check_allow_gpu_index(device);
@@ -17202,6 +17212,7 @@ bool ggml_backend_is_sycl(ggml_backend_t backend) {
17202
17212
}
17203
17213
17204
17214
GGML_CALL int ggml_backend_sycl_get_device_count() {
17215
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_get_device_count\n");
17205
17216
if (!g_sycl_gpu_mgr) g_sycl_gpu_mgr = new sycl_gpu_mgr();
17206
17217
return g_sycl_gpu_mgr->get_gpu_count();
17207
17218
}
@@ -17214,16 +17225,21 @@ GGML_CALL static ggml_backend_t ggml_backend_reg_sycl_init(const char * params,
17214
17225
}
17215
17226
17216
17227
GGML_API GGML_CALL int ggml_backend_sycl_get_device_index(int device_id) {
17228
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_get_device_index\n");
17217
17229
return g_sycl_gpu_mgr->get_index(device_id);
17218
17230
}
17219
17231
17220
17232
GGML_API GGML_CALL int ggml_backend_sycl_get_device_id(int device_index) {
17233
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_get_device_id\n");
17221
17234
return g_sycl_gpu_mgr->gpus[device_index];
17222
17235
}
17223
17236
17224
17237
GGML_API GGML_CALL void ggml_backend_sycl_set_single_device_mode(int main_gpu_id) {
17225
- GGML_ASSERT(main_gpu_id<g_all_sycl_device_count);
17238
+ ggml_init_sycl();
17239
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_set_single_device_mode\n");
17226
17240
fprintf(stderr, "ggml_backend_sycl_set_single_device: use single device: [%d]\n", main_gpu_id);
17241
+ GGML_ASSERT(main_gpu_id<g_all_sycl_device_count);
17242
+
17227
17243
if (g_sycl_gpu_mgr) {
17228
17244
delete g_sycl_gpu_mgr;
17229
17245
}
@@ -17234,6 +17250,9 @@ GGML_API GGML_CALL void ggml_backend_sycl_set_single_device_mode(int main_gpu_id
17234
17250
}
17235
17251
17236
17252
GGML_API GGML_CALL void ggml_backend_sycl_set_mul_device_mode() {
17253
+ ggml_init_sycl();
17254
+ GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_set_mul_device_mode\n");
17255
+
17237
17256
if (g_ggml_sycl_backend_gpu_mode == SYCL_MUL_GPU_MODE) {
17238
17257
return;
17239
17258
}
0 commit comments