I was wondering if anyone here could help me out with a fan issue I'm having.
You want a smooth Fan curve and often the BIOS settings are beyond bad for that. Fan control in the BIOS is always limited. Although
according to this post you have in your MSI Bios more advanced settings, MSI provides a companion APP, the MSI Command Center, where you can set a proper fan curve, which you can download
here. Personally I recommend SpeedFan for that, as it is the pinnacle of Fan control software both in it's lightweight nature and detailed control. Unfortunately younger Motherboards changed the way they do FanControl and SpeedFan, which is not in active development does not detect the fan controls, but you can give it a try. Sadly you don't get direct access to fans anymore, a regression from previous generations of Motherboards. I'm sad to have to chose between the Heavyweight Asus AI Suite and proper fan control that doesn't suck on my workstation. All these new softwares STILL can't do exponential fan curves, like SpeedFan does for so long... Locking fan control behind OEM Software is such a disaster....
As for why specifically Denoise makes heat and thus heavy noise...
As stated in the CPU FAQ Thread, Denoise created something of a perfect stresstest.
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.
Also it's heavy on the FPU, which is a nice heater element for the colder months.
actually the rendering itself is much more ALU/general instructions heavy than denoising, denoising is hardcore FPU stuff. I think it has more to do with the fact that there are no cache misses and branch mispredictions in denoising, since the workload is fairly simple and predictable. CPU does not have to wait for pipeline to repopulate after branch misprediction, or for data to be loaded from RAM, so the FPUs are utilized much better.