Skip to content

Commit 3361594

Browse files
committed
update generate_spec (vendor, processor, chips, freq)
Signed-off-by: Sunyanan Choochotkaew <[email protected]>
1 parent 45212bd commit 3361594

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

dockerfiles/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ xgboost==2.0.1
1212
scikit-learn==1.1.2
1313
py-cpuinfo==9.0.0
1414
seaborn==0.12.2
15-
psutil==5.9.8
15+
psutil==5.9.8
16+
pyudev==0.24.1

src/train/profiler/node_type_index.py

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,44 @@ def rename(name):
3333
return name
3434

3535
def format_processor(processor):
36-
return "_".join(re.sub(r'\(.*\)', '', rename(processor)).split()).replace("-", "_").replace("V", "v").replace("_v", "v")
36+
return "_".join(re.sub(r'\(.*\)', '', rename(processor)).split()).replace("-", "_").lower().replace("_v", "v")
37+
38+
def format_vendor(vendor):
39+
return vendor.split()[0].replace("-","_").replace(",","").replace("'","").lower()
3740

3841
GB = 1024*1024*1024
3942
import psutil
4043
import cpuinfo
44+
import subprocess
45+
46+
import pyudev
47+
4148
def generate_spec(data_path, machine_id):
42-
processor = "unknown"
49+
processor = ""
50+
vendor = ""
4351
cpu_info = cpuinfo.get_cpu_info()
4452
if "brand_raw" in cpu_info:
4553
processor = format_processor(cpu_info["brand_raw"])
54+
context = pyudev.Context()
55+
for device in context.list_devices(subsystem="dmi"):
56+
if device.get('ID_VENDOR') is not None:
57+
vendor = format_vendor(device.get('ID_VENDOR'))
58+
break
4659
cores = psutil.cpu_count(logical=True)
47-
chips = int(cores/psutil.cpu_count(logical=False))
60+
chips = max(1, int(subprocess.check_output('cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l', shell=True)))
61+
threads_per_core = max(1, cores//psutil.cpu_count(logical=False))
4862
memory = psutil.virtual_memory().total
4963
memory_gb = int(memory/GB)
50-
cpu_freq_mhz = round(psutil.cpu_freq(percpu=False).max/100)*100 # round to one decimal of GHz
64+
freq = psutil.cpu_freq(percpu=False)
65+
cpu_freq_mhz = round(max(freq.max, freq.current)/100)*100 # round to one decimal of GHz
5166
spec_values = {
67+
"vendor": vendor,
5268
"processor": processor,
5369
"cores": cores,
5470
"chips": chips,
5571
"memory_gb": memory_gb,
56-
"cpu_freq_mhz": cpu_freq_mhz
72+
"cpu_freq_mhz": cpu_freq_mhz,
73+
"threads_per_core": threads_per_core
5774
}
5875
spec = NodeTypeSpec(**spec_values)
5976
print("Save machine spec ({}): ".format(data_path))

0 commit comments

Comments
 (0)