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.
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.
Mailing list: https://launchpad.net/~yade-dev
Post to : email@example.com
Unsubscribe : https://launchpad.net/~yade-dev
More help : https://help.launchpad.net/ListHelp