Cycles: enable oneAPI in Linux release builds

with a very high min-driver version requirement, placeholder until JIT
CentOS runtime compilation issue gets fixed in a defined version.
min-driver version check can be worked around by setting
CYCLES_ONEAPI_ALL_DEVICES environment variable.
This commit is contained in:
Xavier Hallade 2022-07-08 15:33:44 +02:00
parent 5723bf926d
commit 0f50ae131f
Notes: blender-bot 2023-02-14 05:16:25 +01:00
Referenced by commit 003dfae270, Cycles: enable oneAPI in Linux release builds
3 changed files with 6 additions and 3 deletions

View File

@ -71,7 +71,6 @@ if(NOT WIN32)
endif()
if(WIN32)
set(WITH_WASAPI ON CACHE BOOL "" FORCE)
set(WITH_CYCLES_DEVICE_ONEAPI ON CACHE BOOL "" FORCE)
endif()
if(UNIX AND NOT APPLE)
set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE)
@ -92,6 +91,7 @@ if(NOT APPLE)
set(WITH_CYCLES_CUDA_BINARIES ON CACHE BOOL "" FORCE)
set(WITH_CYCLES_CUBIN_COMPILER OFF CACHE BOOL "" FORCE)
set(WITH_CYCLES_HIP_BINARIES ON CACHE BOOL "" FORCE)
set(WITH_CYCLES_DEVICE_ONEAPI ON CACHE BOOL "" FORCE)
# Disable AoT kernels compilations until buildbot can deliver them in a reasonabel time.
set(WITH_CYCLES_ONEAPI_BINARIES OFF CACHE BOOL "" FORCE)

View File

@ -1560,7 +1560,7 @@ class CyclesPreferences(bpy.types.AddonPreferences):
if sys.platform.startswith("win"):
col.label(text="and Windows driver version 101.1660 or newer", icon='BLANK1')
elif sys.platform.startswith("linux"):
col.label(text="and Linux driver version xx.xx.20066 or newer", icon='BLANK1')
col.label(text="and Linux driver version xx.xx.28000 or newer", icon='BLANK1')
elif device_type == 'METAL':
col.label(text="Requires Apple Silicon with macOS 12.2 or newer", icon='BLANK1')
col.label(text="or AMD with macOS 12.3 or newer", icon='BLANK1')

View File

@ -670,7 +670,10 @@ bool oneapi_enqueue_kernel(KernelContext *kernel_context,
}
static const int lowest_supported_driver_version_win = 1011660;
static const int lowest_supported_driver_version_neo = 20066;
/* TODO: once Linux JIT compilation crash from CentOS generated spv is fixed, adjust version below.
* Until then, set CYCLES_ONEAPI_ALL_DEVICES environment variable to avoid getting it filtered out.
*/
static const int lowest_supported_driver_version_neo = 28000;
static int parse_driver_build_version(const sycl::device &device)
{