[ET Trac] [Einstein Toolkit] #2059: SimFactory should detect the number of cores automatically
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Tue Sep 5 10:06:08 CDT 2017
#2059: SimFactory should detect the number of cores automatically
--------------------------+-------------------------------------------------
Reporter: hinder | Owner:
Type: enhancement | Status: reopened
Priority: minor | Milestone:
Component: SimFactory | Version: development version
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by rhaas):
This outputs a warning from popen "sh: 1: lscpu: not found" which is too
low-level. It's warning output is also done using {{{warning("")}}} to
bracket things. This should not be done as the empty warnings are logged.
It uses the "Core(s) per socket" value to set ppn which is incorrect since
ppn is the number of cores by compute node (not NUMA node, ie socket).
It would also be useful to set the default number of threads to the number
of cores per NUMA domain. lscpu is not quite consistent in its naming, eg
on a BW compute node (2 physical sockets, 4 numa domains, 32 cores eg in
/proc/cpuinfo) it gives:
{{{
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 4
Vendor ID: AuthenticAMD
CPU family: 21
Model: 1
Stepping: 2
CPU MHz: 2300.000
BogoMIPS: 4599.95
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 64K
L2 cache: 2048K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
NUMA node1 CPU(s): 8-15
NUMA node2 CPU(s): 16-23
NUMA node3 CPU(s): 24-31
}}}
ie "Core(s) per socket" is the number of cores per NUMA domain but
"Core(s) per socket" * "Socket(s)" is not equal to "CPU(s)". Instead one
has to take the "Thread(s) per core" number into account (makes sense, the
CPUs use a kind of hyperthreading).
So
* ppn is set incorrectly
* should set num-threads
* have to handle hyper-threading cpus
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/2059#comment:7>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list