Make system info reporting number of CPU sockets

This commit is contained in:
2017-08-24 13:52:50 +02:00
parent bdc7bff426
commit f62e0dc31f

View File

@@ -56,6 +56,23 @@ def getBlenderVersion(ctx):
return info
def getNumPhysicalCPUs_Linux():
ids = set()
with open("/proc/cpuinfo") as f:
for line in f.readlines():
if line.startswith("physical id"):
id = int(line.split(":", 1)[1])
ids.add(id)
return len(ids)
def getNumPhysicalCPUs():
if sys.platform == 'linux':
return getNumPhysicalCPUs_Linux()
else:
raise Exception("Needs implementation")
def gatherSystemInfo(ctx):
system_info = {}
system_info['bitness'] = platform.architecture()[0]
@@ -71,6 +88,7 @@ def gatherSystemInfo(ctx):
system_info['cpu_brand'] = cpu_info['brand']
system_info["num_cpu_cores"] = psutil.cpu_count(logical=False)
system_info["num_cpu_threads"] = psutil.cpu_count(logical=True)
system_info["num_cpu_sockets"] = getNumPhysicalCPUs()
system_info['devices'] = _getBlenderDeviceInfo(ctx)
# TODO(sergey): query number of CPUs and threads.
return system_info