[SYCL] Fix non-intel device selection (#6042)

* Fix non-intel device selection

* Update ggml-sycl.cpp

Co-authored-by: Neo Zhang Jianyu <jianyu.zhang@intel.com>

* Update ggml-sycl.cpp

Co-authored-by: Neo Zhang Jianyu <jianyu.zhang@intel.com>

---------

Co-authored-by: Abhilash Majumder <30946547+abhilash1910@users.noreply.github.com>
Co-authored-by: Neo Zhang Jianyu <jianyu.zhang@intel.com>
This commit is contained in:
AidanBeltonS 2024-03-15 09:26:20 +00:00 committed by GitHub
parent 7ce2c77f88
commit 753e36f650
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -3451,7 +3451,7 @@ class sycl_gpu_mgr {
dpct::device_info prop; dpct::device_info prop;
dpct::get_device_info(prop, device); dpct::get_device_info(prop, device);
if (max_compute_units == prop.get_max_compute_units() && if (max_compute_units == prop.get_max_compute_units() &&
prop.get_major_version() == 1) { is_ext_oneapi_device(device)) {
gpus.push_back(id); gpus.push_back(id);
devices.push_back(device); devices.push_back(device);
work_group_size = prop.get_max_work_group_size(); work_group_size = prop.get_max_work_group_size();
@ -3484,6 +3484,15 @@ class sycl_gpu_mgr {
assert(false); assert(false);
return -1; return -1;
} }
bool is_ext_oneapi_device(const sycl::device &dev) {
sycl::backend dev_backend = dev.get_backend();
if (dev_backend == sycl::backend::ext_oneapi_level_zero ||
dev_backend == sycl::backend::ext_oneapi_cuda ||
dev_backend == sycl::backend::ext_oneapi_hip)
return true;
return false;
}
}; };
static sycl_gpu_mgr *g_sycl_gpu_mgr = NULL; static sycl_gpu_mgr *g_sycl_gpu_mgr = NULL;