← Back to team overview

yade-dev team mailing list archive

[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