Commit: 41c10ac84ae420274dd79227dc698c8be14d13dd Author: Xavier Hallade Date: Fri Jul 1 10:36:00 2022 +0200 Branches: master https://developer.blender.org/rB41c10ac84ae420274dd79227dc698c8be14d13dd
Cycles: fix support for multiple Intel GPUs Identical Intel GPUs ended up with the same id. Added PCI BDF to the id to make it unique. =================================================================== M intern/cycles/device/oneapi/device.cpp M intern/cycles/kernel/device/oneapi/kernel.cpp =================================================================== diff --git a/intern/cycles/device/oneapi/device.cpp b/intern/cycles/device/oneapi/device.cpp index f70425b32cf..8056c204188 100644 --- a/intern/cycles/device/oneapi/device.cpp +++ b/intern/cycles/device/oneapi/device.cpp @@ -89,6 +89,9 @@ bool device_oneapi_init() if (getenv("SYCL_DEVICE_FILTER") == nullptr) { _putenv_s("SYCL_DEVICE_FILTER", "host,level_zero"); } + if (getenv("SYCL_ENABLE_PCI") == nullptr) { + _putenv_s("SYCL_ENABLE_PCI", "1"); + } if (getenv("SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE") == nullptr) { _putenv_s("SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE", "0"); } @@ -96,6 +99,7 @@ bool device_oneapi_init() setenv("SYCL_CACHE_PERSISTENT", "1", false); setenv("SYCL_CACHE_THRESHOLD", "0", false); setenv("SYCL_DEVICE_FILTER", "host,level_zero", false); + setenv("SYCL_ENABLE_PCI", "1", false); setenv("SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE", "0", false); # endif diff --git a/intern/cycles/kernel/device/oneapi/kernel.cpp b/intern/cycles/kernel/device/oneapi/kernel.cpp index 2b915027bda..11a551e822e 100644 --- a/intern/cycles/kernel/device/oneapi/kernel.cpp +++ b/intern/cycles/kernel/device/oneapi/kernel.cpp @@ -862,6 +862,9 @@ void oneapi_iterate_devices(OneAPIDeviceIteratorCallback cb, void *user_ptr) device.get_platform().get_info<sycl::info::platform::name>(); std::string name = device.get_info<sycl::info::device::name>(); std::string id = "ONEAPI_" + platform_name + "_" + name; + if (device.has(sycl::aspect::ext_intel_pci_address)) { + id.append("_" + device.get_info<sycl::info::device::ext_intel_pci_address>()); + } (cb)(id.c_str(), name.c_str(), num, user_ptr); num++; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs