Hello Maria,
Am I misinterpreting when I read "num-threads is larger than the value for cores or procs"?
Yes you are indeed misreading. The example I gave was:
./simfactory/bin/sim submit testrun01 --cores 4 --num-threads 2
ie num-thread=2 and cores (which is a synomym for procs) is 4.
The cluster I am using (ThornyFlat) gives me the formula: procs* num-stm = np*num-threads Disregarding simultaneous multithreading (num-stm = 1) and considering np>1, gives procs>num-threads
What I heard at the last ETK meeting was that procs is nr. processes, and it will be divided by the num threads.
No, procs is not the number of processes. It comes from processORs from the time where "processor" and "processor core" was the same thing.
--procs is the number total number of threads to create. The ends up being the same as the number of (logical) cores to use, and (ignoring hyperthreading) the same as the number of physical cores.
See:
http://simfactory.org/info/documentation/userguide/processterminology.html
My advise is usually:
* forget about hyperthreading (at least until you have numbers that indicate to you that for your simulation target you actually see a benefit) * use --cores for the total number of physical cores you want * use --num-threads for the number of threads you want per MPI rank
everything else is complicated / error-prone / dangerous / mostly untested.
Yours, Roland