counted-float 1.0.5__tar.gz → 1.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {counted_float-1.0.5 → counted_float-1.1.1}/PKG-INFO +85 -71
- {counted_float-1.0.5 → counted_float-1.1.1}/README.md +84 -70
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/__init__.py +4 -2
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/_cli.py +4 -4
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/__init__.py +0 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/counted_float/_counted_float_benchmark.py +15 -11
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/flops/_array_generator.py +10 -10
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/flops/_flops_benchmark_suite.py +36 -37
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/flops/_flops_micro_benchmark.py +10 -9
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/micro/_micro_benchmark.py +17 -15
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/compatibility/_numba.py +8 -8
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/_builtin_data.py +38 -38
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/_context_managers.py +34 -21
- counted_float-1.1.1/counted_float/_core/counting/_counted_float.py +206 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/_global_counter.py +33 -33
- counted_float-1.1.1/counted_float/_core/counting/_math_patching.py +262 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/config/_config.py +13 -14
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/config/_defaults.py +14 -8
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_base.py +3 -3
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flop_counts.py +13 -10
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flop_type.py +4 -4
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flop_weights.py +20 -25
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_instruction_latencies.py +12 -14
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_cpu_freq.py +10 -11
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_formatting.py +9 -11
- counted_float-1.1.1/counted_float/_core/utils/_geo_mean.py +11 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_latency.py +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_missing_data.py +5 -5
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_rounding.py +9 -10
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/_timer.py +13 -9
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/benchmarking/__init__.py +2 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/config/__init__.py +2 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/benchmarks/apple_m1_github_actions.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/benchmarks/apple_m3_max_mbp16.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/benchmarks/aws_graviton_2_neoverse_n1_ec2_m6g_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/benchmarks/aws_graviton_3_neoverse_v1_ec2_m7g_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/specs/arm_cortex_a76.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/specs/arm_cortex_x1.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/specs/arm_neoverse_n1.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/specs/arm_neoverse_v1.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/benchmarks/aws_graviton_4_neoverse_v2_ec2_m8g_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/benchmarks/azure_cobalt_100_neoverse_n2_github_actions.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/specs/arm_cortex_x2.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/specs/arm_cortex_x3.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/specs/arm_neoverse_n2.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_0/specs/arm_neoverse_v2.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_2/specs/arm_cortex_x4.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_2/specs/arm_cortex_x925.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_2/specs/arm_neoverse_v3.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2017_zen1/benchmarks/amd_ryzen_1700x.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2017_zen1/other/analysis_uops_info_zen1+.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2020_zen3/benchmark/amd_epyc_7763_linux_github.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2020_zen3/benchmark/amd_epyc_7763_windows_github.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2020_zen3/other/analysis_agner_fog_r7_5800x.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2020_zen3/other/analysis_uops_info_zen3.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2022_zen4/benchmark/amd_epyc_9r14_ec2_m7a_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2022_zen4/other/analysis_agner_fog_r9_7900x.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2022_zen4/other/analysis_uops_info_zen4.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2022_zen4/other/specs_amd.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2024_zen5/benchmark/amd_epyc_9r45_ec2_m8a_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2024_zen5/other/analysis_agner_fog_r7_9800x3d.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/amd/2024_zen5/other/specs_amd.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2017_coffee_lake_gen_8/benchmarks/intel_i7_8550U_windows.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2017_coffee_lake_gen_8/benchmarks/intel_i7_8700B_macos_github_actions.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2017_coffee_lake_gen_8/other/analysis_agner_fog_coffee_lake.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2017_coffee_lake_gen_8/other/analysis_uops_info_coffee_lake.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2019_sunny_cove_gen_10/benchmarks/intel_xeon_8375c_ice_lake_ec2_m6i_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2019_sunny_cove_gen_10/other/analysis_agner_fog_ice_lake.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2019_sunny_cove_gen_10/other/analysis_uops_info_ice_lake.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2019_sunny_cove_gen_10/other/analysis_uops_info_tiger_lake.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2021_golden_cove_gen_12/benchmarks/intel_xeon_8488c_sapphire_rapids_ec2_m7i_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2021_golden_cove_gen_12/other/analysis_uops_info_alder_lake_p.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2021_golden_cove_gen_12/other/specs_intel.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2022_raptor_cove_gen_13_14/benchmarks/intel_xeon_8559c_emerald_rapids_ec2_i7i_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2022_raptor_cove_gen_13_14/other/specs_intel.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2023_redwood_cove_ultra_1/benchmarks/intel_xeon_6975p_granite_rapids_ec2_m8i_xlarge.json +1 -1
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/x86/intel/2023_redwood_cove_ultra_1/other/specs_intel.json +1 -1
- counted_float-1.1.1/counted_float/py.typed +0 -0
- counted_float-1.1.1/pyproject.toml +134 -0
- counted_float-1.0.5/counted_float/_core/counting/_counted_float.py +0 -402
- counted_float-1.0.5/counted_float/_core/utils/_geo_mean.py +0 -9
- counted_float-1.0.5/pyproject.toml +0 -69
- {counted_float-1.0.5 → counted_float-1.1.1}/.gitignore +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/LICENSE +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/counted_float/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/flops/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/benchmarking/micro/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/compatibility/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/counting/config/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flops_benchmark_meta_data.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flops_benchmark_result.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_flops_benchmark_type.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/models/_micro_benchmark_result.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/_core/utils/__init__.py +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v8_x/benchmarks/apple_m3_mba15.json +0 -0
- {counted_float-1.0.5 → counted_float-1.1.1}/counted_float/data/arm/v9_2/benchmarks/apple_m4_pro_mbp16.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: counted-float
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.1.1
|
|
4
4
|
Summary: Count floating-point operations in Python code & benchmark relative flop costs.
|
|
5
5
|
Project-URL: Source, https://github.com/bertpl/counted-float
|
|
6
6
|
Project-URL: ChangeLog, https://github.com/bertpl/counted-float/blob/main/CHANGELOG.md
|
|
@@ -20,9 +20,9 @@ Requires-Dist: numba>=0.50; extra == 'numba'
|
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
|
|
22
22
|

