# Solver speed bottlenecks

**URL:** <https://prepomax.discourse.group/t/solver-speed-bottlenecks/330>\
**Category:** General Questions\
**Created:** [July 29, 2022, 1:39pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330 "2022-07-29T13:39:40Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![lukerickert](https://avatars.discourse-cdn.com/v4/letter/l/53a042/32.png) [@lukerickert](https://prepomax.discourse.group/u/lukerickert)\
**Post date:** [July 29, 2022, 1:39pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/1 "2022-07-29T13:39:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![FEAnalyst](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/feanalyst/32/688_2.png) [@FEAnalyst](https://prepomax.discourse.group/u/FEAnalyst)\
**Post date:** [July 29, 2022, 1:46pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/2 "2022-07-29T13:46:05Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lukerickert](https://avatars.discourse-cdn.com/v4/letter/l/53a042/32.png) [@lukerickert](https://prepomax.discourse.group/u/lukerickert)\
**Post date:** [July 30, 2022, 7:49am UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/3 "2022-07-30T07:49:55Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![arnie](https://avatars.discourse-cdn.com/v4/letter/a/ba9def/32.png) [@arnie](https://prepomax.discourse.group/u/arnie)\
**Post date:** [July 30, 2022, 8:06am UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/4 "2022-07-30T08:06:39Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![synt](https://yyz2.discourse-cdn.com/free1/user_avatar/prepomax.discourse.group/synt/32/4658_2.png) [@synt](https://prepomax.discourse.group/u/synt)\
**Post date:** [July 30, 2022, 1:08pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/5 "2022-07-30T13:08:44Z")

</div>

> [@lukerickert](#):
>
> I am using the default solver (iterative) perhaps I should look at other options.

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.

---

<div class="post-metadata">

**Author:** ![imgprojts](https://avatars.discourse-cdn.com/v4/letter/i/258eb7/32.png) [@imgprojts](https://prepomax.discourse.group/u/imgprojts)\
**Post date:** [October 25, 2022, 7:55pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/6 "2022-10-25T19:55:26Z")

</div>

> [@synt](#):
>
> e 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.

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.

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/9f4a7e1f0a11cfb5d8403dfdf01ac222e8a6cb1f.png)

---

<div class="post-metadata">

**Author:** ![imgprojts](https://avatars.discourse-cdn.com/v4/letter/i/258eb7/32.png) [@imgprojts](https://prepomax.discourse.group/u/imgprojts)\
**Post date:** [October 25, 2022, 8:10pm UTC](https://prepomax.discourse.group/t/solver-speed-bottlenecks/330/7 "2022-10-25T20:10:59Z")

</div>

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:

 ![image](https://global.discourse-cdn.com/free1/uploads/prepomax/original/1X/1561e5f112dc8e3e80a428f0bedec73ceefd746e.png)
