[ET Trac] [Einstein Toolkit] #2059: SimFactory should detect the number of cores automatically
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Wed Sep 6 15:48:19 CDT 2017
#2059: SimFactory should detect the number of cores automatically
--------------------------+-------------------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: review
Priority: minor | Milestone:
Component: SimFactory | Version: development version
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by rhaas):
Hello Steve,
no problem about the branch, just so long as I looked at the correct one.
Sorry got sidetracked. I guess given that we are more likely to find a i5
or so on a laptop than a AMD Istanbul processor and that we normally
ignore hyperthreading cores, one should *not* after all take BW as the
example but rather the latp.
So maybe the thing to do would be to take "Core(s) per socket" as the
"num-threads" value which should be a useful number of threads per NUMA
domain, then make ppn equal to "CPU(s)" and also make max-num-threads
equal to that number.
This will mean that simfactory by default will use "Core(s) per socket"
threads per MPI rank and allow you to use all the cores on a machine
(either by spawning enough MPI ranks which is limited by ppn or by setting
--num-threads to max-num-threads).
In the code this would be achieved by:
{{{
NumberOfCores = CoresPerSocket
NumberOfThreads = ThreadsPerCore*CoresPerSocket*Sockets
}}}
which are still confusing names.
I pushed two changes into your branch. One that implements those formulae
and one that uses subprocess.Popen (available since python 2.4 so safe to
use) instead of os.popen to capture both stdout and stderr. I cannot use
simfactory's simlib.ExecuteCommand (which would be preferred) since that
one requires a valid machine definition file.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/2059#comment:15>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list