]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
Fix non-intel device selection (llama/6042)
authorAidanBeltonS <redacted>
Fri, 15 Mar 2024 09:26:20 +0000 (09:26 +0000)
committerGeorgi Gerganov <redacted>
Wed, 27 Mar 2024 11:20:00 +0000 (13:20 +0200)
* Fix non-intel device selection

* Update ggml-sycl.cpp

Co-authored-by: Neo Zhang Jianyu <redacted>
* Update ggml-sycl.cpp

Co-authored-by: Neo Zhang Jianyu <redacted>
---------

Co-authored-by: Abhilash Majumder <redacted>
Co-authored-by: Neo Zhang Jianyu <redacted>
src/ggml-sycl.cpp

index 9f6506383cc0dde78de71e72b455307386eff042..a1ca6aba5951d2ada4135d7e99c7e26ebe5985b7 100644 (file)
@@ -3451,7 +3451,7 @@ class sycl_gpu_mgr {
                 dpct::device_info prop;
                 dpct::get_device_info(prop, device);
                 if (max_compute_units == prop.get_max_compute_units() &&
-                    prop.get_major_version() == 1) {
+                    is_ext_oneapi_device(device)) {
                     gpus.push_back(id);
                     devices.push_back(device);
                     work_group_size = prop.get_max_work_group_size();
@@ -3484,6 +3484,15 @@ class sycl_gpu_mgr {
             assert(false);
             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;