← Back to team overview

yade-users team mailing list archive

Re: [Question #240608]: How to increase the computing scale in YADE

 

Question #240608 on Yade changed:
https://answers.launchpad.net/yade/+question/240608

    Status: Answered => Open

Fu zuoguang is still having a problem:
Dear Bruno Chareyre and Alexander Eulitz [Eugen] and all user:
Your suggestion yesterday helped me a lot and thanks for it. I think that I now can get a part of your advice but not the whole. I have read about [1] and show my own comprehension of it as follows:
(1) Yade-batch-mode has provided all the users a competitive and convenient way to run simultaneously the same mode simulations with the same type but different values of calculation parameters. All these simulations written by Python script consist of just only 2 parts, one of which is called calculation framework part, its role is to define the attributes and processes of simulations. It is always unchanged for the same mode simulations and is just only determined once time. The other is called calculation parameter part, it is the set of all key parameters of simulations. It may be different for different simulations and needs to be determined one time in each of simulation. So, in order to adapt this definition, Yade-batch-mode make it necessary to start running with both ‘.table’ and ‘.py’. Take the example in [1] (I have changed some details of this ‘.table’ for better understanding).

batch.table:

description                    gravity      density  initialVelocity 
reference_case               -9.81         2400         10
high_volocity_case          -9.81         2400         20              
low_volocity_case           -9.81         2400          5
lagre_density_case         -9.81         5000         10
high_volo_case(lgde)      -9.81         5000         20
low_volo_case(lgde)       -9.81         5000          5 

batch.py:

readParamsFromTable(
        gravity=-9.81,
        density=2400,
        initialVelocity=20,
        noTableOk=True     # use default values if not run in batch
)
from yade.params.table import *
print gravity, density, initialVelocity

All the two above are joint together to tell me that:
1. There are 6 simulations for running. (the total number of simulations is defined here, just like what you said)
2. Each simulation may need 3 parameters: gravity(-9.81), density(changeable) and initialVelocity (changeable) and there
are totally 18 parameters in all simulations.
3. All the parameters in batch.table are adopted when all the simulations are ran in Yade-batch-mode, if not, the parameters may be determinded by the default in readParamsFromTable class.
I hope I am right here.

All the simulation details are in '.log' but I can not understand all of
them. Pick out 'batch.py.reference_case.log' as an example. All the
details in it are as follows:

Welcome to Yade 1.07.0-50-d835182~precise 
TCP python prompt on localhost:9000, auth cookie `ckuyea'
Warning: no X rendering available (see https://bbs.archlinux.org/viewtopic.php?id=13189)
XMLRPC info provider on http://localhost:21000
Running script batch.py
-9.81 2400 10
Unhandled exception in thread started by 
sys.excepthook is missing
lost sys.stderr
Unhandled exception in thread started by 
sys.excepthook is missing
lost sys.stderr

=================== JOB SUMMARY ================
id      : reference_case
status  : 0 (OK)
duration: 00:00:00
command : YADE_BATCH=batch.table:2 DISPLAY=  /usr/bin/yadedaily --threads=1 --nice=10 -x batch.py> batch.py.reference_case.log 2>&1
started : Tue Feb 25 10:35:21 2014
finished: Tue Feb 25 10:35:21 2014

I can not understand that:
1. in job summary, command, this task utilizes 1 thread, but what is the meaning of '--nice=10 -x'?
2. in the third row, why does 'Warning: no X rendering available' occur?
3. after running the script, why does 'Unhandled exception in thread started by 
sys.excepthook is missing
lost sys.stderr' occur?

@Alexander Eulitz [Eugen]:
Yesterday, you said to me something about the determination of the total number of jobs and threads assigned for them, these helped me to know how does the command work: 

yadedaily-batch -jN --job-threads=n file.table file.py

In this command, N here means the number of threads that can be assigned to run the simulations and n here means
the number of threads that can be assigned for running 1 simulation. Before this command working, the '.table' may firstly determine the number of total simulations to run, here signed S. There are (N/s) simulations running at the same time until all the simulations, S have finished. I hope I am right here.

I have a large problem to run (particle number is 300000) and yade-standard-mode (just only 1 thread) can hardly bring 
me this chance. My today question is whether or not that my task can run with N threads though some other ways.

Seeking your help!

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.