RenderKit / oidn

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

Release does not work because of submodule #81

Closed mboisson closed 4 years ago

mboisson commented 4 years ago

Hi, I'm trying to install OIDN through the source code release (version 1.2.2). It fails with error :

CMake Error: File /tmp/mboisson/avx2/OpenImageDenoise/1.2.2/GCC-9.3.0/oidn-1.2.2/mkl-dnn/include/dnnl_config.h.in does not exist.

Now, I gather that this is broken because you are using a git submodule, but we want to compile a fixed and reproducible release on our clusters, so git clones and submodules are less than ideal.

Is there any way to specify our locally installed version of MKL-DNN instead of relying on a submodule?

atafra commented 4 years ago

No, it's not possible to use a locally installed version of MKL-DNN. Open Image Denoise must be compiled with the fork of MKL-DNN it ships with.

Unfortunately we can't fix (or remove) the GitHub-generated source packages because currently there's no way to include submodules. However, that is why we provide our own custom source packages, which contain the full source code, including the submodules. Please use these packages, which are available on the website and the GitHub release pages.

mboisson commented 4 years ago

Well that's a recipe for conflicts in the future... :/

atafra commented 4 years ago

What conflicts do you mean?

mboisson commented 4 years ago

With another MKL-DNN installed on the same system...

atafra commented 4 years ago

There cannot be any conflicts with another MKL-DNN installed on the same system, neither at build time, nor at runtime. Open Image Denoise always builds its own fork of MKL-DNN statically and never looks for other versions of it. The library's usage of MKL-DNN is completely internal, and the user does not even have to be aware of this.