RenderKit / oidn

Intel® Open Image Denoise library
https://www.openimagedenoise.org/
Apache License 2.0
1.78k stars 164 forks source link

please clarify which DNN to use #80

Closed akarcode closed 4 years ago

akarcode commented 4 years ago

hi, i've been trying to compile this on windows for hours without luck. always getting errors on the DNN files.

i've tried: oneDNN v1.3 oneDNN v1.4 oneDNN v1.5 oneDNN v1.5.1 oneDNN v1.6-rc mkl-dnn-oidn

also on the oneDNN v1.5 release the jit_generator.hpp has been move into a /x64/ folder. the /core/common.h path needs to be updated.

most luck i had with oneDNN v1.5.1 and OIDN v1.2.2 but i get these errors towards the end:

1>C:\compile\oidn-1.2.2\core\device.cpp(13,18): error C2065: 'sse41': undeclared identifier
1>C:\compile\oidn-1.2.2\core\device.cpp(13,10): error C3861: 'mayiuse': identifier not found
1>C:\compile\oidn-1.2.2\core\device.cpp(204,17): error C2065: 'sse41': undeclared identifier
1>C:\compile\oidn-1.2.2\core\device.cpp(204,9): error C3861: 'mayiuse': identifier not found
1>C:\compile\oidn-1.2.2\core\device.cpp(205,17): error C2065: 'avx2': undeclared identifier
1>C:\compile\oidn-1.2.2\core\device.cpp(205,9): error C3861: 'mayiuse': identifier not found
1>C:\compile\oidn-1.2.2\core\device.cpp(206,17): error C2065: 'avx512_core': undeclared identifier
1>C:\compile\oidn-1.2.2\core\device.cpp(206,9): error C3861: 'mayiuse': identifier not found
1>C:\compile\oidn-1.2.2\core\network.cpp(16,17): error C2065: 'avx512_core': undeclared identifier
1>C:\compile\oidn-1.2.2\core\network.cpp(16,9): error C3861: 'mayiuse': identifier not found
1>C:\compile\oidn-1.2.2\core\unet.cpp(177,42): error C2065: 'avx512_core': undeclared identifier
1>C:\compile\oidn-1.2.2\core\unet.cpp(177,34): error C3861: 'mayiuse': identifier not found

thanks for any help.

atafra commented 4 years ago

Hi! The solution is to simply use the oneDNN fork that ships with the Open Image Denoise source code. You don't have to manually download or install anything but please make sure that you cloned the oidn repository correctly as described in the documentation (or you could just use the source tarball). Other, official versions of oneDNN don't work with Open Image Denoise anyway.

akarcode commented 4 years ago

thanks for the answer atafra. learning something new every day :)