oidn-web 0.4.0 → 0.5.0

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.
Files changed (106) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +83 -19
  3. package/dist/oidn.js +3239 -2642
  4. package/dist/oidn.umd.cjs +512 -296
  5. package/lib/UNet.d.ts +54 -20
  6. package/lib/UNet.js +194 -118
  7. package/lib/UNet.js.map +1 -1
  8. package/lib/backend.d.ts +1 -8
  9. package/lib/backend.js +1 -9
  10. package/lib/backend.js.map +1 -1
  11. package/lib/finalRgbShader.d.ts +13 -0
  12. package/lib/finalRgbShader.js +160 -0
  13. package/lib/finalRgbShader.js.map +1 -0
  14. package/lib/graphOptimizer.js +1 -2
  15. package/lib/graphOptimizer.js.map +1 -1
  16. package/lib/hdrTransfer.d.ts +14 -0
  17. package/lib/hdrTransfer.js +61 -0
  18. package/lib/hdrTransfer.js.map +1 -0
  19. package/lib/main.d.ts +16 -7
  20. package/lib/main.js +4 -5
  21. package/lib/main.js.map +1 -1
  22. package/lib/nativeUNet.d.ts +39 -3
  23. package/lib/nativeUNet.js +449 -120
  24. package/lib/nativeUNet.js.map +1 -1
  25. package/lib/process.d.ts +5 -11
  26. package/lib/process.js +35 -49
  27. package/lib/process.js.map +1 -1
  28. package/lib/tileScheduler.d.ts +32 -4
  29. package/lib/tileScheduler.js +133 -20
  30. package/lib/tileScheduler.js.map +1 -1
  31. package/package.json +9 -2
  32. package/src/UNet.ts +287 -158
  33. package/src/backend.ts +1 -14
  34. package/src/finalRgbShader.ts +186 -0
  35. package/src/graphOptimizer.ts +1 -2
  36. package/src/hdrTransfer.ts +88 -0
  37. package/src/main.ts +28 -13
  38. package/src/nativeUNet.ts +515 -116
  39. package/src/process.ts +43 -70
  40. package/src/tileScheduler.ts +216 -24
  41. package/benchmarks/compare.mjs +0 -651
  42. package/benchmarks/leak.mjs +0 -255
  43. package/benchmarks/results/before-spatial.json +0 -391
  44. package/benchmarks/results/before-spatial.md +0 -47
  45. package/benchmarks/results/int8-scan.json +0 -2007
  46. package/benchmarks/results/int8-scan.md +0 -160
  47. package/benchmarks/results/int8-w8a8-scan.json +0 -2007
  48. package/benchmarks/results/int8-w8a8-scan.md +0 -160
  49. package/benchmarks/results/int8-weight-channel.json +0 -1413
  50. package/benchmarks/results/int8-weight-channel.md +0 -118
  51. package/benchmarks/results/int8-weight-only.json +0 -1437
  52. package/benchmarks/results/int8-weight-only.md +0 -118
  53. package/benchmarks/results/kernel-webnn-final.json +0 -1115
  54. package/benchmarks/results/kernel-webnn-final.md +0 -104
  55. package/benchmarks/results/latest-optimized.json +0 -375
  56. package/benchmarks/results/latest-optimized.md +0 -47
  57. package/benchmarks/results/latest.json +0 -391
  58. package/benchmarks/results/latest.md +0 -47
  59. package/benchmarks/results/profile-baseline.json +0 -331
  60. package/benchmarks/results/profile-baseline.md +0 -12
  61. package/benchmarks/results/profile-conv2x.json +0 -331
  62. package/benchmarks/results/profile-conv2x.md +0 -12
  63. package/benchmarks/results/profile-fast-init.json +0 -385
  64. package/benchmarks/results/profile-fast-init.md +0 -47
  65. package/benchmarks/results/profile-fp16-fma.json +0 -369
  66. package/benchmarks/results/profile-fp16-fma.md +0 -47
  67. package/benchmarks/results/profile-fp16-tiled-decoder.json +0 -369
  68. package/benchmarks/results/profile-fp16-tiled-decoder.md +0 -47
  69. package/benchmarks/results/profile-fp16-tiled-encoder.json +0 -369
  70. package/benchmarks/results/profile-fp16-tiled-encoder.md +0 -47
  71. package/benchmarks/results/profile-fp16-unfused-pool.json +0 -385
  72. package/benchmarks/results/profile-fp16-unfused-pool.md +0 -47
  73. package/benchmarks/results/profile-input-major.json +0 -347
  74. package/benchmarks/results/profile-input-major.md +0 -12
  75. package/benchmarks/results/profile-k16.json +0 -347
  76. package/benchmarks/results/profile-k16.md +0 -12
  77. package/benchmarks/results/profile-k4.json +0 -347
  78. package/benchmarks/results/profile-k4.md +0 -12
  79. package/benchmarks/results/profile-pool-reuse.json +0 -331
  80. package/benchmarks/results/profile-pool-reuse.md +0 -12
  81. package/benchmarks/results/profile-precompiled.json +0 -385
  82. package/benchmarks/results/profile-precompiled.md +0 -47
  83. package/benchmarks/results/profile-static-channels.json +0 -385
  84. package/benchmarks/results/profile-static-channels.md +0 -47
  85. package/benchmarks/results/profile-static-io.json +0 -385
  86. package/benchmarks/results/profile-static-io.md +0 -47
  87. package/benchmarks/results/profile-tiled-conv.json +0 -331
  88. package/benchmarks/results/profile-tiled-conv.md +0 -12
  89. package/benchmarks/results/profile-tiled-decoder.json +0 -347
  90. package/benchmarks/results/profile-tiled-decoder.md +0 -12
  91. package/benchmarks/results/profile-tiled-matmul.json +0 -331
  92. package/benchmarks/results/profile-tiled-matmul.md +0 -12
  93. package/benchmarks/results/profile-unfused-decoder.json +0 -379
  94. package/benchmarks/results/profile-unfused-decoder.md +0 -12
  95. package/benchmarks/results/profile-unfused-pool.json +0 -347
  96. package/benchmarks/results/profile-unfused-pool.md +0 -12
  97. package/benchmarks/results/spatial-auto.json +0 -575
  98. package/benchmarks/results/spatial-auto.md +0 -61
  99. package/benchmarks/results/subgroup-smoke.json +0 -1094
  100. package/benchmarks/results/subgroup-smoke.md +0 -104
  101. package/benchmarks/results/webnn-smoke.json +0 -739
  102. package/benchmarks/results/webnn-smoke.md +0 -76
  103. package/scripts/inspect-model.mjs +0 -64
  104. package/tests/modelSpec.test.mjs +0 -128
  105. package/tests/resourceLifecycle.test.mjs +0 -383
  106. package/tests/tileScheduler.test.mjs +0 -90
