Cycles: fix and enable JIT oneAPI CentOS7 builds for drivers 23570+
The current specific CentOS7 workaround we have for AoT, which is to disable __FAST_MATH__ by using -fhonor-nans, now also fixes the compilation issue for JIT as well since at least driver 23570.
This commit is contained in:
parent
4a445c8dc0
commit
47dd42485e
|
@ -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.28000 or newer", icon='BLANK1')
|
||||
col.label(text="and Linux driver version xx.xx.23570 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')
|
||||
|
|
|
@ -844,10 +844,9 @@ if(WITH_CYCLES_DEVICE_ONEAPI)
|
|||
else()
|
||||
list(APPEND sycl_compiler_flags -fPIC)
|
||||
|
||||
# avoid getting __FAST_MATH__ to be defined for the graphics compiler on CentOS 7 until the compile-time issue it triggers gets fixed.
|
||||
if(WITH_CYCLES_ONEAPI_BINARIES)
|
||||
list(APPEND sycl_compiler_flags -fhonor-nans)
|
||||
endif()
|
||||
# We avoid getting __FAST_MATH__ to be defined when building on CentOS 7 until the compilation crash
|
||||
# it triggers at either AoT or JIT stages gets fixed.
|
||||
list(APPEND sycl_compiler_flags -fhonor-nans)
|
||||
|
||||
# add $ORIGIN to cycles_kernel_oneapi.so rpath so libsycl.so and
|
||||
# libpi_level_zero.so can be placed next to it and get found.
|
||||
|
|
|
@ -670,10 +670,7 @@ bool oneapi_enqueue_kernel(KernelContext *kernel_context,
|
|||
}
|
||||
|
||||
static const int lowest_supported_driver_version_win = 1011660;
|
||||
/* 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 const int lowest_supported_driver_version_neo = 23570;
|
||||
|
||||
static int parse_driver_build_version(const sycl::device &device)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue