Fix T85779: Cycles not using all threads when using OpenImageDenoise

The thread affinity setting in OIDN can break multithreading on some CPUs.
While this leads to somewhat worse performance on CPUs that do work correctly,
it's better than having some CPUs use only half the cores.
This commit is contained in:
Brecht Van Lommel 2021-10-19 11:37:28 +02:00
parent d6b54068d4
commit abc3128011
2 changed files with 2 additions and 0 deletions

@ -169,6 +169,7 @@ class OIDNDenoiseContext {
OIDNPass oidn_color_access_pass = read_input_pass(oidn_color_pass, oidn_output_pass);
oidn::DeviceRef oidn_device = oidn::newDevice();
oidn_device.set("setAffinity", false);
oidn_device.commit();
/* Create a filter for denoising a beauty (color) image using prefiltered auxiliary images too.

@ -64,6 +64,7 @@ class DenoiseFilter {
BLI_mutex_lock(&oidn_lock);
device = oidn::newDevice();
device.set("setAffinity", false);
device.commit();
filter = device.newFilter("RT");
initialized_ = true;