@@ -1,331 +0,0 @@
1
- {
2
- "generatedAt": "2026-08-20T03:46:11.018Z",
3
- "currentCommit": "5d9c1c8771e2a03c90bfadafec4b5dd28fada446",
4
- "baselineCommit": "136c00c34aa5cf4561b4137034dbd643177f0a5f",
5
- "settings": {
6
- "width": 512,
7
- "height": 512,
8
- "tileSize": 512,
9
- "warmup": 1,
10
- "runs": 3,
11
- "model": "rt_hdr_calb_cnrm_large.tza",
12
- "gpuQueueCompletionIncluded": true
13
- },
14
- "browser": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
15
- "adapter": {
16
- "vendor": "apple",
17
- "architecture": "metal-3",
18
- "device": "",
19
- "description": ""
20
- },
21
- "results": [
22
- {
23
- "label": "TFJS (136c00c)",
24
- "bundle": "baseline",
25
- "baseline": true,
26
- "initializationMs": 9.5,
27
- "timesMs": [
28
- 36.70000000298023,
29
- 37.600000001490116,
30
- 36.899999998509884
31
- ],
32
- "supportsFP16": true,
33
- "adapter": {
34
- "vendor": "apple",
35
- "architecture": "metal-3",
36
- "device": "",
37
- "description": ""
38
- },
39
- "summary": {
40
- "minMs": 36.70000000298023,
41
- "medianMs": 36.899999998509884,
42
- "meanMs": 37.06666666766008,
43
- "p95Ms": 37.600000001490116,
44
- "maxMs": 37.600000001490116
45
- },
46
- "messages": []
47
- },
48
- {
49
- "label": "WGSL FP32",
50
- "bundle": "current",
51
- "baseline": false,
52
- "precision": "fp32",
53
- "initializationMs": 352.79999999701977,
54
- "timesMs": [
55
- 71.39999999850988,
56
- 71.30000000447035,
57
- 71.39999999850988
58
- ],
59
- "executionProfile": {
60
- "totalMs": 71.257493,
61
- "layers": [
62
- {
63
- "id": "input-pack",
64
- "durationMs": 0.050706
65
- },
66
- {
67
- "id": "enc_conv1a",
68
- "durationMs": 1.706656
69
- },
70
- {
71
- "id": "pool1",
72
- "durationMs": 14.361312
73
- },
74
- {
75
- "id": "enc_conv2a",
76
- "durationMs": 3.364106
77
- },
78
- {
79
- "id": "pool2",
80
- "durationMs": 4.312952
81
- },
82
- {
83
- "id": "enc_conv3a",
84
- "durationMs": 1.987273
85
- },
86
- {
87
- "id": "pool3",
88
- "durationMs": 1.528079
89
- },
90
- {
91
- "id": "enc_conv4a",
92
- "durationMs": 0.773935
93
- },
94
- {
95
- "id": "pool4",
96
- "durationMs": 0.914264
97
- },
98
- {
99
- "id": "enc_conv5a",
100
- "durationMs": 0.420029
101
- },
102
- {
103
- "id": "enc_conv5b",
104
- "durationMs": 0.561441
105
- },
106
- {
107
- "id": "dec_conv4a",
108
- "durationMs": 1.693781
109
- },
110
- {
111
- "id": "dec_conv4b",
112
- "durationMs": 1.570369
113
- },
114
- {
115
- "id": "dec_conv3a",
116
- "durationMs": 3.443645
117
- },
118
- {
119
- "id": "dec_conv3b",
120
- "durationMs": 2.002897
121
- },
122
- {
123
- "id": "dec_conv2a",
124
- "durationMs": 6.67263
125
- },
126
- {
127
- "id": "dec_conv2b",
128
- "durationMs": 5.350212
129
- },
130
- {
131
- "id": "dec_conv1a",
132
- "durationMs": 10.101983
133
- },
134
- {
135
- "id": "dec_conv1b",
136
- "durationMs": 8.402077
137
- },
138
- {
139
- "id": "dec_conv1c",
140
- "durationMs": 2.039146
141
- }
142
- ]
143
- },
144
- "runtimeInfo": {
145
- "configuredEngine": "wgsl",
146
- "gpuEngine": "wgsl",
147
- "precision": "fp32",
148
- "model": "oidn-unet-large-v1",
149
- "modelFamily": "oidn-unet-large",
150
- "inputChannels": 9,
151
- "dynamicTile": {
152
- "enabled": false,
153
- "currentTileSize": 512,
154
- "minTileSize": 256,
155
- "maxTileSize": 512,
156
- "targetTileTimeMs": 16
157
- },
158
- "lastExecution": {
159
- "width": 512,
160
- "height": 512,
161
- "tileWidth": 512,
162
- "tileHeight": 512,
163
- "tileCount": 1,
164
- "durationMs": 72.79999999701977,
165
- "tileTimeMs": {
166
- "min": 72.79999999701977,
167
- "median": 72.79999999701977,
168
- "mean": 72.79999999701977,
169
- "max": 72.79999999701977
170
- }
171
- }
172
- },
173
- "supportsFP16": true,
174
- "adapter": {
175
- "vendor": "apple",
176
- "architecture": "metal-3",
177
- "device": "",
178
- "description": ""
179
- },
180
- "summary": {
181
- "minMs": 71.30000000447035,
182
- "medianMs": 71.39999999850988,
183
- "meanMs": 71.36666666716337,
184
- "p95Ms": 71.39999999850988,
185
- "maxMs": 71.39999999850988
186
- },
187
- "messages": []
188
- },
189
- {
190
- "label": "WGSL FP16",
191
- "bundle": "current",
192
- "baseline": false,
193
- "precision": "fp16",
194
- "initializationMs": 23.299999997019768,
195
- "timesMs": [
196
- 33.69999999552965,
197
- 33.600000001490116,
198
- 33.79999999701977
199
- ],
200
- "executionProfile": {
201
- "totalMs": 32.730792,
202
- "layers": [
203
- {
204
- "id": "input-pack",
205
- "durationMs": 0.399582
206
- },
207
- {
208
- "id": "enc_conv1a",
209
- "durationMs": 0.737421
210
- },
211
- {
212
- "id": "pool1",
213
- "durationMs": 4.104312
214
- },
215
- {
216
- "id": "enc_conv2a",
217
- "durationMs": 1.517129
218
- },
219
- {
220
- "id": "pool2",
221
- "durationMs": 2.237886
222
- },
223
- {
224
- "id": "enc_conv3a",
225
- "durationMs": 1.235827
226
- },
227
- {
228
- "id": "pool3",
229
- "durationMs": 0.969605
230
- },
231
- {
232
- "id": "enc_conv4a",
233
- "durationMs": 0.357795
234
- },
235
- {
236
- "id": "pool4",
237
- "durationMs": 0.623141
238
- },
239
- {
240
- "id": "enc_conv5a",
241
- "durationMs": 0.203728
242
- },
243
- {
244
- "id": "enc_conv5b",
245
- "durationMs": 0.252223
246
- },
247
- {
248
- "id": "dec_conv4a",
249
- "durationMs": 0.976021
250
- },
251
- {
252
- "id": "dec_conv4b",
253
- "durationMs": 0.539651
254
- },
255
- {
256
- "id": "dec_conv3a",
257
- "durationMs": 1.736231
258
- },
259
- {
260
- "id": "dec_conv3b",
261
- "durationMs": 1.149127
262
- },
263
- {
264
- "id": "dec_conv2a",
265
- "durationMs": 3.584325
266
- },
267
- {
268
- "id": "dec_conv2b",
269
- "durationMs": 2.340875
270
- },
271
- {
272
- "id": "dec_conv1a",
273
- "durationMs": 5.367467
274
- },
275
- {
276
- "id": "dec_conv1b",
277
- "durationMs": 4.150431
278
- },
279
- {
280
- "id": "dec_conv1c",
281
- "durationMs": 0.248015
282
- }
283
- ]
284
- },
285
- "runtimeInfo": {
286
- "configuredEngine": "wgsl",
287
- "gpuEngine": "wgsl",
288
- "precision": "fp16",
289
- "model": "oidn-unet-large-v1",
290
- "modelFamily": "oidn-unet-large",
291
- "inputChannels": 9,
292
- "dynamicTile": {
293
- "enabled": false,
294
- "currentTileSize": 512,
295
- "minTileSize": 256,
296
- "maxTileSize": 512,
297
- "targetTileTimeMs": 16
298
- },
299
- "lastExecution": {
300
- "width": 512,
301
- "height": 512,
302
- "tileWidth": 512,
303
- "tileHeight": 512,
304
- "tileCount": 1,
305
- "durationMs": 34.29999999701977,
306
- "tileTimeMs": {
307
- "min": 34.29999999701977,
308
- "median": 34.29999999701977,
309
- "mean": 34.29999999701977,
310
- "max": 34.29999999701977
311
- }
312
- }
313
- },
314
- "supportsFP16": true,
315
- "adapter": {
316
- "vendor": "apple",
317
- "architecture": "metal-3",
318
- "device": "",
319
- "description": ""
320
- },
321
- "summary": {
322
- "minMs": 33.600000001490116,
323
- "medianMs": 33.69999999552965,
324
- "meanMs": 33.699999998013176,
325
- "p95Ms": 33.79999999701977,
326
- "maxMs": 33.79999999701977
327
- },
328
- "messages": []
329
- }
330
- ]
331
- }
@@ -1,12 +0,0 @@
1
- # oidn-web benchmark
2
-
3
- - Current: `5d9c1c8771e2a03c90bfadafec4b5dd28fada446`
4
- - TFJS baseline: `136c00c34aa5cf4561b4137034dbd643177f0a5f`
5
- - Input: 512x512, fixed tile 512, 3 runs after 1 warmup(s)
6
- - Adapter: apple
7
-
8
- | Runtime | Init ms | Median ms | P95 ms | Speedup | Precision |
9
- | --- | ---: | ---: | ---: | ---: | --- |
10
- | TFJS (136c00c) | 9.50 | 36.90 | 37.60 | 1.00x | fp32 |
11
- | WGSL FP32 | 352.80 | 71.40 | 71.40 | 0.52x | fp32 |
12
- | WGSL FP16 | 23.30 | 33.70 | 33.80 | 1.09x | fp16 |
@@ -1,347 +0,0 @@
1
- {
2
- "generatedAt": "2026-08-20T03:50:03.693Z",
3
- "currentCommit": "5d9c1c8771e2a03c90bfadafec4b5dd28fada446",
4
- "baselineCommit": "136c00c34aa5cf4561b4137034dbd643177f0a5f",
5
- "settings": {
6
- "width": 512,
7
- "height": 512,
8
- "tileSize": 512,
9
- "warmup": 1,
10
- "runs": 3,
11
- "model": "rt_hdr_calb_cnrm_large.tza",
12
- "gpuQueueCompletionIncluded": true
13
- },
14
- "browser": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
15
- "adapter": {
16
- "vendor": "apple",
17
- "architecture": "metal-3",
18
- "device": "",
19
- "description": ""
20
- },
21
- "results": [
22
- {
23
- "label": "TFJS (136c00c)",
24
- "bundle": "baseline",
25
- "baseline": true,
26
- "initializationMs": 9.600000001490116,
27
- "timesMs": [
28
- 35,
29
- 34.79999999701977,
30
- 34.80000000447035
31
- ],
32
- "supportsFP16": true,
33
- "adapter": {
34
- "vendor": "apple",
35
- "architecture": "metal-3",
36
- "device": "",
37
- "description": ""
38
- },
39
- "summary": {
40
- "minMs": 34.79999999701977,
41
- "medianMs": 34.80000000447035,
42
- "meanMs": 34.86666666716337,
43
- "p95Ms": 35,
44
- "maxMs": 35
45
- },
46
- "messages": []
47
- },
48
- {
49
- "label": "WGSL FP32",
50
- "bundle": "current",
51
- "baseline": false,
52
- "precision": "fp32",
53
- "initializationMs": 359.29999999701977,
54
- "timesMs": [
55
- 41.69999999552965,
56
- 41.5,
57
- 41.80000000447035
58
- ],
59
- "executionProfile": {
60
- "totalMs": 40.701884,
61
- "layers": [
62
- {
63
- "id": "input-pack",
64
- "durationMs": 0.055664
65
- },
66
- {
67
- "id": "enc_conv1a",
68
- "durationMs": 0.970581
69
- },
70
- {
71
- "id": "enc_conv1b",
72
- "durationMs": 4.538167
73
- },
74
- {
75
- "id": "pool1",
76
- "durationMs": 0.418314
77
- },
78
- {
79
- "id": "enc_conv2a",
80
- "durationMs": 1.694673
81
- },
82
- {
83
- "id": "enc_conv2b",
84
- "durationMs": 2.536009
85
- },
86
- {
87
- "id": "pool2",
88
- "durationMs": 0.054789
89
- },
90
- {
91
- "id": "enc_conv3a",
92
- "durationMs": 0.88725
93
- },
94
- {
95
- "id": "enc_conv3b",
96
- "durationMs": 1.177904
97
- },
98
- {
99
- "id": "pool3",
100
- "durationMs": 0.018208
101
- },
102
- {
103
- "id": "enc_conv4a",
104
- "durationMs": 0.491352
105
- },
106
- {
107
- "id": "enc_conv4b",
108
- "durationMs": 0.728633
109
- },
110
- {
111
- "id": "pool4",
112
- "durationMs": 0.008457
113
- },
114
- {
115
- "id": "enc_conv5a",
116
- "durationMs": 0.295154
117
- },
118
- {
119
- "id": "enc_conv5b",
120
- "durationMs": 0.393107
121
- },
122
- {
123
- "id": "dec_conv4a",
124
- "durationMs": 1.485099
125
- },
126
- {
127
- "id": "dec_conv4b",
128
- "durationMs": 0.730841
129
- },
130
- {
131
- "id": "dec_conv3a",
132
- "durationMs": 2.702585
133
- },
134
- {
135
- "id": "dec_conv3b",
136
- "durationMs": 1.174196
137
- },
138
- {
139
- "id": "dec_conv2a",
140
- "durationMs": 5.123306
141
- },
142
- {
143
- "id": "dec_conv2b",
144
- "durationMs": 2.521385
145
- },
146
- {
147
- "id": "dec_conv1a",
148
- "durationMs": 7.819142
149
- },
150
- {
151
- "id": "dec_conv1b",
152
- "durationMs": 4.428088
153
- },
154
- {
155
- "id": "dec_conv1c",
156
- "durationMs": 0.44898
157
- }
158
- ]
159
- },
160
- "runtimeInfo": {
161
- "configuredEngine": "wgsl",
162
- "gpuEngine": "wgsl",
163
- "precision": "fp32",
164
- "model": "oidn-unet-large-v1",
165
- "modelFamily": "oidn-unet-large",
166
- "inputChannels": 9,
167
- "dynamicTile": {
168
- "enabled": false,
169
- "currentTileSize": 512,
170
- "minTileSize": 256,
171
- "maxTileSize": 512,
172
- "targetTileTimeMs": 16
173
- },
174
- "lastExecution": {
175
- "width": 512,
176
- "height": 512,
177
- "tileWidth": 512,
178
- "tileHeight": 512,
179
- "tileCount": 1,
180
- "durationMs": 42.399999998509884,
181
- "tileTimeMs": {
182
- "min": 42.399999998509884,
183
- "median": 42.399999998509884,
184
- "mean": 42.399999998509884,
185
- "max": 42.399999998509884
186
- }
187
- }
188
- },
189
- "supportsFP16": true,
190
- "adapter": {
191
- "vendor": "apple",
192
- "architecture": "metal-3",
193
- "device": "",
194
- "description": ""
195
- },
196
- "summary": {
197
- "minMs": 41.5,
198
- "medianMs": 41.69999999552965,
199
- "meanMs": 41.666666666666664,
200
- "p95Ms": 41.80000000447035,
201
- "maxMs": 41.80000000447035
202
- },
203
- "messages": []
204
- },
205
- {
206
- "label": "WGSL FP16",
207
- "bundle": "current",
208
- "baseline": false,
209
- "precision": "fp16",
210
- "initializationMs": 24.5,
211
- "timesMs": [
212
- 31.200000002980232,
213
- 31.5,
214
- 31.299999997019768
215
- ],
216
- "executionProfile": {
217
- "totalMs": 30.536277000000002,
218
- "layers": [
219
- {
220
- "id": "input-pack",
221
- "durationMs": 0.043995
222
- },
223
- {
224
- "id": "enc_conv1a",
225
- "durationMs": 0.737671
226
- },
227
- {
228
- "id": "pool1",
229
- "durationMs": 4.120935
230
- },
231
- {
232
- "id": "enc_conv2a",
233
- "durationMs": 1.511422
234
- },
235
- {
236
- "id": "pool2",
237
- "durationMs": 2.211596
238
- },
239
- {
240
- "id": "enc_conv3a",
241
- "durationMs": 0.756003
242
- },
243
- {
244
- "id": "pool3",
245
- "durationMs": 0.972312
246
- },
247
- {
248
- "id": "enc_conv4a",
249
- "durationMs": 0.361544
250
- },
251
- {
252
- "id": "pool4",
253
- "durationMs": 0.594853
254
- },
255
- {
256
- "id": "enc_conv5a",
257
- "durationMs": 0.195688
258
- },
259
- {
260
- "id": "enc_conv5b",
261
- "durationMs": 0.25389
262
- },
263
- {
264
- "id": "dec_conv4a",
265
- "durationMs": 0.965272
266
- },
267
- {
268
- "id": "dec_conv4b",
269
- "durationMs": 0.539942
270
- },
271
- {
272
- "id": "dec_conv3a",
273
- "durationMs": 1.725066
274
- },
275
- {
276
- "id": "dec_conv3b",
277
- "durationMs": 0.976646
278
- },
279
- {
280
- "id": "dec_conv2a",
281
- "durationMs": 3.220031
282
- },
283
- {
284
- "id": "dec_conv2b",
285
- "durationMs": 2.335833
286
- },
287
- {
288
- "id": "dec_conv1a",
289
- "durationMs": 4.698248
290
- },
291
- {
292
- "id": "dec_conv1b",
293
- "durationMs": 4.066357
294
- },
295
- {
296
- "id": "dec_conv1c",
297
- "durationMs": 0.248973
298
- }
299
- ]
300
- },
301
- "runtimeInfo": {
302
- "configuredEngine": "wgsl",
303
- "gpuEngine": "wgsl",
304
- "precision": "fp16",
305
- "model": "oidn-unet-large-v1",
306
- "modelFamily": "oidn-unet-large",
307
- "inputChannels": 9,
308
- "dynamicTile": {
309
- "enabled": false,
310
- "currentTileSize": 512,
311
- "minTileSize": 256,
312
- "maxTileSize": 512,
313
- "targetTileTimeMs": 16
314
- },
315
- "lastExecution": {
316
- "width": 512,
317
- "height": 512,
318
- "tileWidth": 512,
319
- "tileHeight": 512,
320
- "tileCount": 1,
321
- "durationMs": 32.100000001490116,
322
- "tileTimeMs": {
323
- "min": 32.100000001490116,
324
- "median": 32.100000001490116,
325
- "mean": 32.100000001490116,
326
- "max": 32.100000001490116
327
- }
328
- }
329
- },
330
- "supportsFP16": true,
331
- "adapter": {
332
- "vendor": "apple",
333
- "architecture": "metal-3",
334
- "device": "",
335
- "description": ""
336
- },
337
- "summary": {
338
- "minMs": 31.200000002980232,
339
- "medianMs": 31.299999997019768,
340
- "meanMs": 31.333333333333332,
341
- "p95Ms": 31.5,
342
- "maxMs": 31.5
343
- },
344
- "messages": []
345
- }
346
- ]
347
- }
@@ -1,12 +0,0 @@
1
- # oidn-web benchmark
2
-
3
- - Current: `5d9c1c8771e2a03c90bfadafec4b5dd28fada446`
4
- - TFJS baseline: `136c00c34aa5cf4561b4137034dbd643177f0a5f`
5
- - Input: 512x512, fixed tile 512, 3 runs after 1 warmup(s)
6
- - Adapter: apple
7
-
8
- | Runtime | Init ms | Median ms | P95 ms | Speedup | Precision |
9
- | --- | ---: | ---: | ---: | ---: | --- |
10
- | TFJS (136c00c) | 9.60 | 34.80 | 35.00 | 1.00x | fp32 |
11
- | WGSL FP32 | 359.30 | 41.70 | 41.80 | 0.83x | fp32 |
12
- | WGSL FP16 | 24.50 | 31.30 | 31.50 | 1.11x | fp16 |