[Bf-blender-cvs] [71287435467] cycles_oneapi: Cycles: avoid using copy engine for oneAPI backend

Xavier Hallade noreply at git.blender.org
Mon May 30 18:29:00 CEST 2022


Commit: 71287435467819e65854e49463cf312980914dca
Author: Xavier Hallade
Date:   Mon May 30 15:21:38 2022 +0200
Branches: cycles_oneapi
https://developer.blender.org/rB71287435467819e65854e49463cf312980914dca

Cycles: avoid using copy engine for oneAPI backend

this improves stability with current drivers with less performance
regression than previous workaround.

===================================================================

M	intern/cycles/device/oneapi/device.cpp

===================================================================

diff --git a/intern/cycles/device/oneapi/device.cpp b/intern/cycles/device/oneapi/device.cpp
index b7cc967e598..88d91d12ecd 100644
--- a/intern/cycles/device/oneapi/device.cpp
+++ b/intern/cycles/device/oneapi/device.cpp
@@ -86,8 +86,8 @@ bool device_oneapi_init()
 
   // NOTE(sirgienko) we need to enable JIT cache from here and
   // right now this cache policy is controlled by env. variables
-  // NOTE(hallade) we also enable immediate command lists + device scope events
-  // as they improve stability as of intel/llvm sycl-nighly/20220501.
+  // NOTE(hallade) we also disable use of copy engine as it
+  // improves stability as of intel/llvm sycl-nightly/20220529.
   // All these env variable can be set beforehand by end-users and
   // will in that case -not- be overwritten.
 #  ifdef _WIN32
@@ -97,15 +97,13 @@ bool device_oneapi_init()
   if (getenv("SYCL_CACHE_TRESHOLD") == nullptr) {
     _putenv_s("SYCL_CACHE_THRESHOLD", "0");
   }
-  if (getenv("SYCL_PI_LEVEL_ZERO_DEVICE_SCOPE_EVENTS") == nullptr) {
-    _putenv_s("SYCL_PI_LEVEL_ZERO_DEVICE_SCOPE_EVENTS", "0");
-  }
-  if (getenv("SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS") == nullptr) {
-    _putenv_s("SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS", "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");
   }
 #  elif __linux__
   setenv("SYCL_CACHE_PERSISTENT", "1", false);
   setenv("SYCL_CACHE_THRESHOLD", "0", false);
+  setenv("SYCL_PI_LEVEL_ZERO_USE_COPY_ENGINE_FOR_IN_ORDER_QUEUE", "0", false);
 #  endif
 
   return true;



More information about the Bf-blender-cvs mailing list