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,739 +0,0 @@
1
- {
2
- "generatedAt": "2026-08-20T04:57:35.765Z",
3
- "currentCommit": "e6b8577b1c69cc8ce979022717984aec5b9ea881",
4
- "baselineCommit": "136c00c34aa5cf4561b4137034dbd643177f0a5f",
5
- "settings": {
6
- "width": 512,
7
- "height": 512,
8
- "tileSize": 512,
9
- "warmup": 0,
10
- "runs": 1,
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.700000002980232,
27
- "timesMs": [
28
- 486.20000000298023
29
- ],
30
- "supportsFP16": true,
31
- "adapter": {
32
- "vendor": "apple",
33
- "architecture": "metal-3",
34
- "device": "",
35
- "description": ""
36
- },
37
- "summary": {
38
- "minMs": 486.20000000298023,
39
- "medianMs": 486.20000000298023,
40
- "meanMs": 486.20000000298023,
41
- "p95Ms": 486.20000000298023,
42
- "maxMs": 486.20000000298023
43
- },
44
- "messages": []
45
- },
46
- {
47
- "label": "WGSL FP32",
48
- "bundle": "current",
49
- "baseline": false,
50
- "precision": "fp32",
51
- "initializationMs": 38.5,
52
- "timesMs": [
53
- 43.100000001490116
54
- ],
55
- "executionProfile": {
56
- "totalMs": 36.564585,
57
- "layers": [
58
- {
59
- "id": "input-pack",
60
- "durationMs": 0.051083
61
- },
62
- {
63
- "id": "enc_conv1a",
64
- "durationMs": 0.838917
65
- },
66
- {
67
- "id": "enc_conv1b",
68
- "durationMs": 4.157292
69
- },
70
- {
71
- "id": "pool1",
72
- "durationMs": 0.581792
73
- },
74
- {
75
- "id": "enc_conv2a",
76
- "durationMs": 1.405916
77
- },
78
- {
79
- "id": "enc_conv2b",
80
- "durationMs": 2.152542
81
- },
82
- {
83
- "id": "pool2",
84
- "durationMs": 0.054666
85
- },
86
- {
87
- "id": "enc_conv3a",
88
- "durationMs": 0.769958
89
- },
90
- {
91
- "id": "enc_conv3b",
92
- "durationMs": 0.988959
93
- },
94
- {
95
- "id": "pool3",
96
- "durationMs": 0.018125
97
- },
98
- {
99
- "id": "enc_conv4a",
100
- "durationMs": 0.401167
101
- },
102
- {
103
- "id": "enc_conv4b",
104
- "durationMs": 0.609458
105
- },
106
- {
107
- "id": "pool4",
108
- "durationMs": 0.008625
109
- },
110
- {
111
- "id": "enc_conv5a",
112
- "durationMs": 0.316833
113
- },
114
- {
115
- "id": "enc_conv5b",
116
- "durationMs": 0.401583
117
- },
118
- {
119
- "id": "dec_conv4a",
120
- "durationMs": 1.400959
121
- },
122
- {
123
- "id": "dec_conv4b",
124
- "durationMs": 0.61175
125
- },
126
- {
127
- "id": "dec_conv3a",
128
- "durationMs": 2.324417
129
- },
130
- {
131
- "id": "dec_conv3b",
132
- "durationMs": 0.992959
133
- },
134
- {
135
- "id": "dec_conv2a",
136
- "durationMs": 4.792042
137
- },
138
- {
139
- "id": "dec_conv2b",
140
- "durationMs": 2.157292
141
- },
142
- {
143
- "id": "dec_conv1a",
144
- "durationMs": 6.86525
145
- },
146
- {
147
- "id": "dec_conv1b",
148
- "durationMs": 4.17225
149
- },
150
- {
151
- "id": "dec_conv1c",
152
- "durationMs": 0.49075
153
- }
154
- ]
155
- },
156
- "runtimeInfo": {
157
- "configuredEngine": "wgsl",
158
- "gpuEngine": "wgsl",
159
- "precision": "fp32",
160
- "kernel": {
161
- "configured": "auto",
162
- "maxSpatialInputBlocks": 0
163
- },
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": 37.600000001490116,
181
- "tileTimeMs": {
182
- "min": 37.600000001490116,
183
- "median": 37.600000001490116,
184
- "mean": 37.600000001490116,
185
- "max": 37.600000001490116
186
- }
187
- }
188
- },
189
- "supportsFP16": true,
190
- "adapter": {
191
- "vendor": "apple",
192
- "architecture": "metal-3",
193
- "device": "",
194
- "description": ""
195
- },
196
- "summary": {
197
- "minMs": 43.100000001490116,
198
- "medianMs": 43.100000001490116,
199
- "meanMs": 43.100000001490116,
200
- "p95Ms": 43.100000001490116,
201
- "maxMs": 43.100000001490116
202
- },
203
- "messages": [],
204
- "validation": {
205
- "sampleCount": 6144,
206
- "meanAbsoluteError": 0.0000011096847932397698,
207
- "rootMeanSquaredError": 0.0000018071588418628667,
208
- "maxAbsoluteError": 0.000013589859008789062,
209
- "passed": true,
210
- "thresholds": {
211
- "maxMeanError": 0.0001,
212
- "maxAbsoluteError": 0.001
213
- }
214
- }
215
- },
216
- {
217
- "label": "WGSL FP16 Direct",
218
- "bundle": "current",
219
- "baseline": false,
220
- "precision": "fp16",
221
- "kernel": "direct",
222
- "initializationMs": 28.5,
223
- "timesMs": [
224
- 34.100000001490116
225
- ],
226
- "executionProfile": {
227
- "totalMs": 28.704788999999998,
228
- "layers": [
229
- {
230
- "id": "input-pack",
231
- "durationMs": 0.044292
232
- },
233
- {
234
- "id": "enc_conv1a",
235
- "durationMs": 0.617458
236
- },
237
- {
238
- "id": "enc_conv1b",
239
- "durationMs": 3.131958
240
- },
241
- {
242
- "id": "pool1",
243
- "durationMs": 0.340333
244
- },
245
- {
246
- "id": "enc_conv2a",
247
- "durationMs": 1.774875
248
- },
249
- {
250
- "id": "enc_conv2b",
251
- "durationMs": 2.079709
252
- },
253
- {
254
- "id": "pool2",
255
- "durationMs": 0.049791
256
- },
257
- {
258
- "id": "enc_conv3a",
259
- "durationMs": 0.67875
260
- },
261
- {
262
- "id": "enc_conv3b",
263
- "durationMs": 0.838916
264
- },
265
- {
266
- "id": "pool3",
267
- "durationMs": 0.016625
268
- },
269
- {
270
- "id": "enc_conv4a",
271
- "durationMs": 0.343083
272
- },
273
- {
274
- "id": "enc_conv4b",
275
- "durationMs": 0.528959
276
- },
277
- {
278
- "id": "pool4",
279
- "durationMs": 0.014083
280
- },
281
- {
282
- "id": "enc_conv5a",
283
- "durationMs": 0.188791
284
- },
285
- {
286
- "id": "enc_conv5b",
287
- "durationMs": 0.234083
288
- },
289
- {
290
- "id": "dec_conv4a",
291
- "durationMs": 0.950541
292
- },
293
- {
294
- "id": "dec_conv4b",
295
- "durationMs": 0.532542
296
- },
297
- {
298
- "id": "dec_conv3a",
299
- "durationMs": 2.23625
300
- },
301
- {
302
- "id": "dec_conv3b",
303
- "durationMs": 0.983084
304
- },
305
- {
306
- "id": "dec_conv2a",
307
- "durationMs": 2.993042
308
- },
309
- {
310
- "id": "dec_conv2b",
311
- "durationMs": 1.969833
312
- },
313
- {
314
- "id": "dec_conv1a",
315
- "durationMs": 4.398875
316
- },
317
- {
318
- "id": "dec_conv1b",
319
- "durationMs": 3.432041
320
- },
321
- {
322
- "id": "dec_conv1c",
323
- "durationMs": 0.326875
324
- }
325
- ]
326
- },
327
- "runtimeInfo": {
328
- "configuredEngine": "wgsl",
329
- "gpuEngine": "wgsl",
330
- "precision": "fp16",
331
- "kernel": {
332
- "configured": "direct",
333
- "maxSpatialInputBlocks": 40
334
- },
335
- "model": "oidn-unet-large-v1",
336
- "modelFamily": "oidn-unet-large",
337
- "inputChannels": 9,
338
- "dynamicTile": {
339
- "enabled": false,
340
- "currentTileSize": 512,
341
- "minTileSize": 256,
342
- "maxTileSize": 512,
343
- "targetTileTimeMs": 16
344
- },
345
- "lastExecution": {
346
- "width": 512,
347
- "height": 512,
348
- "tileWidth": 512,
349
- "tileHeight": 512,
350
- "tileCount": 1,
351
- "durationMs": 29.69999999552965,
352
- "tileTimeMs": {
353
- "min": 29.69999999552965,
354
- "median": 29.69999999552965,
355
- "mean": 29.69999999552965,
356
- "max": 29.69999999552965
357
- }
358
- }
359
- },
360
- "supportsFP16": true,
361
- "adapter": {
362
- "vendor": "apple",
363
- "architecture": "metal-3",
364
- "device": "",
365
- "description": ""
366
- },
367
- "summary": {
368
- "minMs": 34.100000001490116,
369
- "medianMs": 34.100000001490116,
370
- "meanMs": 34.100000001490116,
371
- "p95Ms": 34.100000001490116,
372
- "maxMs": 34.100000001490116
373
- },
374
- "messages": [],
375
- "validation": {
376
- "sampleCount": 6144,
377
- "meanAbsoluteError": 0.0010210334021394374,
378
- "rootMeanSquaredError": 0.001609680379854656,
379
- "maxAbsoluteError": 0.012395620346069336,
380
- "passed": true,
381
- "thresholds": {
382
- "maxMeanError": 0.005,
383
- "maxAbsoluteError": 0.05
384
- }
385
- }
386
- },
387
- {
388
- "label": "WGSL FP16 Implicit GEMM",
389
- "bundle": "current",
390
- "baseline": false,
391
- "precision": "fp16",
392
- "kernel": "implicit-gemm",
393
- "initializationMs": 29.899999998509884,
394
- "timesMs": [
395
- 34.79999999701977
396
- ],
397
- "executionProfile": {
398
- "totalMs": 30.750209000000005,
399
- "layers": [
400
- {
401
- "id": "input-pack",
402
- "durationMs": 0.044125
403
- },
404
- {
405
- "id": "enc_conv1a",
406
- "durationMs": 1.354375
407
- },
408
- {
409
- "id": "enc_conv1b",
410
- "durationMs": 3.087708
411
- },
412
- {
413
- "id": "pool1",
414
- "durationMs": 0.330333
415
- },
416
- {
417
- "id": "enc_conv2a",
418
- "durationMs": 1.12175
419
- },
420
- {
421
- "id": "enc_conv2b",
422
- "durationMs": 1.751875
423
- },
424
- {
425
- "id": "pool2",
426
- "durationMs": 0.0495
427
- },
428
- {
429
- "id": "enc_conv3a",
430
- "durationMs": 0.619334
431
- },
432
- {
433
- "id": "enc_conv3b",
434
- "durationMs": 0.988542
435
- },
436
- {
437
- "id": "pool3",
438
- "durationMs": 0.29875
439
- },
440
- {
441
- "id": "enc_conv4a",
442
- "durationMs": 0.444625
443
- },
444
- {
445
- "id": "enc_conv4b",
446
- "durationMs": 0.511792
447
- },
448
- {
449
- "id": "pool4",
450
- "durationMs": 0.008666
451
- },
452
- {
453
- "id": "enc_conv5a",
454
- "durationMs": 0.234667
455
- },
456
- {
457
- "id": "enc_conv5b",
458
- "durationMs": 0.30325
459
- },
460
- {
461
- "id": "dec_conv4a",
462
- "durationMs": 1.049583
463
- },
464
- {
465
- "id": "dec_conv4b",
466
- "durationMs": 0.510083
467
- },
468
- {
469
- "id": "dec_conv3a",
470
- "durationMs": 1.901125
471
- },
472
- {
473
- "id": "dec_conv3b",
474
- "durationMs": 0.793417
475
- },
476
- {
477
- "id": "dec_conv2a",
478
- "durationMs": 4.136459
479
- },
480
- {
481
- "id": "dec_conv2b",
482
- "durationMs": 1.750708
483
- },
484
- {
485
- "id": "dec_conv1a",
486
- "durationMs": 6.283583
487
- },
488
- {
489
- "id": "dec_conv1b",
490
- "durationMs": 2.98325
491
- },
492
- {
493
- "id": "dec_conv1c",
494
- "durationMs": 0.192709
495
- }
496
- ]
497
- },
498
- "runtimeInfo": {
499
- "configuredEngine": "wgsl",
500
- "gpuEngine": "wgsl",
501
- "precision": "fp16",
502
- "kernel": {
503
- "configured": "implicit-gemm",
504
- "maxSpatialInputBlocks": 40
505
- },
506
- "model": "oidn-unet-large-v1",
507
- "modelFamily": "oidn-unet-large",
508
- "inputChannels": 9,
509
- "dynamicTile": {
510
- "enabled": false,
511
- "currentTileSize": 512,
512
- "minTileSize": 256,
513
- "maxTileSize": 512,
514
- "targetTileTimeMs": 16
515
- },
516
- "lastExecution": {
517
- "width": 512,
518
- "height": 512,
519
- "tileWidth": 512,
520
- "tileHeight": 512,
521
- "tileCount": 1,
522
- "durationMs": 31.80000000447035,
523
- "tileTimeMs": {
524
- "min": 31.80000000447035,
525
- "median": 31.80000000447035,
526
- "mean": 31.80000000447035,
527
- "max": 31.80000000447035
528
- }
529
- }
530
- },
531
- "supportsFP16": true,
532
- "adapter": {
533
- "vendor": "apple",
534
- "architecture": "metal-3",
535
- "device": "",
536
- "description": ""
537
- },
538
- "summary": {
539
- "minMs": 34.79999999701977,
540
- "medianMs": 34.79999999701977,
541
- "meanMs": 34.79999999701977,
542
- "p95Ms": 34.79999999701977,
543
- "maxMs": 34.79999999701977
544
- },
545
- "messages": [],
546
- "validation": {
547
- "sampleCount": 6144,
548
- "meanAbsoluteError": 0.001559715069864372,
549
- "rootMeanSquaredError": 0.0025477948380839928,
550
- "maxAbsoluteError": 0.04479837417602539,
551
- "passed": true,
552
- "thresholds": {
553
- "maxMeanError": 0.005,
554
- "maxAbsoluteError": 0.05
555
- }
556
- }
557
- },
558
- {
559
- "label": "WGSL FP16 Spatial (experimental)",
560
- "bundle": "current",
561
- "baseline": false,
562
- "precision": "fp16",
563
- "kernel": "spatial",
564
- "initializationMs": 32.30000000447035,
565
- "timesMs": [
566
- 70.10000000149012
567
- ],
568
- "executionProfile": {
569
- "totalMs": 64.850825,
570
- "layers": [
571
- {
572
- "id": "input-pack",
573
- "durationMs": 0.044121
574
- },
575
- {
576
- "id": "enc_conv1a",
577
- "durationMs": 0.718506
578
- },
579
- {
580
- "id": "enc_conv1b",
581
- "durationMs": 5.862582
582
- },
583
- {
584
- "id": "pool1",
585
- "durationMs": 0.424664
586
- },
587
- {
588
- "id": "enc_conv2a",
589
- "durationMs": 2.164602
590
- },
591
- {
592
- "id": "enc_conv2b",
593
- "durationMs": 4.344119
594
- },
595
- {
596
- "id": "pool2",
597
- "durationMs": 0.050037
598
- },
599
- {
600
- "id": "enc_conv3a",
601
- "durationMs": 2.030658
602
- },
603
- {
604
- "id": "enc_conv3b",
605
- "durationMs": 2.726792
606
- },
607
- {
608
- "id": "pool3",
609
- "durationMs": 0.017499
610
- },
611
- {
612
- "id": "enc_conv4a",
613
- "durationMs": 1.370186
614
- },
615
- {
616
- "id": "enc_conv4b",
617
- "durationMs": 0.528527
618
- },
619
- {
620
- "id": "pool4",
621
- "durationMs": 0.01104
622
- },
623
- {
624
- "id": "enc_conv5a",
625
- "durationMs": 0.18798
626
- },
627
- {
628
- "id": "enc_conv5b",
629
- "durationMs": 0.234642
630
- },
631
- {
632
- "id": "dec_conv4a",
633
- "durationMs": 0.959273
634
- },
635
- {
636
- "id": "dec_conv4b",
637
- "durationMs": 0.986435
638
- },
639
- {
640
- "id": "dec_conv3a",
641
- "durationMs": 1.768519
642
- },
643
- {
644
- "id": "dec_conv3b",
645
- "durationMs": 2.666258
646
- },
647
- {
648
- "id": "dec_conv2a",
649
- "durationMs": 2.977057
650
- },
651
- {
652
- "id": "dec_conv2b",
653
- "durationMs": 4.891187
654
- },
655
- {
656
- "id": "dec_conv1a",
657
- "durationMs": 23.573482
658
- },
659
- {
660
- "id": "dec_conv1b",
661
- "durationMs": 5.902536
662
- },
663
- {
664
- "id": "dec_conv1c",
665
- "durationMs": 0.410123
666
- }
667
- ]
668
- },
669
- "runtimeInfo": {
670
- "configuredEngine": "wgsl",
671
- "gpuEngine": "wgsl",
672
- "precision": "fp16",
673
- "kernel": {
674
- "configured": "spatial",
675
- "maxSpatialInputBlocks": 40
676
- },
677
- "model": "oidn-unet-large-v1",
678
- "modelFamily": "oidn-unet-large",
679
- "inputChannels": 9,
680
- "dynamicTile": {
681
- "enabled": false,
682
- "currentTileSize": 512,
683
- "minTileSize": 256,
684
- "maxTileSize": 512,
685
- "targetTileTimeMs": 16
686
- },
687
- "lastExecution": {
688
- "width": 512,
689
- "height": 512,
690
- "tileWidth": 512,
691
- "tileHeight": 512,
692
- "tileCount": 1,
693
- "durationMs": 66.59999999403954,
694
- "tileTimeMs": {
695
- "min": 66.59999999403954,
696
- "median": 66.59999999403954,
697
- "mean": 66.59999999403954,
698
- "max": 66.59999999403954
699
- }
700
- }
701
- },
702
- "supportsFP16": true,
703
- "adapter": {
704
- "vendor": "apple",
705
- "architecture": "metal-3",
706
- "device": "",
707
- "description": ""
708
- },
709
- "summary": {
710
- "minMs": 70.10000000149012,
711
- "medianMs": 70.10000000149012,
712
- "meanMs": 70.10000000149012,
713
- "p95Ms": 70.10000000149012,
714
- "maxMs": 70.10000000149012
715
- },
716
- "messages": [],
717
- "validation": {
718
- "sampleCount": 6144,
719
- "meanAbsoluteError": 0.0010210334021394374,
720
- "rootMeanSquaredError": 0.001609680379854656,
721
- "maxAbsoluteError": 0.012395620346069336,
722
- "passed": true,
723
- "thresholds": {
724
- "maxMeanError": 0.005,
725
- "maxAbsoluteError": 0.05
726
- }
727
- }
728
- },
729
- {
730
- "label": "WebNN FP16 (experimental)",
731
- "bundle": "current",
732
- "baseline": false,
733
- "precision": "fp16",
734
- "engine": "webnn",
735
- "skipped": "Error: WebNN FP16 WebGPU interop failed: NotSupportedError: Failed to execute 'createExportableTensor' on 'MLContext': WebGPU Interop is not supported.",
736
- "messages": []
737
- }
738
- ]
739
- }