EnergyPlus simulation runtime - CPU performance
Hi,
I have difficulty finding the root cause and resolving the following issue. Any help would be appreciated. I am running the same EnergyPlus model on 2 separate machines (laptop and desktop) with different CPUs and the simulation runtime is 3x longer on a laptop.
Desktop CPU: AMD Ryzen 9 3900X Runtime: 10 min
Laptop CPU: i5-1235U Runtime: 27 min
My understanding of the issue is the following: Because the difference is so large and the synthetic single-thread benchmarks say the opposite about the performance… I don’t think the issue is related to CPU peak performance. https://www.topcpu.net/en/cpu-c/Intel...
I think it has more to do with software, meaning how the EP engine or CPU drivers are asking or controlling the CPUs frequency. Although the CPU peak performance may be similar.. laptops bottom performance is lower, laptops CPUs can be at 0.8 GHz rather than using the available 4.0 Ghz. EnergyPlus in laptops can’t ask for higher frequency to boost performance, so the CPUs have lower utilisation, and desktops don’t have any battery mode settings that optimise the battery use over performance.
I am not 100% sure if this is the correct diagnosis nor how can I force the CPU to boost the frequency.
Again, any help would be appreciated.
I need to test the CPU core temperatures. Maybe it is throttling, so the CPU driver lowers the frequency and voltage to decrease the temps...
Are you requesting a lot of output variables / detailed timestep? I/O file operations can be a culprit (like writting to the ESO / SQL files), eg if one has a faster SSD and the other a regular HDD. Check RAM usage too. Make sure you set your laptop to "performance" mode (not power optimization) too. What operating system do you use on both?
"desktops don’t have any battery mode settings that optimise the battery use over performance". That's not true, in the sense that it does have settings for CPU power consumption (though obviously not related to battery). For eg: On my Ubuntu Linux with a Ryzen 1800X, I can use
cpupower frequency-set --governor performance
to switch the profile used (and it is NOT the default)