← Back to team overview

yade-dev team mailing list archive

Re: Odp: Re: Yade for LTS Ubuntu 18.04

 

Hi Robert,
Congrats for finding the bug and thanks for fixing.

On 02/13/2018 11:55 PM, Robert Caulk wrote:
the issue was compiler related. GCC 5.4 on ubuntu 16.04 initialized factorizeOnly to false by default, while GCC 7.2 on ubuntu 18.04 did not do this.

That's a good example of "undefined" behavior when using non-initialized variables... Definitely a nasty bug.

Therefore, the only necessary change ended up being the explicit initialization of factorizeOnly=false.
Indeed. :)

In addition to the bug fix, I edited the solvers so flow.useSolvers=3 and 4 can now be used with the default CPU build. I can confirm that flow.useSolver=4 enables multicore CPU factorization, while flow.useSolver=3 sticks to 1 core factorization :-).

Excellent. FYI multicore CPU factorization was faster than single core in my benchmarks, but multicore solve phase (using the factorized form) was not, it was even a bit slower than single core. Hence the distinct attributes  numFactorizeThreads and numSolveThreads.
Cheers

Bruno




Follow ups

References