Corona itself does not use any AVX at all. The highest we use is SSE4. We're using the
F16C instruction set when available, which can technically be considered a part of AVX and TBH I have no idea if just using this might cause the CPU to switch to the AVX clock or not. But we use these instructions only during rendering, not when computing denoising.
We do however have some dependencies which use AVX:
- Embree uses AVX and AVX2 when available. We can turn this off if needed.
- The runtime library of the compiler we're using uses AVX(2) for the implementation of some functionality. This is something that is completely outside of our control.
That being said, like Juraj already noted, no AMD CPU at this point supports AVX-512 and we cannot execute instructions which are not supported by the CPU. So even if we had some AVX-512 code, all that could ever cause on an AMD CPU would be to immediately crash Corona due to executing an unknown/unsupported instruction.
The denoising is probably the only part of Corona which is not limited by memory accesses and therefore really utilizes the CPU as much as possible - from our
CPU FAQ:
Why is my CPU temperature higher/fan louder during the denoising compared to the rendering?
The memory access pattern of the rendering code is very random - for example, each ray may hit a completely different object. This makes it very hard for the CPU to predict which parts of the memory will be accessed next, and in the end the CPU ends up waiting for data to be fetched from memory most of the time.
When the image is denoised, it is accessed sequentially one pixel at a time. Also the processing of each pixel takes long enough so that the CPU is able to read the next pixel from memory before it is needed. This is a best case scenario for the CPU - it does not have to wait for memory, and the execution units are (almost) fully utilized.
When the execution units sit idle waiting for memory, the CPU is able to optimize its energy consumption (and therefore heat generation), but when the denoising kicks in, the CPU units are kept busy all the time and so the temperature goes up.
So the most probably culprit is just an unstable overclocked configuration, which runs just fine until the CPU is under heavy load.