SingularSpectrumAnalysis and CPU load

SSA does a good job of extracting trend and seasonality from a time series. However widening the window on a large dataset puts quite a load on my CPU (GPU is too old to contribute to calculation in Julia) heats up my CPU quite noticeably. A window of 20 on a data series of 20000 goes quite nicely and finishes without stressing the CPU, but 200 and particularly 2000 window puts a strain on my old i5-4460. So I use watch with sensors and kill the process if it gets too hot.

Flux has a useful callback feature in the train! function which permits building in a check for a hot CPU which is very useful to ensure that you keep the state intact. Ensuring that data is in Float32 format also helps.

I recently renewed the paste on the processor and reseated the fan so I know that is good, and I don’t want to limit the assigned cores; what other measures possible to keep from melting down?

Your cpu should really handle that by itself by throttling when it gets too hot. Have you overclocked the cpu or something?

No, I have not deliberately overclocked the CPU, but I am possibly being over-careful. “sensors” reports that 80C is hot and critical is 100C+, so I start to worry when the CPU goes above 70. Indeed the CPU will shut itself down at the critical level but I don’t really want a disorderly shutdown, I just need to get to the end of the epoch or loop by allowing the CPU to cool for a while and then continue. And then there is the matter of speeding the eventual failure of the CPU by running it hot.

I don’t think you need to worry about the temperature then, the cpu will reduce its clock frequency to keep the temperature below critical, I’ve never experienced a fatal error due to overheating of a modern cpu.