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:40:16.707Z",
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": 10.299999997019768,
27
- "timesMs": [
28
- 37.19999999552965,
29
- 37.70000000298023,
30
- 37.19999999552965
31
- ],
32
- "supportsFP16": true,
33
- "adapter": {
34
- "vendor": "apple",
35
- "architecture": "metal-3",
36
- "device": "",
37
- "description": ""
38
- },
39
- "summary": {
40
- "minMs": 37.19999999552965,
41
- "medianMs": 37.19999999552965,
42
- "meanMs": 37.36666666467985,
43
- "p95Ms": 37.70000000298023,
44
- "maxMs": 37.70000000298023
45
- },
46
- "messages": []
47
- },
48
- {
49
- "label": "WGSL FP32",
50
- "bundle": "current",
51
- "baseline": false,
52
- "precision": "fp32",
53
- "initializationMs": 358.6000000014901,
54
- "timesMs": [
55
- 67.69999999552965,
56
- 69.20000000298023,
57
- 67.89999999850988
58
- ],
59
- "executionProfile": {
60
- "totalMs": 67.359836,
61
- "layers": [
62
- {
63
- "id": "input-pack",
64
- "durationMs": 0.05133
65
- },
66
- {
67
- "id": "enc_conv1a",
68
- "durationMs": 1.236069
69
- },
70
- {
71
- "id": "pool1",
72
- "durationMs": 13.668291
73
- },
74
- {
75
- "id": "enc_conv2a",
76
- "durationMs": 3.117691
77
- },
78
- {
79
- "id": "pool2",
80
- "durationMs": 4.540167
81
- },
82
- {
83
- "id": "enc_conv3a",
84
- "durationMs": 1.342856
85
- },
86
- {
87
- "id": "pool3",
88
- "durationMs": 1.535263
89
- },
90
- {
91
- "id": "enc_conv4a",
92
- "durationMs": 0.596098
93
- },
94
- {
95
- "id": "pool4",
96
- "durationMs": 0.91475
97
- },
98
- {
99
- "id": "enc_conv5a",
100
- "durationMs": 0.331319
101
- },
102
- {
103
- "id": "enc_conv5b",
104
- "durationMs": 0.450438
105
- },
106
- {
107
- "id": "dec_conv4a",
108
- "durationMs": 1.878789
109
- },
110
- {
111
- "id": "dec_conv4b",
112
- "durationMs": 1.107242
113
- },
114
- {
115
- "id": "dec_conv3a",
116
- "durationMs": 3.346846
117
- },
118
- {
119
- "id": "dec_conv3b",
120
- "durationMs": 1.471766
121
- },
122
- {
123
- "id": "dec_conv2a",
124
- "durationMs": 6.976139
125
- },
126
- {
127
- "id": "dec_conv2b",
128
- "durationMs": 5.74182
129
- },
130
- {
131
- "id": "dec_conv1a",
132
- "durationMs": 10.203158
133
- },
134
- {
135
- "id": "dec_conv1b",
136
- "durationMs": 8.397491
137
- },
138
- {
139
- "id": "dec_conv1c",
140
- "durationMs": 0.452313
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": 70.20000000298023,
165
- "tileTimeMs": {
166
- "min": 70.10000000149012,
167
- "median": 70.10000000149012,
168
- "mean": 70.10000000149012,
169
- "max": 70.10000000149012
170
- }
171
- }
172
- },
173
- "supportsFP16": true,
174
- "adapter": {
175
- "vendor": "apple",
176
- "architecture": "metal-3",
177
- "device": "",
178
- "description": ""
179
- },
180
- "summary": {
181
- "minMs": 67.69999999552965,
182
- "medianMs": 67.89999999850988,
183
- "meanMs": 68.26666666567326,
184
- "p95Ms": 69.20000000298023,
185
- "maxMs": 69.20000000298023
186
- },
187
- "messages": []
188
- },
189
- {
190
- "label": "WGSL FP16",
191
- "bundle": "current",
192
- "baseline": false,
193
- "precision": "fp16",
194
- "initializationMs": 22.80000000447035,
195
- "timesMs": [
196
- 33.5,
197
- 33.69999999552965,
198
- 33.5
199
- ],
200
- "executionProfile": {
201
- "totalMs": 32.910734999999995,
202
- "layers": [
203
- {
204
- "id": "input-pack",
205
- "durationMs": 0.044745
206
- },
207
- {
208
- "id": "enc_conv1a",
209
- "durationMs": 0.736672
210
- },
211
- {
212
- "id": "pool1",
213
- "durationMs": 4.623173
214
- },
215
- {
216
- "id": "enc_conv2a",
217
- "durationMs": 1.51363
218
- },
219
- {
220
- "id": "pool2",
221
- "durationMs": 2.28459
222
- },
223
- {
224
- "id": "enc_conv3a",
225
- "durationMs": 0.764085
226
- },
227
- {
228
- "id": "pool3",
229
- "durationMs": 1.17725
230
- },
231
- {
232
- "id": "enc_conv4a",
233
- "durationMs": 0.624266
234
- },
235
- {
236
- "id": "pool4",
237
- "durationMs": 0.610393
238
- },
239
- {
240
- "id": "enc_conv5a",
241
- "durationMs": 0.195187
242
- },
243
- {
244
- "id": "enc_conv5b",
245
- "durationMs": 0.255639
246
- },
247
- {
248
- "id": "dec_conv4a",
249
- "durationMs": 0.978895
250
- },
251
- {
252
- "id": "dec_conv4b",
253
- "durationMs": 0.54015
254
- },
255
- {
256
- "id": "dec_conv3a",
257
- "durationMs": 1.747189
258
- },
259
- {
260
- "id": "dec_conv3b",
261
- "durationMs": 0.980811
262
- },
263
- {
264
- "id": "dec_conv2a",
265
- "durationMs": 3.773805
266
- },
267
- {
268
- "id": "dec_conv2b",
269
- "durationMs": 2.431157
270
- },
271
- {
272
- "id": "dec_conv1a",
273
- "durationMs": 5.325931
274
- },
275
- {
276
- "id": "dec_conv1b",
277
- "durationMs": 4.055859
278
- },
279
- {
280
- "id": "dec_conv1c",
281
- "durationMs": 0.247308
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.70000000298023,
306
- "tileTimeMs": {
307
- "min": 34.70000000298023,
308
- "median": 34.70000000298023,
309
- "mean": 34.70000000298023,
310
- "max": 34.70000000298023
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.5,
323
- "medianMs": 33.5,
324
- "meanMs": 33.56666666517655,
325
- "p95Ms": 33.69999999552965,
326
- "maxMs": 33.69999999552965
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) | 10.30 | 37.20 | 37.70 | 1.00x | fp32 |
11
- | WGSL FP32 | 358.60 | 67.90 | 69.20 | 0.55x | fp32 |
12
- | WGSL FP16 | 22.80 | 33.50 | 33.70 | 1.11x | fp16 |
@@ -1,331 +0,0 @@
1
- {
2
- "generatedAt": "2026-08-20T03:43:42.745Z",
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": 8.5,
27
- "timesMs": [
28
- 37,
29
- 37.19999999552965,
30
- 37.20000000298023
31
- ],
32
- "supportsFP16": true,
33
- "adapter": {
34
- "vendor": "apple",
35
- "architecture": "metal-3",
36
- "device": "",
37
- "description": ""
38
- },
39
- "summary": {
40
- "minMs": 37,
41
- "medianMs": 37.19999999552965,
42
- "meanMs": 37.13333333283663,
43
- "p95Ms": 37.20000000298023,
44
- "maxMs": 37.20000000298023
45
- },
46
- "messages": []
47
- },
48
- {
49
- "label": "WGSL FP32",
50
- "bundle": "current",
51
- "baseline": false,
52
- "precision": "fp32",
53
- "initializationMs": 353.5,
54
- "timesMs": [
55
- 72.69999999552965,
56
- 73.40000000596046,
57
- 73.5
58
- ],
59
- "executionProfile": {
60
- "totalMs": 71.98134499999999,
61
- "layers": [
62
- {
63
- "id": "input-pack",
64
- "durationMs": 0.051039
65
- },
66
- {
67
- "id": "enc_conv1a",
68
- "durationMs": 1.23413
69
- },
70
- {
71
- "id": "pool1",
72
- "durationMs": 13.951366
73
- },
74
- {
75
- "id": "enc_conv2a",
76
- "durationMs": 3.506601
77
- },
78
- {
79
- "id": "pool2",
80
- "durationMs": 4.667274
81
- },
82
- {
83
- "id": "enc_conv3a",
84
- "durationMs": 1.71674
85
- },
86
- {
87
- "id": "pool3",
88
- "durationMs": 1.508579
89
- },
90
- {
91
- "id": "enc_conv4a",
92
- "durationMs": 0.620814
93
- },
94
- {
95
- "id": "pool4",
96
- "durationMs": 0.962179
97
- },
98
- {
99
- "id": "enc_conv5a",
100
- "durationMs": 0.332656
101
- },
102
- {
103
- "id": "enc_conv5b",
104
- "durationMs": 0.322324
105
- },
106
- {
107
- "id": "dec_conv4a",
108
- "durationMs": 1.73628
109
- },
110
- {
111
- "id": "dec_conv4b",
112
- "durationMs": 0.949846
113
- },
114
- {
115
- "id": "dec_conv3a",
116
- "durationMs": 3.390772
117
- },
118
- {
119
- "id": "dec_conv3b",
120
- "durationMs": 2.34472
121
- },
122
- {
123
- "id": "dec_conv2a",
124
- "durationMs": 6.836708
125
- },
126
- {
127
- "id": "dec_conv2b",
128
- "durationMs": 5.79399
129
- },
130
- {
131
- "id": "dec_conv1a",
132
- "durationMs": 10.106317
133
- },
134
- {
135
- "id": "dec_conv1b",
136
- "durationMs": 11.168534
137
- },
138
- {
139
- "id": "dec_conv1c",
140
- "durationMs": 0.780476
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": 74,
165
- "tileTimeMs": {
166
- "min": 74,
167
- "median": 74,
168
- "mean": 74,
169
- "max": 74
170
- }
171
- }
172
- },
173
- "supportsFP16": true,
174
- "adapter": {
175
- "vendor": "apple",
176
- "architecture": "metal-3",
177
- "device": "",
178
- "description": ""
179
- },
180
- "summary": {
181
- "minMs": 72.69999999552965,
182
- "medianMs": 73.40000000596046,
183
- "meanMs": 73.2000000004967,
184
- "p95Ms": 73.5,
185
- "maxMs": 73.5
186
- },
187
- "messages": []
188
- },
189
- {
190
- "label": "WGSL FP16",
191
- "bundle": "current",
192
- "baseline": false,
193
- "precision": "fp16",
194
- "initializationMs": 22.700000002980232,
195
- "timesMs": [
196
- 33.69999999552965,
197
- 33.80000000447035,
198
- 34.19999999552965
199
- ],
200
- "executionProfile": {
201
- "totalMs": 32.973353,
202
- "layers": [
203
- {
204
- "id": "input-pack",
205
- "durationMs": 0.193021
206
- },
207
- {
208
- "id": "enc_conv1a",
209
- "durationMs": 0.736422
210
- },
211
- {
212
- "id": "pool1",
213
- "durationMs": 4.200093
214
- },
215
- {
216
- "id": "enc_conv2a",
217
- "durationMs": 1.510756
218
- },
219
- {
220
- "id": "pool2",
221
- "durationMs": 2.71221
222
- },
223
- {
224
- "id": "enc_conv3a",
225
- "durationMs": 0.847743
226
- },
227
- {
228
- "id": "pool3",
229
- "durationMs": 0.966896
230
- },
231
- {
232
- "id": "enc_conv4a",
233
- "durationMs": 0.35892
234
- },
235
- {
236
- "id": "pool4",
237
- "durationMs": 0.594394
238
- },
239
- {
240
- "id": "enc_conv5a",
241
- "durationMs": 0.195771
242
- },
243
- {
244
- "id": "enc_conv5b",
245
- "durationMs": 0.254306
246
- },
247
- {
248
- "id": "dec_conv4a",
249
- "durationMs": 0.960189
250
- },
251
- {
252
- "id": "dec_conv4b",
253
- "durationMs": 0.534651
254
- },
255
- {
256
- "id": "dec_conv3a",
257
- "durationMs": 1.892465
258
- },
259
- {
260
- "id": "dec_conv3b",
261
- "durationMs": 1.342232
262
- },
263
- {
264
- "id": "dec_conv2a",
265
- "durationMs": 3.193159
266
- },
267
- {
268
- "id": "dec_conv2b",
269
- "durationMs": 2.33975
270
- },
271
- {
272
- "id": "dec_conv1a",
273
- "durationMs": 5.461417
274
- },
275
- {
276
- "id": "dec_conv1b",
277
- "durationMs": 4.191302
278
- },
279
- {
280
- "id": "dec_conv1c",
281
- "durationMs": 0.487656
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.600000001490116,
306
- "tileTimeMs": {
307
- "min": 34.600000001490116,
308
- "median": 34.600000001490116,
309
- "mean": 34.600000001490116,
310
- "max": 34.600000001490116
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.69999999552965,
323
- "medianMs": 33.80000000447035,
324
- "meanMs": 33.899999998509884,
325
- "p95Ms": 34.19999999552965,
326
- "maxMs": 34.19999999552965
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) | 8.50 | 37.20 | 37.20 | 1.00x | fp32 |
11
- | WGSL FP32 | 353.50 | 73.40 | 73.50 | 0.51x | fp32 |
12
- | WGSL FP16 | 22.70 | 33.80 | 34.20 | 1.10x | fp16 |