Cycles: Show device optimizations status in preferences for oneAPI

With these changes, we can now mark devices which are expected to work as
performant as possible, and devices which were not optimized for some reason.

For example, because the device was released after the Blender release,
making it impossible for developers to optimize for devices in already
released unchangeable code. This is primarily relevant for the LTS versions,
which are supported for two years and require proper communication about
optimization status for the new devices released during this time.

This is implemented for oneAPI devices. Other device types currently are
marked as optimized for compatibility with old behavior, but may implement
the same in the future.

Pull Request: https://projects.blender.org/blender/blender/pulls/139751
This commit is contained in:
Nikita Sirgienko
2025-06-03 20:07:52 +02:00
committed by Brecht Van Lommel
parent 6805385cbe
commit 69091c5028
8 changed files with 119 additions and 19 deletions

View File

@@ -740,6 +740,8 @@ This option is only for debugging purposes."
# https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compilation/ahead-of-time-compilation.html
# The supported devices can be retrieved from `ocloc` output when running
# `ocloc compile --help`.
# If you have completed optimization work and now want to enable AoT for new Intel devices,
# update the optimization status in OneapiDevice::architecture_information.
set(CYCLES_ONEAPI_INTEL_BINARIES_ARCH dg2 mtl lnl bmg CACHE STRING "\
oneAPI Intel GPU architectures to build binaries for"
)