fix to support multiple GPUs, fix set single device, unify id/device_id/device_index
This commit is contained in:
parent
9cbf82e65a
commit
0f98e44cd0
2 changed files with 11 additions and 3 deletions
|
@ -48,6 +48,11 @@ static int g_ggml_sycl_debug = 0;
|
||||||
} \
|
} \
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
// #define DEBUG_SYCL_MALLOC
|
||||||
|
|
||||||
|
static int g_work_group_size = -1;
|
||||||
|
// typedef sycl::half ggml_fp16_t;
|
||||||
|
|
||||||
#define __SYCL_ARCH__ DPCT_COMPATIBILITY_TEMP
|
#define __SYCL_ARCH__ DPCT_COMPATIBILITY_TEMP
|
||||||
#define VER_4VEC 610 // todo for hardward optimize.
|
#define VER_4VEC 610 // todo for hardward optimize.
|
||||||
#define VER_GEN9 700 // todo for hardward optimize.
|
#define VER_GEN9 700 // todo for hardward optimize.
|
||||||
|
@ -163,6 +168,8 @@ int get_current_device_id();
|
||||||
(void)bad_arch; // suppress unused function warning
|
(void)bad_arch; // suppress unused function warning
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int get_current_device_id();
|
||||||
|
|
||||||
inline dpct::err0 ggml_sycl_set_device(const int device_id) try {
|
inline dpct::err0 ggml_sycl_set_device(const int device_id) try {
|
||||||
|
|
||||||
int current_device_id;
|
int current_device_id;
|
||||||
|
|
|
@ -17620,6 +17620,7 @@ struct llama_context * llama_new_context_with_model(
|
||||||
#elif defined(GGML_USE_SYCL)
|
#elif defined(GGML_USE_SYCL)
|
||||||
// with split_mode LLAMA_SPLIT_MODE_NONE or LLAMA_SPLIT_MODE_ROW, only the main GPU backend is used
|
// with split_mode LLAMA_SPLIT_MODE_NONE or LLAMA_SPLIT_MODE_ROW, only the main GPU backend is used
|
||||||
if (model->split_mode == LLAMA_SPLIT_MODE_NONE || model->split_mode == LLAMA_SPLIT_MODE_ROW) {
|
if (model->split_mode == LLAMA_SPLIT_MODE_NONE || model->split_mode == LLAMA_SPLIT_MODE_ROW) {
|
||||||
|
ggml_sycl_set_single_device(model->main_gpu);
|
||||||
ggml_backend_t backend = ggml_backend_sycl_init(model->main_gpu);
|
ggml_backend_t backend = ggml_backend_sycl_init(model->main_gpu);
|
||||||
if (backend == nullptr) {
|
if (backend == nullptr) {
|
||||||
LLAMA_LOG_ERROR("%s: failed to initialize SYCL%d backend\n", __func__, model->main_gpu);
|
LLAMA_LOG_ERROR("%s: failed to initialize SYCL%d backend\n", __func__, model->main_gpu);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue