[Users] failed build on local mac osx yosemite [POSSIBLE SOLUTION TO THE PROBLEM]

Ian Hinder ian.hinder at aei.mpg.de
Tue May 26 09:19:42 CDT 2015


On 26 May 2015, at 16:03, Comer Duncan <comer.duncan at gmail.com> wrote:

> Hi Ian,
> 
> You asked: "By the way, which tutorial or example are you following?"
> 
> 
> I forgot to answer this.  I am using the one at https://docs.einsteintoolkit.org/et-docs/Tutorial_for_New_Users.
> 
> Also yesterday I ran the static_tov test using all four cores and the test ran a little faster than it ran without explicit mention of the number of cores per node. Here is the explicity usage:
> 
> ./simfactory/bin/sim submit static_tov --parfile=par/static_tov.par --procs=1 --ppn-used=4 --walltime=16:0:0
> 
> DId I use the options appropriately?
> 
> Thanks again for your help.

No :)  The terminology for cores etc is very confusing.  --procs indicates the number of threads you want to run in TOTAL, which is usually equal to the number of cores you want to use.  So if you want to run on all four cores, you should use --procs 4.  You may have to also use --ppn-used, as you have, if your machine definition doesn't match your hardware; I'm not sure how intelligent the setup procedure is.  Assuming you have a quad-core single-processor machine, you probably want to have

ppn             = 4  # cores per node
max-num-threads = 4 # maximum number of threads per process
num-threads     = 1 # default number of threads per process
nodes           = 1

in your machine.ini file.  This should allow you to run on either 1, 2, 3 or 4 processes, in each case using only a single thread, using just --procs N without needing to specify ppn-used.  If you want to use OpenMP (multiple threads per process), you will still keep --procs as the total number of cores/threads to use, but specify --num-threads as the number of threads per process. So for example, --procs 4 --num-threads 2 would give you 4 cores/threads, divided between 2 processes each with 2 threads.  

If you want to allow "oversubscription", i.e. pretend that you have more cores than you really do, which is needed in some cases if you want to force a larger number of MPI processes, you can set nodes = 10 or something.

This is explained carefully at http://simfactory.org/info/documentation/userguide/processterminology.html.

-- 
Ian Hinder
http://members.aei.mpg.de/ianhin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20150526/b3b48aad/attachment.html 


More information about the Users mailing list