made the results a bit more accurate by taking into account the dynamic frequency scaling (the frequency of some cpu is running at lower frequency when executing avx512 instructions)
This commit is contained in:
parent
76c26b99bc
commit
0a59fd5f23
|
@ -375,7 +375,19 @@ class Config():
|
||||||
|
|
||||||
def get_flops(self):
|
def get_flops(self):
|
||||||
# print('%d servers * %d cpu %s * %d cores @ %f (%d flops/cycle)' % (self.num_servers, self.num_cpu_per_server, str(self.cpu.uid), self.cpu.num_cores, self.cpu.clock, self.cpu.num_dp_flop_per_cycle))
|
# print('%d servers * %d cpu %s * %d cores @ %f (%d flops/cycle)' % (self.num_servers, self.num_cpu_per_server, str(self.cpu.uid), self.cpu.num_cores, self.cpu.clock, self.cpu.num_dp_flop_per_cycle))
|
||||||
flops = self.cpu.num_dp_flop_per_cycle * self.cpu.clock * 1.e9 * self.cpu.num_cores * self.num_cpu_per_server * self.num_servers
|
dynamic_frequency_scaling = 1.0 # https://en.wikichip.org/wiki/intel/frequency_behavior
|
||||||
|
# https://www.nas.nasa.gov/hecc/support/kb/cascade-lake-processors_579.html
|
||||||
|
# The Intel Cascade Lake processor incorporated into the Aitken cluster is the 20-core Xeon Gold 6248 model. Its base clock speed is 2.5 GHz for non-AVX, 1.9 GHz for AVX2, and 1.6 GHz for AVX-512.
|
||||||
|
simd_id = get_simd_id(self.cpu.architecture)
|
||||||
|
if simd_id == 'avx-512':
|
||||||
|
if self.cpu.architecture in ['skylake', 'cascadelake']:
|
||||||
|
xeon_6248_base_freq = 2500.0 # https://en.wikichip.org/wiki/intel/xeon_gold/6248
|
||||||
|
xeon_6248_avx512_base_freq = 1600.0 # https://en.wikichip.org/wiki/intel/xeon_gold/6248
|
||||||
|
dynamic_frequency_scaling = xeon_6248_avx512_base_freq / xeon_6248_base_freq
|
||||||
|
elif self.cpu.architecture == 'icelake':
|
||||||
|
dynamic_frequency_scaling = 0.9
|
||||||
|
cpu_clock_when_computing = self.cpu.clock * dynamic_frequency_scaling
|
||||||
|
flops = self.cpu.num_dp_flop_per_cycle * cpu_clock_when_computing * 1.e9 * self.cpu.num_cores * self.num_cpu_per_server * self.num_servers
|
||||||
return flops
|
return flops
|
||||||
|
|
||||||
def _init_dimm_slots(self):
|
def _init_dimm_slots(self):
|
||||||
|
|
48
readme.md
48
readme.md
|
@ -6,3 +6,51 @@ usage:
|
||||||
```console
|
```console
|
||||||
graffy@graffy-ws2:~/work/concho$ PYTHONPATH=. python3 ./tests/test1.py
|
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 |
|
Loading…
Reference in New Issue