RenderKit/oidn

Determine which instruction set is being used

hueyline opened this issue · 5 comments

  • How can I determine which instruction set is being used by OpenImageDenoise when the CPU supports multiple instruction sets (SSE, AVX2, AVX512)?
  • Can I dynamically change the instruction set that is being used?
atafra commented

It's not possible to query the instruction set used or to change it. Why would you need to do these?

Just would like to explore the denoising performance with different instruction sets (e.g. AVX512 vs AMX), in order to determine the extent of the performance boost provided by more advanced instruction sets.

atafra commented

OIDN currently does not (and cannot) support AMX. OIDN always uses the latest available instruction set. For benchmarking I suggest to use oneDNN directly, which OIDN is using on the CPU.

I see. I would like to learn from you. As I understand it, the ray tracing filter is based on CNN models. Theoretically, if OIDN supports AMX, the denoising performance should be improved, right?

atafra commented

Yes, if AMX would support FP16, OIDN could use it, and performance would be better.