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): | ||||
|         # 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 | ||||
| 
 | ||||
|     def _init_dimm_slots(self): | ||||
|  |  | |||
							
								
								
									
										48
									
								
								readme.md
								
								
								
								
							
							
						
						
									
										48
									
								
								readme.md
								
								
								
								
							|  | @ -6,3 +6,51 @@ usage: | |||
| ```console | ||||
| 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