Configuration Chooser
Go to file
Guillaume Raffy 9aebde1f0f added support for amd epyc cpus
as a result, concho is now able to handle hpe's amd configurations

- also added the l3 cache attribute on cpus (not used yet but I'm planning to show it in the graphs as l3cache per core affects the performance)
- added the ability to output the figure in a file instead of the screen (will be useful for continuous integration)

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=4015]
2025-03-19 09:23:44 +01:00
catalogs added support for amd epyc cpus 2025-03-19 09:23:44 +01:00
concho added support for amd epyc cpus 2025-03-19 09:23:44 +01:00
tests added support for amd epyc cpus 2025-03-19 09:23:44 +01:00
.gitignore cleanup while remebering how it works, as I will need to make changes 2025-03-14 19:58:41 +01:00
readme.md adapted concho to matplotlib change 2025-03-14 11:23:49 +01:00
setup.py added handler to made concho work with current hpe's website 2025-03-17 11:39:24 +01:00

readme.md

ConCho : Configuration Choser

a tool to help choosing the best quality price ratio for a compute node

usage:

20250314-11:01:15 graffy@graffy-ws2:~/work/concho$ python3 -m venv ./concho.venv
20250314-11:01:56 graffy@graffy-ws2:~/work/concho$ source ./concho.venv/bin/activate
20250314-11:06:25 graffy@graffy-ws2:~/work/concho$ python3 -m pip install --upgrade pip
20250314-11:08:01 graffy@graffy-ws2:~/work/concho$ python3 -m pip install .
Processing /home/graffy/work/concho
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting lxml (from concho==1.0)
  Downloading lxml-5.3.1-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (3.5 kB)
Collecting numpy (from concho==1.0)
  Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
Collecting matplotlib (from concho==1.0)
  Using cached matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.7 kB)
Collecting contourpy>=1.0.1 (from matplotlib->concho==1.0)
  Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.9 kB)
Collecting cycler>=0.10 (from matplotlib->concho==1.0)
  Using cached cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB)
Collecting fonttools>=4.22.0 (from matplotlib->concho==1.0)
  Downloading fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (101 kB)
Collecting kiwisolver>=1.0.1 (from matplotlib->concho==1.0)
  Using cached kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (6.3 kB)
Collecting packaging>=20.0 (from matplotlib->concho==1.0)
  Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pillow>=6.2.0 (from matplotlib->concho==1.0)
  Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (9.2 kB)
Collecting pyparsing>=2.3.1 (from matplotlib->concho==1.0)
  Using cached pyparsing-3.1.4-py3-none-any.whl.metadata (5.1 kB)
Collecting python-dateutil>=2.7 (from matplotlib->concho==1.0)
  Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting importlib-resources>=3.2.0 (from matplotlib->concho==1.0)
  Using cached importlib_resources-6.4.5-py3-none-any.whl.metadata (4.0 kB)
Collecting zipp>=3.1.0 (from importlib-resources>=3.2.0->matplotlib->concho==1.0)
  Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)
Collecting six>=1.5 (from python-dateutil>=2.7->matplotlib->concho==1.0)
  Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Downloading lxml-5.3.1-cp38-cp38-manylinux_2_28_x86_64.whl (5.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 10.5 MB/s eta 0:00:00
Using cached matplotlib-3.7.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (9.2 MB)
Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Using cached contourpy-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301 kB)
Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)
Downloading fonttools-4.56.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 10.9 MB/s eta 0:00:00
Using cached importlib_resources-6.4.5-py3-none-any.whl (36 kB)
Using cached kiwisolver-1.4.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (4.5 MB)
Using cached pyparsing-3.1.4-py3-none-any.whl (104 kB)
Using cached python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)
Building wheels for collected packages: concho
  Building wheel for concho (pyproject.toml) ... done
  Created wheel for concho: filename=concho-1.0-py3-none-any.whl size=22974 sha256=b4aac8f8fb1291bc8ed0d8276e73db5addb2359c5e8b91ac545dacb5f64e74f2
  Stored in directory: /tmp/pip-ephem-wheel-cache-6mltyfm5/wheels/ba/a5/3b/eddc7643efcbc0c17b050873b95310f69a53fe71f591413567
Successfully built concho
Installing collected packages: zipp, six, pyparsing, pillow, packaging, numpy, lxml, kiwisolver, fonttools, cycler, python-dateutil, importlib-resources, contourpy, matplotlib, concho
Successfully installed concho-1.0 contourpy-1.1.1 cycler-0.12.1 fonttools-4.56.0 importlib-resources-6.4.5 kiwisolver-1.4.7 lxml-5.3.1 matplotlib-3.7.5 numpy-1.24.4 packaging-24.2 pillow-10.4.0 pyparsing-3.1.4 python-dateutil-2.9.0.post0 six-1.17.0 zipp-3.20.2
last command status : [0]
20250314-10:57:41 graffy@graffy-ws2:~/work/concho$ PYTHONPATH=. python3 ./tests/test1.py 

intel dynamic frequency scaling

xeon silver 4116

[https://en.wikichip.org/wiki/intel/xeon_silver/4116#Frequencies]

Turbo Frequency/Active Cores

Mode Base 1 2 3 4 5 6 7 8 9 10 11 12
Normal 2,100 MHz 3,000 MHz 3,000 MHz 2,800 MHz 2,800 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,400 MHz 2,400 MHz 2,400 MHz 2,400 MHz
AVX2 1,700 MHz 2,900 MHz 2,900 MHz 2,700 MHz 2,700 MHz 2,400 MHz 2,400 MHz 2,400 MHz 2,400 MHz 2,100 MHz 2,100 MHz 2,100 MHz 2,100 MHz
AVX512 1,100 MHz 1,800 MHz 1,800 MHz 1,600 MHz 1,600 MHz 1,500 MHz 1,500 MHz 1,500 MHz 1,500 MHz 1,400 MHz 1,400 MHz 1,400 MHz 1,400 MHz

xeon gold 6140

[https://en.wikichip.org/wiki/intel/xeon_gold/6140] Turbo Frequency/Active Cores

Mode Base 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Normal 2,300 MHz 3,700 MHz 3,700 MHz 3,500 MHz 3,500 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,100 MHz 3,100 MHz 3,100 MHz 3,100 MHz 3,000 MHz 3,000 MHz
AVX2 1,900 MHz 3,600 MHz 3,600 MHz 3,400 MHz 3,400 MHz 3,300 MHz 3,300 MHz 3,300 MHz 3,300 MHz 3,000 MHz 3,000 MHz 3,000 MHz 3,000 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,600 MHz 2,600 MHz
AVX512 1,500 MHz 3,500 MHz 3,500 MHz 3,300 MHz 3,300 MHz 2,800 MHz 2,800 MHz 2,800 MHz 2,800 MHz 2,400 MHz 2,400 MHz 2,400 MHz 2,400 MHz 2,100 MHz 2,100 MHz 2,100 MHz 2,100 MHz 2,100 MHz 2,100 MHz

xeon gold 6240

[https://en.wikichip.org/wiki/intel/xeon_gold/6240] Turbo Frequency/Active Cores

Mode Base 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Normal 2,600 MHz 3,900 MHz 3,900 MHz 3,700 MHz 3,700 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,300 MHz 3,300 MHz
AVX2 2,000 MHz 3,700 MHz 3,700 MHz 3,500 MHz 3,500 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,200 MHz 3,200 MHz 3,200 MHz 3,200 MHz 2,900 MHz 2,900 MHz 2,900 MHz 2,900 MHz 2,800 MHz 2,800 MHz
AVX512 1,600 MHz 3,700 MHz 3,700 MHz 3,500 MHz 3,500 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 2,900 MHz 2,900 MHz 2,900 MHz 2,900 MHz 2,600 MHz 2,600 MHz 2,600 MHz 2,600 MHz 2,500 MHz 2,400 MHz

xeon gold 6248

[https://en.wikichip.org/wiki/intel/xeon_gold/6248] Turbo Frequency/Active Cores

Mode Base 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Normal 2,500 MHz 3,900 MHz 3,900 MHz 3,700 MHz 3,700 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,600 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,200 MHz 3,200 MHz 3,200 MHz 3,200 MHz
AVX2 1,900 MHz 3,800 MHz 3,800 MHz 3,600 MHz 3,600 MHz 3,500 MHz 3,500 MHz 3,500 MHz 3,500 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,400 MHz 3,000 MHz 3,000 MHz 3,000 MHz 3,000 MHz 2,800 MHz 2,800 MHz 2,800 MHz 2,800 MHz
AVX512 1,600 MHz 3,800 MHz 3,800 MHz 3,600 MHz 3,600 MHz 3,500 MHz 3,500 MHz 3,500 MHz 3,500 MHz 3,000 MHz 3,000 MHz 3,000 MHz 3,000 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,700 MHz 2,500 MHz 2,500 MHz 2,500 MHz 2,500 MHz