# SingularSpectrumAnalysis and CPU load

**URL:** <https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212>\
**Category:** Machine Learning\
**Tags:** time-series\
**Created:** [January 12, 2021, 2:39pm UTC](https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212 "2021-01-12T14:39:53Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin\_Beckingham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/colin_beckingham/32/4878_2.png) [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Post date:** [January 12, 2021, 2:39pm UTC](https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212/1 "2021-01-12T14:39:53Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [January 12, 2021, 5:48pm UTC](https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212/2 "2021-01-12T17:48:51Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Colin\_Beckingham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/colin_beckingham/32/4878_2.png) [@Colin\_Beckingham](https://discourse.julialang.org/u/Colin_Beckingham)\
**Post date:** [January 12, 2021, 5:58pm UTC](https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212/3 "2021-01-12T17:58:59Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [January 12, 2021, 6:09pm UTC](https://discourse.julialang.org/t/singularspectrumanalysis-and-cpu-load/53212/4 "2021-01-12T18:09:21Z")

</div>

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.
