# ConCho : Configuration Choser

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

usage:
```console
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  |