Solver speed bottlenecks

Hi all, I guess this is more a Calculix question than anything having to do with PrePoMax but they go together.
I am running a series of non-linear cam lock studies (rotating a cam that converts the motion to linear). The model seems to be stable and solves without major issues it takes a good long time. I am forcing the max step size to be 1/10 of the total period so I will get information as it turns which I am sure doesn’t help this.

Anyway I don’t have my normal workstation right now so I am running this on two different laptops, one is a classic ThinkPad and the other is a much higher performance “gamer” Lenovo with an i9 8 physical core processor running at near 4Ghz but with only 32GB of ram (which is crazy to me but I didn’t buy the machine).

The strange thing is that the time to solve the same job is similar between the two computers despite a big difference in processor power. Is RAM the limitation? I am running 4 processors on the old machine and 7 or more on the newer machine (at twice the speed) .

The solve times is significant but not problematic (the better part of a day).

thanks

Luke

1 Like

Which solver do you use - Spooles, PaStiX or Pardiso ?

I think that it would be good to ask this question on the CalculiX forum. There have already been several discussions about performance on that website.

Thanks I will go back to the normal Calculix forum with this question and probably can find something in the archives (I tried general google searches but didn’t find anything)

I am using the default solver (iterative) perhaps I should look at other options.

Luke

Perhaps a quick check would be the hardware first.

For example, have you opened the Task Manager to see where your bottleneck is ? …

Is the analysis running out of memory and writing to your HDD/SSD ?
Is the processor getting too hot and the processor speeds dropping way below 2GHz (common issue with laptops)?
Try reducing number of processors, because perhaps there are bottlenecks with RAM sharing/allocation
Check your processor usage (%) to understand if it has spare capacity

it seems Spooles & PaStiX solver are not to much depend on number of cores. large RAM is recommended rather than number of cores, CPU speed also may increase performances.

in case Intel type processor, you can try select Pardiso solver, may it could give better performances and speed.

fourth generations (Haswell) is a minimum to activated AVX2 features.

1 Like

I know, this is not a PrePoMax issuem but just want to share that the pain is known. Here is using PaStiX waiting for the initial step to start for several minutes. All you can see is that the computer is using a single core to prepare the model/matrix. Once this bottle neck goes through, there are several others in between each calculation.

In this image, you can see that the solver started using all the cores as I set it in the tools menu. But if you look at the history box, you can see that for a few minutes it reverts back to 1 processor at the end of a calculation: