zouinkhim commited on
Commit
e743c69
·
verified ·
1 Parent(s): 665be62

Model card: both graph layouts + browser WebGPU benchmark (Apple GPU, real EM)

Browse files
Files changed (2) hide show
  1. README.md +89 -1
  2. webgpu_bench.json +977 -0
README.md CHANGED
@@ -13,6 +13,11 @@ Every file takes `input` float32 `[1,1,z,y,x]` and returns `output` float32 **ra
13
  (`[{"name":"MinMaxNormalizer","min_value":0,"max_value":255},{"name":"LambdaNormalizer","expression":"2*x-1"}]`).
14
  The input block size is fixed per file (`_in<N>` = N³ voxels); valid convolutions, so the output is N−88 per axis.
15
 
 
 
 
 
 
16
  ## Models
17
 
18
  | folder | target | channels | voxel (nm) | architecture | params | checkpoint | val F1 |
@@ -45,6 +50,88 @@ Both are exact (same math, same weights; verified against the PyTorch model):
45
  Peak memory is dominated by activations, not weights: the largest single tensor is ~40×N³ (ResUNet) or ~32×(N−2)³ (Unet3dIso)
46
  values, e.g. 259 MB fp16 / 519 MB fp32 at N=148. Pick a smaller block if your GPU's WebGPU `maxBufferSize` is lower.
47
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  ## Fidelity vs. fp32 PyTorch (onnxruntime CPU)
49
 
50
  One real EM crop per model (jrc_c-elegans-comma-1 at the model's voxel size). `flip %` = voxels whose `logit > 0` decision
@@ -127,7 +214,8 @@ differs from PyTorch. A consistency check, not a re-run of F1 validation.
127
 
128
  ## Use in cellmap-flow serverless
129
 
130
- ONNX model → remote URL `https://huggingface.co/cellmap/onnx-web-models/resolve/main/<folder>/<file>.onnx`;
 
131
  Input size `N,N,N`, Output size `N-88,N-88,N-88`, input/output voxel = the model's voxel size, Channels = number of channels
132
  (Has channel axis = true for the 3-channel affinity models). Each folder's `manifest.json` has the full metadata.
133
  Anonymous Hugging Face downloads are rate-limited (HTTP 429), so clients should cache the model bytes.
 
13
  (`[{"name":"MinMaxNormalizer","min_value":0,"max_value":255},{"name":"LambdaNormalizer","expression":"2*x-1"}]`).
14
  The input block size is fixed per file (`_in<N>` = N³ voxels); valid convolutions, so the output is N−88 per axis.
15
 
16
+ Two graph layouts of the **same models** (same weights, same outputs up to float rounding):
17
+
18
+ - `setup_XX/…` — **recommended**: every Conv3d rewritten as Conv2d over a depth-folded batch (~16× faster on WebGPU, see below).
19
+ - `conv3d/setup_XX/…` — native Conv3d nodes, for runtimes with a fast 3D conv (e.g. onnxruntime CUDA/CPU, TensorRT).
20
+
21
  ## Models
22
 
23
  | folder | target | channels | voxel (nm) | architecture | params | checkpoint | val F1 |
 
50
  Peak memory is dominated by activations, not weights: the largest single tensor is ~40×N³ (ResUNet) or ~32×(N−2)³ (Unet3dIso)
51
  values, e.g. 259 MB fp16 / 519 MB fp32 at N=148. Pick a smaller block if your GPU's WebGPU `maxBufferSize` is lower.
52
 
53
+ ## Browser WebGPU benchmark
54
+
55
+ Measured in Chrome 154 on macOS, Apple GPU (WebGPU `metal-3`), onnxruntime-web 1.27.0-dev.20260506; best of 3 runs after one warm-up run.
56
+
57
+ Real EM (jrc_mus-liver, public OpenOrganelle data) at each model's voxel size. `vs fp32 flip %` = voxels whose `logit > 0`
58
+ decision differs from the same model's fp32 file on WebGPU.
59
+
60
+ | model | block | variant | ms / block | output voxels / s | max abs vs PyTorch (sampled) | flip % vs fp32 |
61
+ |---|---|---|---|---|---|---|
62
+ | `setup_54` | 148³ | `fp32` | 1203 | 179,551 | 0.001 | — |
63
+ | `setup_54` | 148³ | `fp16` | 905 | 238,674 | 0.082 | 0.0 |
64
+ | `setup_54` | 148³ | `int8w` | 1216 | 177,632 | 0.106 | 0.0 |
65
+ | `setup_54` | 148³ | `int8w_fp16` | 879 | 245,734 | 0.153 | 0.0 |
66
+ | `setup_54` | 132³ | `fp32` | 796 | 107,015 | 0.0 | — |
67
+ | `setup_54` | 132³ | `fp16` | 573 | 148,663 | 0.072 | 0.0 |
68
+ | `setup_54` | 132³ | `int8w` | 1096 | 77,723 | 0.096 | 0.0 |
69
+ | `setup_54` | 132³ | `int8w_fp16` | 558 | 152,659 | 0.09 | 0.0 |
70
+ | `setup_54` | 116³ | `fp32` | 516 | 42,543 | 0.001 | — |
71
+ | `setup_54` | 116³ | `fp16` | 323 | 67,963 | 0.048 | 0.0 |
72
+ | `setup_54` | 116³ | `int8w` | 531 | 41,341 | 0.103 | 0.0 |
73
+ | `setup_54` | 116³ | `int8w_fp16` | 328 | 66,927 | 0.101 | 0.0 |
74
+ | `setup_53` | 172³ | `fp32` | 1137 | 521,288 | 0.001 | — |
75
+ | `setup_53` | 172³ | `fp16` | 741 | 799,870 | 0.071 | 0.0 |
76
+ | `setup_53` | 172³ | `int8w` | 1013 | 585,098 | 0.208 | 0.0 |
77
+ | `setup_53` | 172³ | `int8w_fp16` | 737 | 804,212 | 0.166 | 0.0 |
78
+ | `setup_53` | 140³ | `fp32` | 533 | 263,805 | 0.0 | — |
79
+ | `setup_53` | 140³ | `fp16` | 336 | 418,476 | 0.076 | 0.0 |
80
+ | `setup_53` | 140³ | `int8w` | 494 | 284,632 | 0.268 | 0.0 |
81
+ | `setup_53` | 140³ | `int8w_fp16` | 328 | 428,683 | 0.225 | 0.0 |
82
+ | `setup_53` | 124³ | `fp32` | 348 | 134,069 | 0.0 | — |
83
+ | `setup_53` | 124³ | `fp16` | 157 | 297,172 | 0.073 | 0.0 |
84
+ | `setup_53` | 124³ | `int8w` | 317 | 147,180 | 0.194 | 0.0 |
85
+ | `setup_53` | 124³ | `int8w_fp16` | 160 | 291,600 | 0.201 | 0.0 |
86
+ | `setup_56` | 148³ | `fp32` | 1208 | 178,808 | 0.001 | — |
87
+ | `setup_56` | 148³ | `fp16` | 921 | 234,528 | 0.2 | 0.0 |
88
+ | `setup_56` | 148³ | `int8w` | 1219 | 177,194 | 0.379 | 0.0 |
89
+ | `setup_56` | 148³ | `int8w_fp16` | 880 | 245,455 | 0.34 | 0.0 |
90
+ | `setup_56` | 132³ | `fp32` | 811 | 105,036 | 0.001 | — |
91
+ | `setup_56` | 132³ | `fp16` | 574 | 148,404 | 0.16 | 0.0 |
92
+ | `setup_56` | 132³ | `int8w` | 822 | 103,630 | 0.447 | 0.0 |
93
+ | `setup_56` | 132³ | `int8w_fp16` | 559 | 152,386 | 0.266 | 0.0 |
94
+ | `setup_56` | 116³ | `fp32` | 527 | 41,655 | 0.001 | — |
95
+ | `setup_56` | 116³ | `fp16` | 324 | 67,753 | 0.119 | 0.0 |
96
+ | `setup_56` | 116³ | `int8w` | 526 | 41,734 | 0.342 | 0.0 |
97
+ | `setup_56` | 116³ | `int8w_fp16` | 326 | 67,337 | 0.332 | 0.0 |
98
+ | `setup_55` | 172³ | `fp32` | 1080 | 548,800 | 0.001 | — |
99
+ | `setup_55` | 172³ | `fp16` | 758 | 781,931 | 0.117 | 0.0 |
100
+ | `setup_55` | 172³ | `int8w` | 989 | 599,296 | 0.558 | 0.0 |
101
+ | `setup_55` | 172³ | `int8w_fp16` | 736 | 805,304 | 0.65 | 0.0 |
102
+ | `setup_55` | 140³ | `fp32` | 506 | 277,881 | 0.001 | — |
103
+ | `setup_55` | 140³ | `fp16` | 319 | 440,777 | 0.131 | 0.0 |
104
+ | `setup_55` | 140³ | `int8w` | 481 | 292,324 | 0.531 | 0.0 |
105
+ | `setup_55` | 140³ | `int8w_fp16` | 336 | 418,476 | 0.512 | 0.0 |
106
+ | `setup_55` | 124³ | `fp32` | 331 | 140,955 | 0.001 | — |
107
+ | `setup_55` | 124³ | `fp16` | 156 | 299,077 | 0.103 | 0.0 |
108
+ | `setup_55` | 124³ | `int8w` | 315 | 148,114 | 0.314 | 0.0 |
109
+ | `setup_55` | 124³ | `int8w_fp16` | 160 | 291,600 | 0.402 | 0.0 |
110
+ | `setup_61` | 148³ | `fp32` | 1220 | 177,049 | 0.001 | — |
111
+ | `setup_61` | 148³ | `fp16` | 900 | 240,000 | 0.124 | 0.0019 |
112
+ | `setup_61` | 148³ | `int8w` | 1224 | 176,471 | 0.328 | 0.0032 |
113
+ | `setup_61` | 148³ | `int8w_fp16` | 869 | 248,562 | 0.362 | 0.0037 |
114
+ | `setup_61` | 132³ | `fp32` | 809 | 105,295 | 0.001 | — |
115
+ | `setup_61` | 132³ | `fp16` | 574 | 148,404 | 0.164 | 0.0 |
116
+ | `setup_61` | 132³ | `int8w` | 808 | 105,426 | 0.407 | 0.0 |
117
+ | `setup_61` | 132³ | `int8w_fp16` | 555 | 153,485 | 0.482 | 0.0 |
118
+ | `setup_61` | 116³ | `fp32` | 514 | 42,708 | 0.001 | — |
119
+ | `setup_61` | 116³ | `fp16` | 322 | 68,174 | 0.145 | 0.0 |
120
+ | `setup_61` | 116³ | `int8w` | 525 | 41,813 | 0.303 | 0.0 |
121
+ | `setup_61` | 116³ | `int8w_fp16` | 327 | 67,131 | 0.434 | 0.0 |
122
+ | `setup_67` | 148³ | `fp32` | 1233 | 175,182 | 0.0 | — |
123
+ | `setup_67` | 148³ | `fp16` | 890 | 242,697 | 0.03 | 0.0148 |
124
+ | `setup_67` | 148³ | `int8w` | 1221 | 176,904 | 0.042 | 0.0282 |
125
+ | `setup_67` | 148³ | `int8w_fp16` | 870 | 248,276 | 0.048 | 0.0356 |
126
+ | `setup_67` | 132³ | `fp32` | 809 | 105,295 | 0.0 | — |
127
+ | `setup_67` | 132³ | `fp16` | 569 | 149,708 | 0.035 | 0.0129 |
128
+ | `setup_67` | 132³ | `int8w` | 796 | 107,015 | 0.037 | 0.0399 |
129
+ | `setup_67` | 132³ | `int8w_fp16` | 556 | 153,209 | 0.047 | 0.0434 |
130
+ | `setup_67` | 116³ | `fp32` | 532 | 41,263 | 0.0 | — |
131
+ | `setup_67` | 116³ | `fp16` | 323 | 67,963 | 0.039 | 0.0501 |
132
+ | `setup_67` | 116³ | `int8w` | 529 | 41,497 | 0.043 | 0.0866 |
133
+ | `setup_67` | 116³ | `int8w_fp16` | 327 | 67,131 | 0.066 | 0.0729 |
134
+
135
  ## Fidelity vs. fp32 PyTorch (onnxruntime CPU)
136
 
137
  One real EM crop per model (jrc_c-elegans-comma-1 at the model's voxel size). `flip %` = voxels whose `logit > 0` decision
 
214
 
215
  ## Use in cellmap-flow serverless
216
 
217
+ ONNX model → remote URL `https://huggingface.co/cellmap/onnx-web-models/resolve/main/<folder>/<file>.onnx`
218
+ (e.g. `setup_54/setup_54_mito_affinities_16nm_in148_fp32.onnx`);
219
  Input size `N,N,N`, Output size `N-88,N-88,N-88`, input/output voxel = the model's voxel size, Channels = number of channels
220
  (Has channel axis = true for the 3-channel affinity models). Each folder's `manifest.json` has the full metadata.
221
  Anonymous Hugging Face downloads are rate-limited (HTTP 429), so clients should cache the model bytes.
webgpu_bench.json ADDED
@@ -0,0 +1,977 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "_device": "Measured in Chrome 154 on macOS, Apple GPU (WebGPU `metal-3`), onnxruntime-web 1.27.0-dev.20260506; best of 3 runs after one warm-up run."
4
+ },
5
+ {
6
+ "m": "setup_54",
7
+ "n": 148,
8
+ "v": "fp32",
9
+ "out": 60,
10
+ "mb": 42.9,
11
+ "first_ms": 2727,
12
+ "run_ms": 1203,
13
+ "vs_torch_max": 0.001,
14
+ "pos": 0,
15
+ "torch_pos": 0
16
+ },
17
+ {
18
+ "m": "setup_54",
19
+ "n": 148,
20
+ "v": "fp16",
21
+ "out": 60,
22
+ "mb": 21.5,
23
+ "first_ms": 3505,
24
+ "run_ms": 905,
25
+ "vs_torch_max": 0.082,
26
+ "pos": 0,
27
+ "torch_pos": 0,
28
+ "vs_fp32_max": 0.137,
29
+ "flip_pct": 0.0
30
+ },
31
+ {
32
+ "m": "setup_54",
33
+ "n": 148,
34
+ "v": "int8w",
35
+ "out": 60,
36
+ "mb": 10.9,
37
+ "first_ms": 1269,
38
+ "run_ms": 1216,
39
+ "vs_torch_max": 0.106,
40
+ "pos": 0,
41
+ "torch_pos": 0,
42
+ "vs_fp32_max": 0.183,
43
+ "flip_pct": 0.0
44
+ },
45
+ {
46
+ "m": "setup_54",
47
+ "n": 148,
48
+ "v": "int8w_fp16",
49
+ "out": 60,
50
+ "mb": 10.9,
51
+ "first_ms": 885,
52
+ "run_ms": 879,
53
+ "vs_torch_max": 0.153,
54
+ "pos": 0,
55
+ "torch_pos": 0,
56
+ "vs_fp32_max": 0.193,
57
+ "flip_pct": 0.0
58
+ },
59
+ {
60
+ "m": "setup_54",
61
+ "n": 132,
62
+ "v": "fp32",
63
+ "out": 44,
64
+ "mb": 42.9,
65
+ "first_ms": 1580,
66
+ "run_ms": 796,
67
+ "vs_torch_max": 0.0,
68
+ "pos": 0,
69
+ "torch_pos": 0
70
+ },
71
+ {
72
+ "m": "setup_54",
73
+ "n": 132,
74
+ "v": "fp16",
75
+ "out": 44,
76
+ "mb": 21.5,
77
+ "first_ms": 2357,
78
+ "run_ms": 573,
79
+ "vs_torch_max": 0.072,
80
+ "pos": 0,
81
+ "torch_pos": 0,
82
+ "vs_fp32_max": 0.126,
83
+ "flip_pct": 0.0
84
+ },
85
+ {
86
+ "m": "setup_54",
87
+ "n": 132,
88
+ "v": "int8w",
89
+ "out": 44,
90
+ "mb": 10.9,
91
+ "first_ms": 4422,
92
+ "run_ms": 1096,
93
+ "vs_torch_max": 0.096,
94
+ "pos": 0,
95
+ "torch_pos": 0,
96
+ "vs_fp32_max": 0.252,
97
+ "flip_pct": 0.0
98
+ },
99
+ {
100
+ "m": "setup_54",
101
+ "n": 132,
102
+ "v": "int8w_fp16",
103
+ "out": 44,
104
+ "mb": 10.9,
105
+ "first_ms": 588,
106
+ "run_ms": 558,
107
+ "vs_torch_max": 0.09,
108
+ "pos": 0,
109
+ "torch_pos": 0,
110
+ "vs_fp32_max": 0.191,
111
+ "flip_pct": 0.0
112
+ },
113
+ {
114
+ "m": "setup_54",
115
+ "n": 116,
116
+ "v": "fp32",
117
+ "out": 28,
118
+ "mb": 42.9,
119
+ "first_ms": 543,
120
+ "run_ms": 516,
121
+ "vs_torch_max": 0.001,
122
+ "pos": 0,
123
+ "torch_pos": 0
124
+ },
125
+ {
126
+ "m": "setup_54",
127
+ "n": 116,
128
+ "v": "fp16",
129
+ "out": 28,
130
+ "mb": 21.5,
131
+ "first_ms": 367,
132
+ "run_ms": 323,
133
+ "vs_torch_max": 0.048,
134
+ "pos": 0,
135
+ "torch_pos": 0,
136
+ "vs_fp32_max": 0.098,
137
+ "flip_pct": 0.0
138
+ },
139
+ {
140
+ "m": "setup_54",
141
+ "n": 116,
142
+ "v": "int8w",
143
+ "out": 28,
144
+ "mb": 10.9,
145
+ "first_ms": 568,
146
+ "run_ms": 531,
147
+ "vs_torch_max": 0.103,
148
+ "pos": 0,
149
+ "torch_pos": 0,
150
+ "vs_fp32_max": 0.167,
151
+ "flip_pct": 0.0
152
+ },
153
+ {
154
+ "m": "setup_54",
155
+ "n": 116,
156
+ "v": "int8w_fp16",
157
+ "out": 28,
158
+ "mb": 10.9,
159
+ "first_ms": 367,
160
+ "run_ms": 328,
161
+ "vs_torch_max": 0.101,
162
+ "pos": 0,
163
+ "torch_pos": 0,
164
+ "vs_fp32_max": 0.185,
165
+ "flip_pct": 0.0
166
+ },
167
+ {
168
+ "m": "setup_53",
169
+ "n": 172,
170
+ "v": "fp32",
171
+ "out": 84,
172
+ "mb": 22.5,
173
+ "first_ms": 1174,
174
+ "run_ms": 1137,
175
+ "vs_torch_max": 0.001,
176
+ "pos": 0,
177
+ "torch_pos": 0
178
+ },
179
+ {
180
+ "m": "setup_53",
181
+ "n": 172,
182
+ "v": "fp16",
183
+ "out": 84,
184
+ "mb": 11.3,
185
+ "first_ms": 780,
186
+ "run_ms": 741,
187
+ "vs_torch_max": 0.071,
188
+ "pos": 0,
189
+ "torch_pos": 0,
190
+ "vs_fp32_max": 0.188,
191
+ "flip_pct": 0.0
192
+ },
193
+ {
194
+ "m": "setup_53",
195
+ "n": 172,
196
+ "v": "int8w",
197
+ "out": 84,
198
+ "mb": 5.8,
199
+ "first_ms": 1121,
200
+ "run_ms": 1013,
201
+ "vs_torch_max": 0.208,
202
+ "pos": 0,
203
+ "torch_pos": 0,
204
+ "vs_fp32_max": 0.433,
205
+ "flip_pct": 0.0
206
+ },
207
+ {
208
+ "m": "setup_53",
209
+ "n": 172,
210
+ "v": "int8w_fp16",
211
+ "out": 84,
212
+ "mb": 5.8,
213
+ "first_ms": 729,
214
+ "run_ms": 737,
215
+ "vs_torch_max": 0.166,
216
+ "pos": 0,
217
+ "torch_pos": 0,
218
+ "vs_fp32_max": 0.384,
219
+ "flip_pct": 0.0
220
+ },
221
+ {
222
+ "m": "setup_53",
223
+ "n": 140,
224
+ "v": "fp32",
225
+ "out": 52,
226
+ "mb": 22.5,
227
+ "first_ms": 528,
228
+ "run_ms": 533,
229
+ "vs_torch_max": 0.0,
230
+ "pos": 0,
231
+ "torch_pos": 0
232
+ },
233
+ {
234
+ "m": "setup_53",
235
+ "n": 140,
236
+ "v": "fp16",
237
+ "out": 52,
238
+ "mb": 11.3,
239
+ "first_ms": 392,
240
+ "run_ms": 336,
241
+ "vs_torch_max": 0.076,
242
+ "pos": 0,
243
+ "torch_pos": 0,
244
+ "vs_fp32_max": 0.14,
245
+ "flip_pct": 0.0
246
+ },
247
+ {
248
+ "m": "setup_53",
249
+ "n": 140,
250
+ "v": "int8w",
251
+ "out": 52,
252
+ "mb": 5.8,
253
+ "first_ms": 487,
254
+ "run_ms": 494,
255
+ "vs_torch_max": 0.268,
256
+ "pos": 0,
257
+ "torch_pos": 0,
258
+ "vs_fp32_max": 0.433,
259
+ "flip_pct": 0.0
260
+ },
261
+ {
262
+ "m": "setup_53",
263
+ "n": 140,
264
+ "v": "int8w_fp16",
265
+ "out": 52,
266
+ "mb": 5.8,
267
+ "first_ms": 341,
268
+ "run_ms": 328,
269
+ "vs_torch_max": 0.225,
270
+ "pos": 0,
271
+ "torch_pos": 0,
272
+ "vs_fp32_max": 0.384,
273
+ "flip_pct": 0.0
274
+ },
275
+ {
276
+ "m": "setup_53",
277
+ "n": 124,
278
+ "v": "fp32",
279
+ "out": 36,
280
+ "mb": 22.5,
281
+ "first_ms": 354,
282
+ "run_ms": 348,
283
+ "vs_torch_max": 0.0,
284
+ "pos": 0,
285
+ "torch_pos": 0
286
+ },
287
+ {
288
+ "m": "setup_53",
289
+ "n": 124,
290
+ "v": "fp16",
291
+ "out": 36,
292
+ "mb": 11.3,
293
+ "first_ms": 209,
294
+ "run_ms": 157,
295
+ "vs_torch_max": 0.073,
296
+ "pos": 0,
297
+ "torch_pos": 0,
298
+ "vs_fp32_max": 0.118,
299
+ "flip_pct": 0.0
300
+ },
301
+ {
302
+ "m": "setup_53",
303
+ "n": 124,
304
+ "v": "int8w",
305
+ "out": 36,
306
+ "mb": 5.8,
307
+ "first_ms": 328,
308
+ "run_ms": 317,
309
+ "vs_torch_max": 0.194,
310
+ "pos": 0,
311
+ "torch_pos": 0,
312
+ "vs_fp32_max": 0.285,
313
+ "flip_pct": 0.0
314
+ },
315
+ {
316
+ "m": "setup_53",
317
+ "n": 124,
318
+ "v": "int8w_fp16",
319
+ "out": 36,
320
+ "mb": 5.8,
321
+ "first_ms": 186,
322
+ "run_ms": 160,
323
+ "vs_torch_max": 0.201,
324
+ "pos": 0,
325
+ "torch_pos": 0,
326
+ "vs_fp32_max": 0.384,
327
+ "flip_pct": 0.0
328
+ },
329
+ {
330
+ "m": "setup_56",
331
+ "n": 148,
332
+ "v": "fp32",
333
+ "out": 60,
334
+ "mb": 42.9,
335
+ "first_ms": 1216,
336
+ "run_ms": 1208,
337
+ "vs_torch_max": 0.001,
338
+ "pos": 0,
339
+ "torch_pos": 0
340
+ },
341
+ {
342
+ "m": "setup_56",
343
+ "n": 148,
344
+ "v": "fp16",
345
+ "out": 60,
346
+ "mb": 21.5,
347
+ "first_ms": 915,
348
+ "run_ms": 921,
349
+ "vs_torch_max": 0.2,
350
+ "pos": 0,
351
+ "torch_pos": 0,
352
+ "vs_fp32_max": 0.543,
353
+ "flip_pct": 0.0
354
+ },
355
+ {
356
+ "m": "setup_56",
357
+ "n": 148,
358
+ "v": "int8w",
359
+ "out": 60,
360
+ "mb": 10.9,
361
+ "first_ms": 1244,
362
+ "run_ms": 1219,
363
+ "vs_torch_max": 0.379,
364
+ "pos": 0,
365
+ "torch_pos": 0,
366
+ "vs_fp32_max": 0.945,
367
+ "flip_pct": 0.0
368
+ },
369
+ {
370
+ "m": "setup_56",
371
+ "n": 148,
372
+ "v": "int8w_fp16",
373
+ "out": 60,
374
+ "mb": 10.9,
375
+ "first_ms": 881,
376
+ "run_ms": 880,
377
+ "vs_torch_max": 0.34,
378
+ "pos": 0,
379
+ "torch_pos": 0,
380
+ "vs_fp32_max": 1.011,
381
+ "flip_pct": 0.0
382
+ },
383
+ {
384
+ "m": "setup_56",
385
+ "n": 132,
386
+ "v": "fp32",
387
+ "out": 44,
388
+ "mb": 42.9,
389
+ "first_ms": 826,
390
+ "run_ms": 811,
391
+ "vs_torch_max": 0.001,
392
+ "pos": 0,
393
+ "torch_pos": 0
394
+ },
395
+ {
396
+ "m": "setup_56",
397
+ "n": 132,
398
+ "v": "fp16",
399
+ "out": 44,
400
+ "mb": 21.5,
401
+ "first_ms": 616,
402
+ "run_ms": 574,
403
+ "vs_torch_max": 0.16,
404
+ "pos": 0,
405
+ "torch_pos": 0,
406
+ "vs_fp32_max": 0.404,
407
+ "flip_pct": 0.0
408
+ },
409
+ {
410
+ "m": "setup_56",
411
+ "n": 132,
412
+ "v": "int8w",
413
+ "out": 44,
414
+ "mb": 10.9,
415
+ "first_ms": 816,
416
+ "run_ms": 822,
417
+ "vs_torch_max": 0.447,
418
+ "pos": 0,
419
+ "torch_pos": 0,
420
+ "vs_fp32_max": 0.646,
421
+ "flip_pct": 0.0
422
+ },
423
+ {
424
+ "m": "setup_56",
425
+ "n": 132,
426
+ "v": "int8w_fp16",
427
+ "out": 44,
428
+ "mb": 10.9,
429
+ "first_ms": 586,
430
+ "run_ms": 559,
431
+ "vs_torch_max": 0.266,
432
+ "pos": 0,
433
+ "torch_pos": 0,
434
+ "vs_fp32_max": 0.627,
435
+ "flip_pct": 0.0
436
+ },
437
+ {
438
+ "m": "setup_56",
439
+ "n": 116,
440
+ "v": "fp32",
441
+ "out": 28,
442
+ "mb": 42.9,
443
+ "first_ms": 523,
444
+ "run_ms": 527,
445
+ "vs_torch_max": 0.001,
446
+ "pos": 0,
447
+ "torch_pos": 0
448
+ },
449
+ {
450
+ "m": "setup_56",
451
+ "n": 116,
452
+ "v": "fp16",
453
+ "out": 28,
454
+ "mb": 21.5,
455
+ "first_ms": 454,
456
+ "run_ms": 324,
457
+ "vs_torch_max": 0.119,
458
+ "pos": 0,
459
+ "torch_pos": 0,
460
+ "vs_fp32_max": 0.268,
461
+ "flip_pct": 0.0
462
+ },
463
+ {
464
+ "m": "setup_56",
465
+ "n": 116,
466
+ "v": "int8w",
467
+ "out": 28,
468
+ "mb": 10.9,
469
+ "first_ms": 536,
470
+ "run_ms": 526,
471
+ "vs_torch_max": 0.342,
472
+ "pos": 0,
473
+ "torch_pos": 0,
474
+ "vs_fp32_max": 0.533,
475
+ "flip_pct": 0.0
476
+ },
477
+ {
478
+ "m": "setup_56",
479
+ "n": 116,
480
+ "v": "int8w_fp16",
481
+ "out": 28,
482
+ "mb": 10.9,
483
+ "first_ms": 370,
484
+ "run_ms": 326,
485
+ "vs_torch_max": 0.332,
486
+ "pos": 0,
487
+ "torch_pos": 0,
488
+ "vs_fp32_max": 0.531,
489
+ "flip_pct": 0.0
490
+ },
491
+ {
492
+ "m": "setup_55",
493
+ "n": 172,
494
+ "v": "fp32",
495
+ "out": 84,
496
+ "mb": 22.5,
497
+ "first_ms": 1135,
498
+ "run_ms": 1080,
499
+ "vs_torch_max": 0.001,
500
+ "pos": 342,
501
+ "torch_pos": 342
502
+ },
503
+ {
504
+ "m": "setup_55",
505
+ "n": 172,
506
+ "v": "fp16",
507
+ "out": 84,
508
+ "mb": 11.3,
509
+ "first_ms": 758,
510
+ "run_ms": 758,
511
+ "vs_torch_max": 0.117,
512
+ "pos": 342,
513
+ "torch_pos": 342,
514
+ "vs_fp32_max": 0.269,
515
+ "flip_pct": 0.0
516
+ },
517
+ {
518
+ "m": "setup_55",
519
+ "n": 172,
520
+ "v": "int8w",
521
+ "out": 84,
522
+ "mb": 5.8,
523
+ "first_ms": 998,
524
+ "run_ms": 989,
525
+ "vs_torch_max": 0.558,
526
+ "pos": 342,
527
+ "torch_pos": 342,
528
+ "vs_fp32_max": 1.121,
529
+ "flip_pct": 0.0
530
+ },
531
+ {
532
+ "m": "setup_55",
533
+ "n": 172,
534
+ "v": "int8w_fp16",
535
+ "out": 84,
536
+ "mb": 5.8,
537
+ "first_ms": 729,
538
+ "run_ms": 736,
539
+ "vs_torch_max": 0.65,
540
+ "pos": 342,
541
+ "torch_pos": 342,
542
+ "vs_fp32_max": 0.971,
543
+ "flip_pct": 0.0
544
+ },
545
+ {
546
+ "m": "setup_55",
547
+ "n": 140,
548
+ "v": "fp32",
549
+ "out": 52,
550
+ "mb": 22.5,
551
+ "first_ms": 537,
552
+ "run_ms": 506,
553
+ "vs_torch_max": 0.001,
554
+ "pos": 0,
555
+ "torch_pos": 0
556
+ },
557
+ {
558
+ "m": "setup_55",
559
+ "n": 140,
560
+ "v": "fp16",
561
+ "out": 52,
562
+ "mb": 11.3,
563
+ "first_ms": 342,
564
+ "run_ms": 319,
565
+ "vs_torch_max": 0.131,
566
+ "pos": 0,
567
+ "torch_pos": 0,
568
+ "vs_fp32_max": 0.269,
569
+ "flip_pct": 0.0
570
+ },
571
+ {
572
+ "m": "setup_55",
573
+ "n": 140,
574
+ "v": "int8w",
575
+ "out": 52,
576
+ "mb": 5.8,
577
+ "first_ms": 490,
578
+ "run_ms": 481,
579
+ "vs_torch_max": 0.531,
580
+ "pos": 0,
581
+ "torch_pos": 0,
582
+ "vs_fp32_max": 1.059,
583
+ "flip_pct": 0.0
584
+ },
585
+ {
586
+ "m": "setup_55",
587
+ "n": 140,
588
+ "v": "int8w_fp16",
589
+ "out": 52,
590
+ "mb": 5.8,
591
+ "first_ms": 5997,
592
+ "run_ms": 336,
593
+ "vs_torch_max": 0.512,
594
+ "pos": 0,
595
+ "torch_pos": 0,
596
+ "vs_fp32_max": 0.971,
597
+ "flip_pct": 0.0
598
+ },
599
+ {
600
+ "m": "setup_55",
601
+ "n": 124,
602
+ "v": "fp32",
603
+ "out": 36,
604
+ "mb": 22.5,
605
+ "first_ms": 415,
606
+ "run_ms": 331,
607
+ "vs_torch_max": 0.001,
608
+ "pos": 0,
609
+ "torch_pos": 0
610
+ },
611
+ {
612
+ "m": "setup_55",
613
+ "n": 124,
614
+ "v": "fp16",
615
+ "out": 36,
616
+ "mb": 11.3,
617
+ "first_ms": 862,
618
+ "run_ms": 156,
619
+ "vs_torch_max": 0.103,
620
+ "pos": 0,
621
+ "torch_pos": 0,
622
+ "vs_fp32_max": 0.269,
623
+ "flip_pct": 0.0
624
+ },
625
+ {
626
+ "m": "setup_55",
627
+ "n": 124,
628
+ "v": "int8w",
629
+ "out": 36,
630
+ "mb": 5.8,
631
+ "first_ms": 421,
632
+ "run_ms": 315,
633
+ "vs_torch_max": 0.314,
634
+ "pos": 0,
635
+ "torch_pos": 0,
636
+ "vs_fp32_max": 0.785,
637
+ "flip_pct": 0.0
638
+ },
639
+ {
640
+ "m": "setup_55",
641
+ "n": 124,
642
+ "v": "int8w_fp16",
643
+ "out": 36,
644
+ "mb": 5.8,
645
+ "first_ms": 308,
646
+ "run_ms": 160,
647
+ "vs_torch_max": 0.402,
648
+ "pos": 0,
649
+ "torch_pos": 0,
650
+ "vs_fp32_max": 0.611,
651
+ "flip_pct": 0.0
652
+ },
653
+ {
654
+ "m": "setup_61",
655
+ "n": 148,
656
+ "v": "fp32",
657
+ "out": 60,
658
+ "mb": 42.9,
659
+ "first_ms": 1237,
660
+ "run_ms": 1220,
661
+ "vs_torch_max": 0.001,
662
+ "pos": 2526,
663
+ "torch_pos": 2526
664
+ },
665
+ {
666
+ "m": "setup_61",
667
+ "n": 148,
668
+ "v": "fp16",
669
+ "out": 60,
670
+ "mb": 21.5,
671
+ "first_ms": 918,
672
+ "run_ms": 900,
673
+ "vs_torch_max": 0.124,
674
+ "pos": 2526,
675
+ "torch_pos": 2526,
676
+ "vs_fp32_max": 0.249,
677
+ "flip_pct": 0.0019
678
+ },
679
+ {
680
+ "m": "setup_61",
681
+ "n": 148,
682
+ "v": "int8w",
683
+ "out": 60,
684
+ "mb": 10.9,
685
+ "first_ms": 1321,
686
+ "run_ms": 1224,
687
+ "vs_torch_max": 0.328,
688
+ "pos": 2533,
689
+ "torch_pos": 2526,
690
+ "vs_fp32_max": 0.584,
691
+ "flip_pct": 0.0032
692
+ },
693
+ {
694
+ "m": "setup_61",
695
+ "n": 148,
696
+ "v": "int8w_fp16",
697
+ "out": 60,
698
+ "mb": 10.9,
699
+ "first_ms": 896,
700
+ "run_ms": 869,
701
+ "vs_torch_max": 0.362,
702
+ "pos": 2534,
703
+ "torch_pos": 2526,
704
+ "vs_fp32_max": 0.791,
705
+ "flip_pct": 0.0037
706
+ },
707
+ {
708
+ "m": "setup_61",
709
+ "n": 132,
710
+ "v": "fp32",
711
+ "out": 44,
712
+ "mb": 42.9,
713
+ "first_ms": 811,
714
+ "run_ms": 809,
715
+ "vs_torch_max": 0.001,
716
+ "pos": 62,
717
+ "torch_pos": 62
718
+ },
719
+ {
720
+ "m": "setup_61",
721
+ "n": 132,
722
+ "v": "fp16",
723
+ "out": 44,
724
+ "mb": 21.5,
725
+ "first_ms": 608,
726
+ "run_ms": 574,
727
+ "vs_torch_max": 0.164,
728
+ "pos": 62,
729
+ "torch_pos": 62,
730
+ "vs_fp32_max": 0.251,
731
+ "flip_pct": 0.0
732
+ },
733
+ {
734
+ "m": "setup_61",
735
+ "n": 132,
736
+ "v": "int8w",
737
+ "out": 44,
738
+ "mb": 10.9,
739
+ "first_ms": 812,
740
+ "run_ms": 808,
741
+ "vs_torch_max": 0.407,
742
+ "pos": 62,
743
+ "torch_pos": 62,
744
+ "vs_fp32_max": 0.612,
745
+ "flip_pct": 0.0
746
+ },
747
+ {
748
+ "m": "setup_61",
749
+ "n": 132,
750
+ "v": "int8w_fp16",
751
+ "out": 44,
752
+ "mb": 10.9,
753
+ "first_ms": 588,
754
+ "run_ms": 555,
755
+ "vs_torch_max": 0.482,
756
+ "pos": 62,
757
+ "torch_pos": 62,
758
+ "vs_fp32_max": 0.803,
759
+ "flip_pct": 0.0
760
+ },
761
+ {
762
+ "m": "setup_61",
763
+ "n": 116,
764
+ "v": "fp32",
765
+ "out": 28,
766
+ "mb": 42.9,
767
+ "first_ms": 530,
768
+ "run_ms": 514,
769
+ "vs_torch_max": 0.001,
770
+ "pos": 0,
771
+ "torch_pos": 0
772
+ },
773
+ {
774
+ "m": "setup_61",
775
+ "n": 116,
776
+ "v": "fp16",
777
+ "out": 28,
778
+ "mb": 21.5,
779
+ "first_ms": 429,
780
+ "run_ms": 322,
781
+ "vs_torch_max": 0.145,
782
+ "pos": 0,
783
+ "torch_pos": 0,
784
+ "vs_fp32_max": 0.28,
785
+ "flip_pct": 0.0
786
+ },
787
+ {
788
+ "m": "setup_61",
789
+ "n": 116,
790
+ "v": "int8w",
791
+ "out": 28,
792
+ "mb": 10.9,
793
+ "first_ms": 534,
794
+ "run_ms": 525,
795
+ "vs_torch_max": 0.303,
796
+ "pos": 0,
797
+ "torch_pos": 0,
798
+ "vs_fp32_max": 0.554,
799
+ "flip_pct": 0.0
800
+ },
801
+ {
802
+ "m": "setup_61",
803
+ "n": 116,
804
+ "v": "int8w_fp16",
805
+ "out": 28,
806
+ "mb": 10.9,
807
+ "first_ms": 352,
808
+ "run_ms": 327,
809
+ "vs_torch_max": 0.434,
810
+ "pos": 0,
811
+ "torch_pos": 0,
812
+ "vs_fp32_max": 0.613,
813
+ "flip_pct": 0.0
814
+ },
815
+ {
816
+ "m": "setup_67",
817
+ "n": 148,
818
+ "v": "fp32",
819
+ "out": 60,
820
+ "mb": 42.9,
821
+ "first_ms": 1252,
822
+ "run_ms": 1233,
823
+ "vs_torch_max": 0.0,
824
+ "pos": 38086,
825
+ "torch_pos": 38086
826
+ },
827
+ {
828
+ "m": "setup_67",
829
+ "n": 148,
830
+ "v": "fp16",
831
+ "out": 60,
832
+ "mb": 21.5,
833
+ "first_ms": 917,
834
+ "run_ms": 890,
835
+ "vs_torch_max": 0.03,
836
+ "pos": 38088,
837
+ "torch_pos": 38086,
838
+ "vs_fp32_max": 0.061,
839
+ "flip_pct": 0.0148
840
+ },
841
+ {
842
+ "m": "setup_67",
843
+ "n": 148,
844
+ "v": "int8w",
845
+ "out": 60,
846
+ "mb": 10.9,
847
+ "first_ms": 1391,
848
+ "run_ms": 1221,
849
+ "vs_torch_max": 0.042,
850
+ "pos": 38121,
851
+ "torch_pos": 38086,
852
+ "vs_fp32_max": 0.109,
853
+ "flip_pct": 0.0282
854
+ },
855
+ {
856
+ "m": "setup_67",
857
+ "n": 148,
858
+ "v": "int8w_fp16",
859
+ "out": 60,
860
+ "mb": 10.9,
861
+ "first_ms": 885,
862
+ "run_ms": 870,
863
+ "vs_torch_max": 0.048,
864
+ "pos": 38135,
865
+ "torch_pos": 38086,
866
+ "vs_fp32_max": 0.099,
867
+ "flip_pct": 0.0356
868
+ },
869
+ {
870
+ "m": "setup_67",
871
+ "n": 132,
872
+ "v": "fp32",
873
+ "out": 44,
874
+ "mb": 42.9,
875
+ "first_ms": 2401,
876
+ "run_ms": 809,
877
+ "vs_torch_max": 0.0,
878
+ "pos": 16728,
879
+ "torch_pos": 16728
880
+ },
881
+ {
882
+ "m": "setup_67",
883
+ "n": 132,
884
+ "v": "fp16",
885
+ "out": 44,
886
+ "mb": 21.5,
887
+ "first_ms": 608,
888
+ "run_ms": 569,
889
+ "vs_torch_max": 0.035,
890
+ "pos": 16729,
891
+ "torch_pos": 16728,
892
+ "vs_fp32_max": 0.071,
893
+ "flip_pct": 0.0129
894
+ },
895
+ {
896
+ "m": "setup_67",
897
+ "n": 132,
898
+ "v": "int8w",
899
+ "out": 44,
900
+ "mb": 10.9,
901
+ "first_ms": 824,
902
+ "run_ms": 796,
903
+ "vs_torch_max": 0.037,
904
+ "pos": 16746,
905
+ "torch_pos": 16728,
906
+ "vs_fp32_max": 0.083,
907
+ "flip_pct": 0.0399
908
+ },
909
+ {
910
+ "m": "setup_67",
911
+ "n": 132,
912
+ "v": "int8w_fp16",
913
+ "out": 44,
914
+ "mb": 10.9,
915
+ "first_ms": 582,
916
+ "run_ms": 556,
917
+ "vs_torch_max": 0.047,
918
+ "pos": 16753,
919
+ "torch_pos": 16728,
920
+ "vs_fp32_max": 0.088,
921
+ "flip_pct": 0.0434
922
+ },
923
+ {
924
+ "m": "setup_67",
925
+ "n": 116,
926
+ "v": "fp32",
927
+ "out": 28,
928
+ "mb": 42.9,
929
+ "first_ms": 529,
930
+ "run_ms": 532,
931
+ "vs_torch_max": 0.0,
932
+ "pos": 6514,
933
+ "torch_pos": 6514
934
+ },
935
+ {
936
+ "m": "setup_67",
937
+ "n": 116,
938
+ "v": "fp16",
939
+ "out": 28,
940
+ "mb": 21.5,
941
+ "first_ms": 375,
942
+ "run_ms": 323,
943
+ "vs_torch_max": 0.039,
944
+ "pos": 6523,
945
+ "torch_pos": 6514,
946
+ "vs_fp32_max": 0.058,
947
+ "flip_pct": 0.0501
948
+ },
949
+ {
950
+ "m": "setup_67",
951
+ "n": 116,
952
+ "v": "int8w",
953
+ "out": 28,
954
+ "mb": 10.9,
955
+ "first_ms": 551,
956
+ "run_ms": 529,
957
+ "vs_torch_max": 0.043,
958
+ "pos": 6527,
959
+ "torch_pos": 6514,
960
+ "vs_fp32_max": 0.068,
961
+ "flip_pct": 0.0866
962
+ },
963
+ {
964
+ "m": "setup_67",
965
+ "n": 116,
966
+ "v": "int8w_fp16",
967
+ "out": 28,
968
+ "mb": 10.9,
969
+ "first_ms": 343,
970
+ "run_ms": 327,
971
+ "vs_torch_max": 0.066,
972
+ "pos": 6528,
973
+ "torch_pos": 6514,
974
+ "vs_fp32_max": 0.128,
975
+ "flip_pct": 0.0729
976
+ }
977
+ ]