yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #08538
[Bug 987164] Re: bug with multithreading
I found a way to get it in a stable condition with calm() function.
After that no calm function is active and the model behaves like this,
when running it three times (100k steps):
me@debian ~/YADE/my-yade-projects/09-converted-PFC-model >yadetest -j2 test.py
<skip>
actual porosity: 45.478219 percent, time step is 6.952821e-08
ball with id 52 has maximum velocity of 8.949591e-04
unbalanced force: 0.105333
actual porosity: 45.478214 percent, time step is 7.086720e-08
ball with id 569 has maximum velocity of 2.067789e-04
unbalanced force: 0.007260
exit()
Do you really want to exit ([y]/n)?
me@debian ~/YADE/my-yade-projects/09-converted-PFC-model >yadetest -j2 test.py
<skip>
actual porosity: 45.478219 percent, time step is 6.946380e-08
ball with id 52 has maximum velocity of 8.448021e-04
unbalanced force: 0.104514
actual porosity: 45.478214 percent, time step is 7.089416e-08
ball with id 569 has maximum velocity of 1.872520e-04
unbalanced force: 0.005917
exit()
Do you really want to exit ([y]/n)?
me@debian ~/YADE/my-yade-projects/09-converted-PFC-model >yadetest -j2 test.py
<skip>
actual porosity: 45.478220 percent, time step is 6.947337e-08
ball with id 52 has maximum velocity of 8.661632e-04
unbalanced force: 0.106689
actual porosity: 45.478214 percent, time step is 7.084662e-08
ball with id 569 has maximum velocity of 2.275644e-04
unbalanced force: 0.007067
Is this acceptable rate of indeterminism? I see there are unexpected high differences.
It is always stable this time.
--
You received this bug notification because you are a member of Yade
developers, which is the registrant for Yade.
https://bugs.launchpad.net/bugs/987164
Title:
bug with multithreading
Status in Yet Another Dynamic Engine:
Invalid
Bug description:
This bug is related to a question:
https://answers.launchpad.net/yade/+question/191904
Using multi-threading option in yade leads to instabilities, that are caused by indeterminism.
To reproduce the bug, download attached file, extract and run 1-generation.py. You will get a save-file called save1-test.yade. With this file run 2-relaxation.py and wait until its ready (will take a few minutes, be patient).
Then a new save file called save2-test.yade will be created. With this save file you can run 3-settling.py to reproduce the bug, see below:
1.) run on 1 core:
me@debian ~/YADE/my-yade-projects/multi-threading-bug >yade 3-settling.py
Welcome to Yade unknown
TCP python prompt on localhost:9001, auth cookie `sauces'
XMLRPC info provider on http://localhost:21001
Running script 3-settling.py
actual porosity: 46.090125 percent
ball with id 2 has maximum velocity of 0.002235
actual porosity: 41.579271 percent
ball with id 7 has maximum velocity of 0.354973
actual porosity: 42.846368 percent
ball with id 3 has maximum velocity of 0.180586
Yade: normal exit.
Beendet
2.) run on more cores:
me@debian ~/YADE/my-yade-projects/multi-threading-bug >yade -j4 3-settling.py
Welcome to Yade unknown
TCP python prompt on localhost:9001, auth cookie `ekcdsa'
XMLRPC info provider on http://localhost:21001
Running script 3-settling.py
actual porosity: 46.090125 percent
ball with id 2 has maximum velocity of 0.002235
actual porosity: 43.217713 percent
ball with id 0 has maximum velocity of 0.103208
actual porosity: 43.106072 percent
ball with id 20 has maximum velocity of 0.164024
Yade: normal exit.
Beendet
2.) run on more cores again, until instability occurs:
me@debian ~/YADE/my-yade-projects/multi-threading-bug >yade -j4 3-settling.py
Welcome to Yade unknown
TCP python prompt on localhost:9000, auth cookie `ssacue'
XMLRPC info provider on http://localhost:21000
Running script 3-settling.py
actual porosity: 46.090125 percent
ball with id 2 has maximum velocity of 0.002235
actual porosity: 42.783835 percent
ball with id 5 has maximum velocity of 0.170237
actual porosity: 57.019197 percent !!!!!!!!!!!!!!!BUG LEADS TO INSTABILITY OF THE MODEL HERE !!!!!!!!!!!
ball with id 10 has maximum velocity of 3.735641
pure virtual method called
terminate called without an active exception
Abgebrochen
To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/987164/+subscriptions
References