|
|
23
|
-

|
|
24
|
+

|
|
25
|
+

|
|
26
26
|
|
|
27
27
|
# counted-float
|
|
28
28
|
|
|
@@ -30,8 +30,8 @@ This Python package provides functionality for...
|
|
|
30
30
|
- **counting floating point operations** (FLOPs) of numerical algorithms implemented in plain Python, optionally weighted by their relative cost of execution
|
|
31
31
|
- **running benchmarks** to estimate the relative cost of executing various floating-point operations (requires `numba` optional dependency for achieving accurate results)
|
|
32
32
|
|
|
33
|
-
The target application area is evaluation of research prototypes of numerical algorithms where (weighted) flop counting can be
|
|
34
|
-
useful for estimating total computational cost, in cases where benchmarking a compiled version (C, Rust, ...) is not
|
|
33
|
+
The target application area is evaluation of research prototypes of numerical algorithms where (weighted) flop counting can be
|
|
34
|
+
useful for estimating total computational cost, in cases where benchmarking a compiled version (C, Rust, ...) is not
|
|
35
35
|
feasible or desirable.
|
|
36
36
|
|
|
37
37
|
Flop weights are computed using a highly curated dataset spanning a wide range of modern CPUs:
|
|
@@ -61,10 +61,12 @@ The `CountedFloat` class is a subclass of `float` and is "contagious", meaning t
|
|
|
61
61
|
ensure results of math operations where at least one operand is a `CountedFloat` will also be a `CountedFloat`.
|
|
62
62
|
This way we ensure flop counting is a 'closed system'.
|
|
63
63
|
|
|
64
|
-
On top of this,
|
|
65
|
-
|
|
64
|
+
On top of this, `math` module functions that require counting (`sqrt`, `log2`, `pow`, ...) are
|
|
65
|
+
also instrumented: while a `FlopCountingContext` is active (see below), they are temporarily
|
|
66
|
+
replaced by counting equivalents. Outside such a context — including at plain `import` time —
|
|
67
|
+
the `math` module is left completely untouched.
|
|
66
68
|
|
|
67
|
-
**Example
|
|
69
|
+
**Example**:
|
|
68
70
|
|
|
69
71
|
```python
|
|
70
72
|
from counted_float import CountedFloat
|
|
@@ -78,18 +80,6 @@ is_float_1 = isinstance(cf, float) # True
|
|
|
78
80
|
is_float_2 = isinstance(result, float) # True
|
|
79
81
|
```
|
|
80
82
|
|
|
81
|
-
**Example 2**:
|
|
82
|
-
|
|
83
|
-
```python
|
|
84
|
-
import math
|
|
85
|
-
from counted_float import CountedFloat
|
|
86
|
-
|
|
87
|
-
cf1 = CountedFloat(0.81)
|
|
88
|
-
|
|
89
|
-
s = math.sqrt(cf1) # s = CountedFloat(0.9)
|
|
90
|
-
is_float = isinstance(s, float) # True
|
|
91
|
-
```
|
|
92
|
-
|
|
93
83
|
### The counting model: what gets counted and why
|
|
94
84
|
|
|
95
85
|
The counting model is a contract with two sides:
|
|
@@ -118,6 +108,13 @@ The library detects constants through two mechanisms, applying the same rule:
|
|
|
118
108
|
The flip side: an unwrapped runtime input is invisible to the counter — that is a wrapping error
|
|
119
109
|
at your algorithm's boundary, not something the library can detect. When in doubt, wrap.
|
|
120
110
|
|
|
111
|
+
One more consequence of the context-scoped `math` patching: `math.*` calls participate in
|
|
112
|
+
counting (and in contagion) only while a `FlopCountingContext` is active. Operator-based
|
|
113
|
+
contagion (`+`, `*`, `**`, ...) works everywhere, but counts are meant to be read through a
|
|
114
|
+
context — so the practical rule is simply: run your measured algorithm inside one.
|
|
115
|
+
|
|
116
|
+
## 2.2. FLOP counting context managers
|
|
117
|
+
|
|
121
118
|
Once we use the `CountedFloat` class, we can use the available context managers to count the number of
|
|
122
119
|
flops performed by `CountedFloat` objects.
|
|
123
120
|
|
|
@@ -136,7 +133,24 @@ counts = ctx.flop_counts() # {FlopType.MUL: 1, FlopType.ADD: 1}
|
|
|
136
133
|
counts.total_count() # 2
|
|
137
134
|
```
|
|
138
135
|
|
|
139
|
-
**Example 2**:
|
|
136
|
+
**Example 2**: _math module functions_
|
|
137
|
+
|
|
138
|
+
```python
|
|
139
|
+
import math
|
|
140
|
+
from counted_float import CountedFloat, FlopCountingContext
|
|
141
|
+
|
|
142
|
+
cf1 = CountedFloat(0.81)
|
|
143
|
+
|
|
144
|
+
with FlopCountingContext() as ctx:
|
|
145
|
+
s = math.sqrt(cf1) # s = CountedFloat(0.9)
|
|
146
|
+
|
|
147
|
+
counts = ctx.flop_counts() # {FlopType.SQRT: 1}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Note that `math.*` functions are only instrumented *inside* the context: outside it,
|
|
151
|
+
`math.sqrt(cf1)` returns a plain `float` and counts nothing.
|
|
152
|
+
|
|
153
|
+
**Example 3**: _pause counting 1_
|
|
140
154
|
|
|
141
155
|
```python
|
|
142
156
|
from counted_float import CountedFloat, FlopCountingContext
|
|
@@ -155,7 +169,7 @@ counts = ctx.flop_counts() # {FlopType.MUL: 1, FlopType.SUB: 1}
|
|
|
155
169
|
counts.total_count() # 2
|
|
156
170
|
```
|
|
157
171
|
|
|
158
|
-
**Example
|
|
172
|
+
**Example 4**: _pause counting 2_
|
|
159
173
|
|
|
160
174
|
```python
|
|
161
175
|
from counted_float import CountedFloat, FlopCountingContext, PauseFlopCounting
|
|
@@ -176,7 +190,7 @@ counts.total_count() # 2
|
|
|
176
190
|
## 2.3. Weighted FLOP counting
|
|
177
191
|
|
|
178
192
|
The `counted_float` package contains a set of default, built-in FLOP weights, based on both empirical measurements
|
|
179
|
-
and theoretical estimates of the relative cost of different floating point operations.
|
|
193
|
+
and theoretical estimates of the relative cost of different floating point operations.
|
|
180
194
|
|
|
181
195
|
See [fpu_data_sources.md](https://github.com/bertpl/counted-float/tree/develop/docs/analysis_methodology.md) for
|
|
182
196
|
rationale behind choice of data sources and methodology.
|
|
@@ -227,7 +241,7 @@ with FlopCountingContext() as ctx:
|
|
|
227
241
|
_ = cf1 + cf2
|
|
228
242
|
_ = cf1 ** cf2
|
|
229
243
|
_ = math.log2(cf2)
|
|
230
|
-
|
|
244
|
+
|
|
231
245
|
flop_counts = ctx.flop_counts()
|
|
232
246
|
total_cost = flop_counts.total_weighted_cost() # 1 + 40 + 22 = 63
|
|
233
247
|
```
|
|
@@ -329,7 +343,7 @@ from counted_float.config import get_builtin_flop_weights
|
|
|
329
343
|
|
|
330
344
|
# 3. Benchmarking
|
|
331
345
|
|
|
332
|
-
If the package is installed with the optional `numba` dependency, it provides the ability to micro-benchmark
|
|
346
|
+
If the package is installed with the optional `numba` dependency, it provides the ability to micro-benchmark
|
|
333
347
|
floating point operations as follows:
|
|
334
348
|
|
|
335
349
|
```
|
|
@@ -367,7 +381,7 @@ div : wwwwwwwwwwwwwww.........................
|
|
|
367
381
|
div_div : wwwwwwwwwwwwwww......................... [ 5.00 µs ± 0.2% | 20.3K cpu cycles ± 0.2% ] / 1000 iterations
|
|
368
382
|
lte_addsub : wwwwwwwwwwwwwww......................... [ 1.71 µs ± 0.2% | 6.94K cpu cycles ± 0.2% ] / 1000 iterations
|
|
369
383
|
|
|
370
|
-
>>> results.flop_weights().show()
|
|
384
|
+
>>> results.flop_weights().show()
|
|
371
385
|
|
|
372
386
|
{
|
|
373
387
|
FlopType.ABS [abs(x)] : 0.89904
|
|
@@ -427,86 +441,86 @@ ALL 0.44
|
|
|
427
441
|
│ │ │ ├─apple_m3_mba15 0.90 0.90 1.68 1.00 1.00 1.53 1.24 / / 4.06 5.27 16.68 17.43 17.56 18.09 21.07 17.29 28.63 29.06 38.46 32.32 39.43
|
|
428
442
|
│ │ │ ├─aws_graviton_2_neoverse_n1_ec2_m6g_xlarge 0.46 1.47 0.38 1.00 1.00 1.38 2.01 / / 5.42 8.76 10.21 14.17 15.98 17.91 22.65 25.25 28.68 29.63 33.95 41.90 40.25
|
|
429
443
|
│ │ │ └─aws_graviton_3_neoverse_v1_ec2_m7g_xlarge 0.51 1.00 0.01 1.00 1.00 1.50 1.99 / / 6.03 9.58 11.89 14.81 17.49 19.20 19.09 27.67 30.26 31.49 36.85 42.45 40.96
|
|
430
|
-
│ │ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.73 2.12 7.50 8.25 / / / / / / / / / / /
|
|
431
|
-
│ │ ├─arm_cortex_a76 1.00 1.00 1.00 1.00 1.00 1.50 1.50 2.00 3.00 7.50 8.50 / / / / / / / / / / /
|
|
432
|
-
│ │ ├─arm_cortex_x1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
433
|
-
│ │ ├─arm_neoverse_n1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 2.00 3.00 7.50 8.50 / / / / / / / / / / /
|
|
434
|
-
│ │ └─arm_neoverse_v1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
444
|
+
│ │ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.73 2.12 7.50 8.25 / / / / / / / / / / /
|
|
445
|
+
│ │ ├─arm_cortex_a76 1.00 1.00 1.00 1.00 1.00 1.50 1.50 2.00 3.00 7.50 8.50 / / / / / / / / / / /
|
|
446
|
+
│ │ ├─arm_cortex_x1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
447
|
+
│ │ ├─arm_neoverse_n1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 2.00 3.00 7.50 8.50 / / / / / / / / / / /
|
|
448
|
+
│ │ └─arm_neoverse_v1 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
435
449
|
│ ├─v9_0 0.74 1.00 0.25 1.00 1.00 1.51 1.80 1.27 1.27 6.78 8.83 14.32 17.90 20.66 22.09 24.04 32.41 35.53 37.31 44.86 52.70 48.30
|
|
436
450
|
│ │ ├─benchmarks 0.54 1.00 0.06 1.00 1.00 1.52 2.16 / / 6.14 9.75 12.12 15.15 17.49 18.70 20.35 27.44 30.08 31.59 37.98 44.62 40.89
|
|
437
451
|
│ │ │ ├─aws_graviton_4_neoverse_v2_ec2_m8g_xlarge 0.52 1.00 0.01 1.00 1.00 1.50 2.05 / / 6.04 9.49 12.66 14.40 17.66 18.54 19.86 27.12 28.76 30.11 36.90 42.70 38.65
|
|
438
452
|
│ │ │ └─azure_cobalt_100_neoverse_n2_github_actions 0.57 1.00 0.33 1.00 1.00 1.53 2.28 / / 6.23 10.02 11.61 15.94 17.33 18.87 20.85 27.76 31.46 33.15 39.09 46.62 43.26
|
|
439
|
-
│ │ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
440
|
-
│ │ ├─arm_cortex_x2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
441
|
-
│ │ ├─arm_cortex_x3 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
442
|
-
│ │ ├─arm_neoverse_n2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
443
|
-
│ │ └─arm_neoverse_v2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
453
|
+
│ │ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
454
|
+
│ │ ├─arm_cortex_x2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
455
|
+
│ │ ├─arm_cortex_x3 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
456
|
+
│ │ ├─arm_neoverse_n2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
457
|
+
│ │ └─arm_neoverse_v2 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 7.50 8.00 / / / / / / / / / / /
|
|
444
458
|
│ └─v9_2 1.16 1.16 1.55 1.02 1.00 1.51 1.55 1.66 1.66 5.80 6.70 18.44 20.04 19.11 19.75 22.96 19.23 29.29 31.69 40.89 34.73 42.11
|
|
445
459
|
│ ├─benchmarks 1.35 1.35 2.40 1.03 1.00 1.51 1.84 / / 5.32 7.10 20.38 22.15 21.13 21.83 25.38 21.25 32.38 35.03 45.20 38.39 46.55
|
|
446
460
|
│ │ └─apple_m4_pro_mbp16 1.35 1.35 2.40 1.03 1.00 1.51 1.84 / / 5.32 7.10 20.38 22.15 21.13 21.83 25.38 21.25 32.38 35.03 45.20 38.39 46.55
|
|
447
|
-
│ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.31 1.50 1.50 6.33 6.33 / / / / / / / / / / /
|
|
448
|
-
│ ├─arm_cortex_x4 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 6.50 6.50 / / / / / / / / / / /
|
|
449
|
-
│ ├─arm_cortex_x925 1.00 1.00 1.00 1.00 1.00 1.50 1.00 1.50 1.50 6.00 6.00 / / / / / / / / / / /
|
|
450
|
-
│ └─arm_neoverse_v3 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 6.50 6.50 / / / / / / / / / / /
|
|
461
|
+
│ └─specs 1.00 1.00 1.00 1.00 1.00 1.50 1.31 1.50 1.50 6.33 6.33 / / / / / / / / / / /
|
|
462
|
+
│ ├─arm_cortex_x4 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 6.50 6.50 / / / / / / / / / / /
|
|
463
|
+
│ ├─arm_cortex_x925 1.00 1.00 1.00 1.00 1.00 1.50 1.00 1.50 1.50 6.00 6.00 / / / / / / / / / / /
|
|
464
|
+
│ └─arm_neoverse_v3 1.00 1.00 1.00 1.00 1.00 1.50 1.50 1.50 1.50 6.50 6.50 / / / / / / / / / / /
|
|
451
465
|
└─x86 0.21 0.49 1.50 0.98 1.00 1.30 1.97 2.46 2.31 4.98 7.15 15.62 16.40 18.29 23.83 22.58 24.87 28.39 28.70 41.03 41.15 43.35
|
|
452
466
|
├─amd 0.25 0.45 1.52 0.99 1.00 1.17 1.22 2.39 2.51 4.74 7.38 18.22 16.50 17.98 24.59 23.73 24.13 28.04 28.30 42.41 40.31 45.11
|
|
453
467
|
│ ├─2017_zen1 0.34 0.34 1.16 1.00 1.00 1.29 1.34 3.07 3.07 4.18 6.44 63.95 19.71 17.05 32.24 43.83 18.79 30.58 30.27 57.99 39.24 66.55
|
|
454
468
|
│ │ ├─benchmarks 0.35 0.35 0.58 1.01 1.00 1.24 1.34 / / 4.03 6.23 58.90 18.16 15.70 29.69 40.37 17.30 28.16 27.88 53.41 36.14 61.29
|
|
455
469
|
│ │ │ └─amd_ryzen_1700x 0.35 0.35 0.58 1.01 1.00 1.24 1.34 / / 4.03 6.23 58.90 18.16 15.70 29.69 40.37 17.30 28.16 27.88 53.41 36.14 61.29
|
|
456
|
-
│ │ └─other 0.33 0.33 2.33 1.00 1.00 1.33 1.33 3.33 3.33 4.33 6.67 / / / / / / / / / / /
|
|
457
|
-
│ │ └─analysis_uops_info_zen1+ 0.33 0.33 2.33 1.00 1.00 1.33 1.33 3.33 3.33 4.33 6.67 / / / / / / / / / / /
|
|
470
|
+
│ │ └─other 0.33 0.33 2.33 1.00 1.00 1.33 1.33 3.33 3.33 4.33 6.67 / / / / / / / / / / /
|
|
471
|
+
│ │ └─analysis_uops_info_zen1+ 0.33 0.33 2.33 1.00 1.00 1.33 1.33 3.33 3.33 4.33 6.67 / / / / / / / / / / /
|
|
458
472
|
│ ├─2020_zen3 0.18 0.34 1.16 1.00 1.00 0.98 1.00 2.17 2.34 4.36 6.76 11.69 15.85 16.99 22.46 19.32 21.13 24.05 24.07 38.13 38.04 39.06
|
|
459
473
|
│ │ ├─benchmark 0.10 0.34 0.68 1.00 1.00 1.00 1.00 / / 4.30 6.86 10.33 14.01 15.02 19.86 17.08 18.69 21.26 21.28 33.72 33.63 34.54
|
|
460
474
|
│ │ │ ├─amd_epyc_7763_linux_github 0.10 0.34 0.68 1.00 1.00 1.00 1.00 / / 4.31 6.86 10.35 11.79 15.35 14.36 14.53 22.21 22.45 22.86 30.57 33.34 31.25
|
|
461
475
|
│ │ │ └─amd_epyc_7763_windows_github 0.10 0.34 0.68 1.00 1.00 1.00 1.00 / / 4.28 6.86 10.32 16.65 14.70 27.48 20.08 15.72 20.14 19.82 37.19 33.92 38.17
|
|
462
|
-
│ │ └─other 0.33 0.33 1.97 1.00 1.00 0.95 1.00 2.45 2.65 4.42 6.67 / / / / / / / / / / /
|
|
463
|
-
│ │ ├─analysis_agner_fog_r7_5800x 0.33 0.33 1.67 1.00 1.00 / 1.00 2.00 2.33 4.50 6.67 / / / / / / / / / / /
|
|
464
|
-
│ │ └─analysis_uops_info_zen3 0.33 0.33 2.33 1.00 1.00 1.00 1.00 3.00 3.00 4.33 6.67 / / / / / / / / / / /
|
|
476
|
+
│ │ └─other 0.33 0.33 1.97 1.00 1.00 0.95 1.00 2.45 2.65 4.42 6.67 / / / / / / / / / / /
|
|
477
|
+
│ │ ├─analysis_agner_fog_r7_5800x 0.33 0.33 1.67 1.00 1.00 / 1.00 2.00 2.33 4.50 6.67 / / / / / / / / / / /
|
|
478
|
+
│ │ └─analysis_uops_info_zen3 0.33 0.33 2.33 1.00 1.00 1.00 1.00 3.00 3.00 4.33 6.67 / / / / / / / / / / /
|
|
465
479
|
│ ├─2022_zen4 0.15 0.33 1.41 0.99 1.00 0.99 1.00 1.85 1.78 4.41 6.92 10.77 12.47 17.12 20.49 15.83 25.03 24.11 24.56 32.21 35.99 33.32
|
|
466
480
|
│ │ ├─benchmark 0.07 0.33 1.57 0.97 1.00 0.98 0.99 / / 4.49 6.95 9.97 11.55 15.86 18.98 14.66 23.19 22.34 22.75 29.84 33.34 30.87
|
|
467
481
|
│ │ │ └─amd_epyc_9r14_ec2_m7a_xlarge 0.07 0.33 1.57 0.97 1.00 0.98 0.99 / / 4.49 6.95 9.97 11.55 15.86 18.98 14.66 23.19 22.34 22.75 29.84 33.34 30.87
|
|
468
|
-
│ │ └─other 0.33 0.33 1.28 1.00 1.00 1.01 1.00 2.00 1.92 4.33 6.89 / / / / / / / / / / /
|
|
469
|
-
│ │ ├─analysis_agner_fog_r9_7900x 0.33 0.33 1.33 1.00 1.00 / 1.00 2.00 2.00 4.33 7.00 / / / / / / / / / / /
|
|
470
|
-
│ │ ├─analysis_uops_info_zen4 0.33 0.33 2.33 1.00 1.00 1.00 1.00 3.00 2.67 4.33 7.00 / / / / / / / / / / /
|
|
471
|
-
│ │ └─specs_amd 0.33 0.33 0.67 1.00 1.00 1.00 1.00 1.33 1.33 4.33 6.67 / / / / / / / / / / /
|
|
482
|
+
│ │ └─other 0.33 0.33 1.28 1.00 1.00 1.01 1.00 2.00 1.92 4.33 6.89 / / / / / / / / / / /
|
|
483
|
+
│ │ ├─analysis_agner_fog_r9_7900x 0.33 0.33 1.33 1.00 1.00 / 1.00 2.00 2.00 4.33 7.00 / / / / / / / / / / /
|
|
484
|
+
│ │ ├─analysis_uops_info_zen4 0.33 0.33 2.33 1.00 1.00 1.00 1.00 3.00 2.67 4.33 7.00 / / / / / / / / / / /
|
|
485
|
+
│ │ └─specs_amd 0.33 0.33 0.67 1.00 1.00 1.00 1.00 1.33 1.33 4.33 6.67 / / / / / / / / / / /
|
|
472
486
|
│ └─2024_zen5 0.39 1.04 2.83 0.95 1.00 1.50 1.68 2.64 3.08 6.31 9.84 13.71 19.04 21.09 24.62 23.64 34.12 34.84 35.83 45.40 49.16 47.78
|
|
473
487
|
│ ├─benchmark 0.21 1.53 2.95 0.91 1.00 1.36 1.87 / / 6.12 9.69 13.33 18.50 20.50 23.94 22.98 33.17 33.87 34.83 44.14 47.79 46.45
|
|
474
488
|
│ │ └─amd_epyc_9r45_ec2_m8a_xlarge 0.21 1.53 2.95 0.91 1.00 1.36 1.87 / / 6.12 9.69 13.33 18.50 20.50 23.94 22.98 33.17 33.87 34.83 44.14 47.79 46.45
|
|
475
|
-
│ └─other 0.71 0.71 2.72 1.00 1.00 1.66 1.50 2.72 3.17 6.50 10.00 / / / / / / / / / / /
|
|
476
|
-
│ ├─analysis_agner_fog_r7_9800x3d 1.00 1.00 3.00 1.00 1.00 / 1.50 3.00 3.50 6.50 10.00 / / / / / / / / / / /
|
|
477
|
-
│ └─specs_amd 0.50 0.50 / 1.00 1.00 1.50 1.50 / / 6.50 10.00 / / / / / / / / / / /
|
|
489
|
+
│ └─other 0.71 0.71 2.72 1.00 1.00 1.66 1.50 2.72 3.17 6.50 10.00 / / / / / / / / / / /
|
|
490
|
+
│ ├─analysis_agner_fog_r7_9800x3d 1.00 1.00 3.00 1.00 1.00 / 1.50 3.00 3.50 6.50 10.00 / / / / / / / / / / /
|
|
491
|
+
│ └─specs_amd 0.50 0.50 / 1.00 1.00 1.50 1.50 / / 6.50 10.00 / / / / / / / / / / /
|
|
478
492
|
└─intel 0.18 0.53 1.47 0.98 1.00 1.45 3.17 2.53 2.14 5.23 6.93 13.38 16.30 18.60 23.09 21.50 25.64 28.75 29.11 39.70 42.01 41.67
|
|
479
493
|
├─2017_coffee_lake_gen_8 0.14 0.40 1.12 0.98 1.00 1.03 1.99 1.69 1.69 3.54 4.56 10.27 16.31 12.42 19.10 21.50 12.84 20.48 20.47 32.65 28.21 35.74
|
|
480
494
|
│ ├─benchmarks 0.08 0.63 1.73 0.96 1.00 1.05 1.99 / / 3.45 4.78 10.69 16.98 12.92 19.88 22.38 13.37 21.31 21.31 33.99 29.36 37.20
|
|
481
495
|
│ │ ├─intel_i7_8550U_windows 0.08 0.44 1.69 1.01 1.00 1.01 2.00 / / 3.15 4.79 7.02 15.44 11.99 30.07 21.33 13.00 17.80 17.21 32.36 28.09 35.06
|
|
482
496
|
│ │ └─intel_i7_8700B_macos_github_actions 0.08 0.91 1.77 0.92 1.00 1.10 1.97 / / 3.78 4.77 16.30 18.68 13.93 13.15 23.47 13.74 25.51 26.38 35.70 30.68 39.48
|
|
483
|
-
│ └─other 0.25 0.25 0.73 1.00 1.00 1.00 2.00 1.62 1.62 3.62 4.36 / / / / / / / / / / /
|
|
484
|
-
│ ├─analysis_agner_fog_coffee_lake 0.25 0.25 / 1.00 1.00 1.00 2.00 1.50 1.50 3.50 4.00 / / / / / / / / / / /
|
|
485
|
-
│ └─analysis_uops_info_coffee_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
497
|
+
│ └─other 0.25 0.25 0.73 1.00 1.00 1.00 2.00 1.62 1.62 3.62 4.36 / / / / / / / / / / /
|
|
498
|
+
│ ├─analysis_agner_fog_coffee_lake 0.25 0.25 / 1.00 1.00 1.00 2.00 1.50 1.50 3.50 4.00 / / / / / / / / / / /
|
|
499
|
+
│ └─analysis_uops_info_coffee_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
486
500
|
├─2019_sunny_cove_gen_10 0.10 0.33 0.92 0.95 1.00 0.98 1.94 1.60 1.60 3.58 4.54 12.27 9.43 14.01 17.18 13.39 20.23 19.23 19.83 28.71 29.72 28.95
|
|
487
501
|
│ ├─benchmarks 0.04 0.44 1.30 0.91 1.00 1.00 1.89 / / 3.50 4.60 11.82 9.08 13.49 16.55 12.90 19.48 18.52 19.09 27.65 28.63 27.88
|
|
488
502
|
│ │ └─intel_xeon_8375c_ice_lake_ec2_m6i_xlarge 0.04 0.44 1.30 0.91 1.00 1.00 1.89 / / 3.50 4.60 11.82 9.08 13.49 16.55 12.90 19.48 18.52 19.09 27.65 28.63 27.88
|
|
489
|
-
│ └─other 0.25 0.25 0.66 1.00 1.00 0.97 2.00 1.66 1.66 3.66 4.49 / / / / / / / / / / /
|
|
490
|
-
│ ├─analysis_agner_fog_ice_lake 0.25 0.25 0.50 1.00 1.00 / 2.00 1.50 1.50 3.50 4.00 / / / / / / / / / / /
|
|
491
|
-
│ ├─analysis_uops_info_ice_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
492
|
-
│ └─analysis_uops_info_tiger_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
503
|
+
│ └─other 0.25 0.25 0.66 1.00 1.00 0.97 2.00 1.66 1.66 3.66 4.49 / / / / / / / / / / /
|
|
504
|
+
│ ├─analysis_agner_fog_ice_lake 0.25 0.25 0.50 1.00 1.00 / 2.00 1.50 1.50 3.50 4.00 / / / / / / / / / / /
|
|
505
|
+
│ ├─analysis_uops_info_ice_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
506
|
+
│ └─analysis_uops_info_tiger_lake 0.25 0.25 0.75 1.00 1.00 1.00 2.00 1.75 1.75 3.75 4.75 / / / / / / / / / / /
|
|
493
507
|
├─2021_golden_cove_gen_12 0.23 0.64 1.76 0.99 1.00 1.80 4.05 3.11 2.63 6.34 8.58 14.98 18.37 21.93 25.63 24.02 32.77 34.73 35.06 44.04 50.72 46.59
|
|
494
508
|
│ ├─benchmarks 0.13 0.99 2.52 0.98 1.00 1.99 5.03 / / 6.80 9.74 16.28 19.97 23.84 27.86 26.11 35.63 37.76 38.12 47.88 55.14 50.65
|
|
495
509
|
│ │ └─intel_xeon_8488c_sapphire_rapids_ec2_m7i_xlarge 0.13 0.99 2.52 0.98 1.00 1.99 5.03 / / 6.80 9.74 16.28 19.97 23.84 27.86 26.11 35.63 37.76 38.12 47.88 55.14 50.65
|
|
496
|
-
│ └─other 0.41 0.41 1.22 1.00 1.00 1.63 3.27 2.86 2.42 5.92 7.55 / / / / / / / / / / /
|
|
497
|
-
│ ├─analysis_uops_info_alder_lake_p 0.33 0.33 1.00 1.00 1.00 1.33 2.67 2.33 2.33 5.00 6.33 / / / / / / / / / / /
|
|
498
|
-
│ └─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
510
|
+
│ └─other 0.41 0.41 1.22 1.00 1.00 1.63 3.27 2.86 2.42 5.92 7.55 / / / / / / / / / / /
|
|
511
|
+
│ ├─analysis_uops_info_alder_lake_p 0.33 0.33 1.00 1.00 1.00 1.33 2.67 2.33 2.33 5.00 6.33 / / / / / / / / / / /
|
|
512
|
+
│ └─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
499
513
|
├─2022_raptor_cove_gen_13_14 0.26 0.71 1.96 1.00 1.00 2.00 4.51 3.55 2.53 7.00 9.49 15.73 19.93 24.00 28.64 26.02 35.73 37.86 38.33 49.02 55.79 51.16
|
|
500
514
|
│ ├─benchmarks 0.13 1.00 2.55 1.00 1.00 2.00 5.08 / / 7.00 10.00 15.95 20.20 24.33 29.03 26.37 36.21 38.37 38.85 49.69 56.55 51.86
|
|
501
515
|
│ │ └─intel_xeon_8559c_emerald_rapids_ec2_i7i_xlarge 0.13 1.00 2.55 1.00 1.00 2.00 5.08 / / 7.00 10.00 15.95 20.20 24.33 29.03 26.37 36.21 38.37 38.85 49.69 56.55 51.86
|
|
502
|
-
│ └─other 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
503
|
-
│ └─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
516
|
+
│ └─other 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
517
|
+
│ └─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
504
518
|
└─2023_redwood_cove_ultra_1 0.24 0.71 1.95 0.99 1.00 1.73 4.51 3.46 2.47 6.97 9.47 14.44 20.41 24.32 27.29 25.53 36.40 37.92 38.32 48.75 55.19 50.95
|
|
505
519
|
├─benchmarks 0.12 1.01 2.53 0.98 1.00 1.50 5.09 / / 6.94 9.96 14.28 20.19 24.06 26.99 25.26 36.01 37.51 37.91 48.22 54.60 50.40
|
|
506
520
|
│ └─intel_xeon_6975p_granite_rapids_ec2_m8i_xlarge 0.12 1.01 2.53 0.98 1.00 1.50 5.09 / / 6.94 9.96 14.28 20.19 24.06 26.99 25.26 36.01 37.51 37.91 48.22 54.60 50.40
|
|
507
|
-
└─other 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
508
|
-
└─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
509
|
-
|
|
521
|
+
└─other 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
522
|
+
└─specs_intel 0.50 0.50 1.50 1.00 1.00 2.00 4.00 3.50 2.50 7.00 9.00 / / / / / / / / / / /
|
|
523
|
+
|
|
510
524
|
|
|
511
525
|
```
|
|
512
526
|
|
|
@@ -543,10 +557,10 @@ CountedFloat is 37.3x slower than float
|
|
|
543
557
|
- currently any non-Python-built-in math operations are not counted (e.g. `numpy`)
|
|
544
558
|
- not all Python built-in math operations are counted (e.g. hyperbolic functions)
|
|
545
559
|
- flop weights should be taken with a grain of salt and should only provide relative ballpark estimates w.r.t computational complexity. Production implementations in a compiled language could have vastly differing performance depending on cpu cache sizes, branch prediction misses, compiler optimizations using vector operations (AVX etc...), etc...
|
|
546
|
-
|
|
560
|
+
|
|
547
561
|
# Appendix A - Flop counting / analysis details
|
|
548
562
|
|
|
549
|
-
This appendix provides detailed information about how each floating-point operation (FLOP) type is counted and analyzed in the `counted-float` package. For each flop type, you will find:
|
|
563
|
+
This appendix provides detailed information about how each floating-point operation (FLOP) type is counted and analyzed in the `counted-float` package. All `math.*` entries below assume an active `FlopCountingContext` (outside one, the `math` module is not instrumented). For each flop type, you will find:
|
|
550
564
|
- Relevant scalar instructions for ARM (v8+) and x86 (SSE2+)
|
|
551
565
|
- Python operations that are counted for this flop type
|
|
552
566
|
- Python operations that are *not* counted for this flop type
|
|
@@ -705,4 +719,4 @@ This appendix provides detailed information about how each floating-point operat
|
|
|
705
719
|
- **ARM:** (software)
|
|
706
720
|
- **x86:** (software)
|
|
707
721
|
- **Counted Python operations:** `math.tan(x)` for `CountedFloat`
|
|
708
|
-
- **Not counted:** `tan` on non-CountedFloat, `numpy.tan
|
|
722
|
+
- **Not counted:** `tan` on non-CountedFloat, `numpy.tan
|