Thank you for the update. I appreciate it. And I totally understand about running proprietary code/software on proprietary data that you can’t really describe in any sort of a public forum.
Not a problem.
(I’m used to that myself.)
At least that the MJS IS yielding a benefit for you, so that’s encouraging.
As for the hypothesis re: memory temps without any direct or indirect insight to said memory temps – the simple, jerry-rig test is to lay the system down on its side and then put two 40 mm or 60 mm fans on it (or whatever you have available) and see if that helps improve the performance.
If it does – then that’s at least a PART of the answer.
That’s the fastest way to test it if you don’t have like a thermal camera available/accessible if the software doesn’t/can’t report the memory temps.
The other thing that you might also test (just for an A-to-B comparison) is try running the system with the side panel off (assuming that the Dell’s chassis intrusion sensor does not prohibit you from starting the system when the side cover is off. I vaguely remember some older systems will NOT let you power on the system if the cover is off, so I am not sure if the Dell would be like that or not).
But again – a relatively “short and simple” test that you can run.
And if a 40 mm or 60 mm fan on the memory doesn’t work, then you can also find a USB powered desk fan and just point it at the memory and see if that helps.
It is entirely possible that it can be a part of the issue.
I don’t have personal experience with Threadrippers so unfortunately, I can’t provide any more direct nor specific guidance beyond this.
But give that a shot and see what works and what doesn’t for you.
P.S.
I forget if there are like memory management tools that you can try and see if you can monitor what’s going on with the RAM (i.e. how much data is being written to it vs. how much data is being read from it and at what rate).
If there are tools like that available, maybe that’s another option as well.
(similar to iotop, but that’s for hard drives/SSDs in Linux – but like iotop for RAM.)
I don’t know of what it might be called for Windows, but if you can get some information like that – that might also help as well.
The other thing too is given what appears to be exponential growth in time where time(O(n^alpha)) – I don’t know if you’re able to run multiple tests, plot it, and then run a polynominal, exponential, or logarithmic regression through it to calculate alpha.
I know, for example, that for the Gauss linear algebra solver with partial pivoting (e.g. MATLAB’s left divide), the time that it takes IIRC, is something like O(n^3).
So…without knowing your code nor your data set – just looking at time vs. # of generations, and doing a super quick plot of that – it looks like that it has an exponential curve to it.
So whether the E(X) = O(n^~1) (linear or nearly/quasi-linear) – again – without knowing your code nor data – I would inquire about what are the conditions where E(X) = O(n^~1) is true.