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,1094 +0,0 @@
1
- {
2
- "generatedAt": "2026-08-20T05:10:23.359Z",
3
- "currentCommit": "e6b8577b1c69cc8ce979022717984aec5b9ea881",
4
- "baselineCommit": "136c00c34aa5cf4561b4137034dbd643177f0a5f",
5
- "settings": {
6
- "width": 512,
7
- "height": 512,
8
- "tileSize": 512,
9
- "warmup": 1,
10
- "runs": 2,
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.100000001490116,
27
- "timesMs": [
28
- 36.5,
29
- 37.29999999701977
30
- ],
31
- "supportsFP16": true,
32
- "adapter": {
33
- "vendor": "apple",
34
- "architecture": "metal-3",
35
- "device": "",
36
- "description": ""
37
- },
38
- "summary": {
39
- "minMs": 36.5,
40
- "medianMs": 36.899999998509884,
41
- "meanMs": 36.899999998509884,
42
- "p95Ms": 37.29999999701977,
43
- "maxMs": 37.29999999701977
44
- },
45
- "messages": []
46
- },
47
- {
48
- "label": "WGSL FP32 Auto",
49
- "bundle": "current",
50
- "baseline": false,
51
- "precision": "fp32",
52
- "initializationMs": 38.900000005960464,
53
- "timesMs": [
54
- 38.399999998509884,
55
- 37.5
56
- ],
57
- "executionProfile": {
58
- "totalMs": 37.37813,
59
- "layers": [
60
- {
61
- "id": "input-pack",
62
- "durationMs": 0.050453
63
- },
64
- {
65
- "id": "enc_conv1a",
66
- "durationMs": 1.223494
67
- },
68
- {
69
- "id": "enc_conv1b",
70
- "durationMs": 3.980574
71
- },
72
- {
73
- "id": "pool1",
74
- "durationMs": 0.408415
75
- },
76
- {
77
- "id": "enc_conv2a",
78
- "durationMs": 1.403016
79
- },
80
- {
81
- "id": "enc_conv2b",
82
- "durationMs": 2.15777
83
- },
84
- {
85
- "id": "pool2",
86
- "durationMs": 0.054369
87
- },
88
- {
89
- "id": "enc_conv3a",
90
- "durationMs": 1.099632
91
- },
92
- {
93
- "id": "enc_conv3b",
94
- "durationMs": 1.076968
95
- },
96
- {
97
- "id": "pool3",
98
- "durationMs": 0.01829
99
- },
100
- {
101
- "id": "enc_conv4a",
102
- "durationMs": 0.470616
103
- },
104
- {
105
- "id": "enc_conv4b",
106
- "durationMs": 0.612142
107
- },
108
- {
109
- "id": "pool4",
110
- "durationMs": 0.008374
111
- },
112
- {
113
- "id": "enc_conv5a",
114
- "durationMs": 0.255098
115
- },
116
- {
117
- "id": "enc_conv5b",
118
- "durationMs": 0.337964
119
- },
120
- {
121
- "id": "dec_conv4a",
122
- "durationMs": 1.241242
123
- },
124
- {
125
- "id": "dec_conv4b",
126
- "durationMs": 0.609435
127
- },
128
- {
129
- "id": "dec_conv3a",
130
- "durationMs": 2.322086
131
- },
132
- {
133
- "id": "dec_conv3b",
134
- "durationMs": 1.175999
135
- },
136
- {
137
- "id": "dec_conv2a",
138
- "durationMs": 4.670001
139
- },
140
- {
141
- "id": "dec_conv2b",
142
- "durationMs": 2.156895
143
- },
144
- {
145
- "id": "dec_conv1a",
146
- "durationMs": 7.36988
147
- },
148
- {
149
- "id": "dec_conv1b",
150
- "durationMs": 4.177179
151
- },
152
- {
153
- "id": "dec_conv1c",
154
- "durationMs": 0.498238
155
- }
156
- ]
157
- },
158
- "runtimeInfo": {
159
- "configuredEngine": "wgsl",
160
- "gpuEngine": "wgsl",
161
- "precision": "fp32",
162
- "kernel": {
163
- "configured": "auto",
164
- "maxSpatialInputBlocks": 0,
165
- "subgroupsAvailable": false
166
- },
167
- "model": "oidn-unet-large-v1",
168
- "modelFamily": "oidn-unet-large",
169
- "inputChannels": 9,
170
- "dynamicTile": {
171
- "enabled": false,
172
- "currentTileSize": 512,
173
- "minTileSize": 256,
174
- "maxTileSize": 512,
175
- "targetTileTimeMs": 16
176
- },
177
- "lastExecution": {
178
- "width": 512,
179
- "height": 512,
180
- "tileWidth": 512,
181
- "tileHeight": 512,
182
- "tileCount": 1,
183
- "durationMs": 39.20000000298023,
184
- "tileTimeMs": {
185
- "min": 39.100000001490116,
186
- "median": 39.100000001490116,
187
- "mean": 39.100000001490116,
188
- "max": 39.100000001490116
189
- }
190
- }
191
- },
192
- "supportsFP16": true,
193
- "adapter": {
194
- "vendor": "apple",
195
- "architecture": "metal-3",
196
- "device": "",
197
- "description": ""
198
- },
199
- "summary": {
200
- "minMs": 37.5,
201
- "medianMs": 37.94999999925494,
202
- "meanMs": 37.94999999925494,
203
- "p95Ms": 38.399999998509884,
204
- "maxMs": 38.399999998509884
205
- },
206
- "messages": [],
207
- "validation": {
208
- "sampleCount": 6144,
209
- "meanAbsoluteError": 0.0000011096847932397698,
210
- "rootMeanSquaredError": 0.0000018071588418628667,
211
- "maxAbsoluteError": 0.000013589859008789062,
212
- "passed": true,
213
- "thresholds": {
214
- "maxMeanError": 0.0001,
215
- "maxAbsoluteError": 0.001
216
- }
217
- }
218
- },
219
- {
220
- "label": "WGSL FP32 Direct",
221
- "bundle": "current",
222
- "baseline": false,
223
- "precision": "fp32",
224
- "kernel": "direct",
225
- "initializationMs": 44.20000000298023,
226
- "timesMs": [
227
- 66.30000000447035,
228
- 66.39999999850988
229
- ],
230
- "executionProfile": {
231
- "totalMs": 66.16696099999999,
232
- "layers": [
233
- {
234
- "id": "input-pack",
235
- "durationMs": 0.050955
236
- },
237
- {
238
- "id": "enc_conv1a",
239
- "durationMs": 1.238341
240
- },
241
- {
242
- "id": "enc_conv1b",
243
- "durationMs": 9.186731
244
- },
245
- {
246
- "id": "pool1",
247
- "durationMs": 1.051019
248
- },
249
- {
250
- "id": "enc_conv2a",
251
- "durationMs": 3.319964
252
- },
253
- {
254
- "id": "enc_conv2b",
255
- "durationMs": 5.788854
256
- },
257
- {
258
- "id": "pool2",
259
- "durationMs": 0.192405
260
- },
261
- {
262
- "id": "enc_conv3a",
263
- "durationMs": 1.198385
264
- },
265
- {
266
- "id": "enc_conv3b",
267
- "durationMs": 1.437746
268
- },
269
- {
270
- "id": "pool3",
271
- "durationMs": 0.018374
272
- },
273
- {
274
- "id": "enc_conv4a",
275
- "durationMs": 0.577965
276
- },
277
- {
278
- "id": "enc_conv4b",
279
- "durationMs": 0.839406
280
- },
281
- {
282
- "id": "pool4",
283
- "durationMs": 0.012417
284
- },
285
- {
286
- "id": "enc_conv5a",
287
- "durationMs": 0.320438
288
- },
289
- {
290
- "id": "enc_conv5b",
291
- "durationMs": 0.437431
292
- },
293
- {
294
- "id": "dec_conv4a",
295
- "durationMs": 1.871636
296
- },
297
- {
298
- "id": "dec_conv4b",
299
- "durationMs": 1.09735
300
- },
301
- {
302
- "id": "dec_conv3a",
303
- "durationMs": 3.342254
304
- },
305
- {
306
- "id": "dec_conv3b",
307
- "durationMs": 1.437247
308
- },
309
- {
310
- "id": "dec_conv2a",
311
- "durationMs": 7.010614
312
- },
313
- {
314
- "id": "dec_conv2b",
315
- "durationMs": 5.840268
316
- },
317
- {
318
- "id": "dec_conv1a",
319
- "durationMs": 10.112342
320
- },
321
- {
322
- "id": "dec_conv1b",
323
- "durationMs": 9.302391
324
- },
325
- {
326
- "id": "dec_conv1c",
327
- "durationMs": 0.482428
328
- }
329
- ]
330
- },
331
- "runtimeInfo": {
332
- "configuredEngine": "wgsl",
333
- "gpuEngine": "wgsl",
334
- "precision": "fp32",
335
- "kernel": {
336
- "configured": "direct",
337
- "maxSpatialInputBlocks": 0,
338
- "subgroupsAvailable": false
339
- },
340
- "model": "oidn-unet-large-v1",
341
- "modelFamily": "oidn-unet-large",
342
- "inputChannels": 9,
343
- "dynamicTile": {
344
- "enabled": false,
345
- "currentTileSize": 512,
346
- "minTileSize": 256,
347
- "maxTileSize": 512,
348
- "targetTileTimeMs": 16
349
- },
350
- "lastExecution": {
351
- "width": 512,
352
- "height": 512,
353
- "tileWidth": 512,
354
- "tileHeight": 512,
355
- "tileCount": 1,
356
- "durationMs": 68,
357
- "tileTimeMs": {
358
- "min": 68,
359
- "median": 68,
360
- "mean": 68,
361
- "max": 68
362
- }
363
- }
364
- },
365
- "supportsFP16": true,
366
- "adapter": {
367
- "vendor": "apple",
368
- "architecture": "metal-3",
369
- "device": "",
370
- "description": ""
371
- },
372
- "summary": {
373
- "minMs": 66.30000000447035,
374
- "medianMs": 66.35000000149012,
375
- "meanMs": 66.35000000149012,
376
- "p95Ms": 66.39999999850988,
377
- "maxMs": 66.39999999850988
378
- },
379
- "messages": [],
380
- "validation": {
381
- "sampleCount": 6144,
382
- "meanAbsoluteError": 0.0000011096847932397698,
383
- "rootMeanSquaredError": 0.0000018071588418628667,
384
- "maxAbsoluteError": 0.000013589859008789062,
385
- "passed": true,
386
- "thresholds": {
387
- "maxMeanError": 0.0001,
388
- "maxAbsoluteError": 0.001
389
- }
390
- }
391
- },
392
- {
393
- "label": "WGSL FP16 Direct",
394
- "bundle": "current",
395
- "baseline": false,
396
- "precision": "fp16",
397
- "kernel": "direct",
398
- "initializationMs": 28.400000005960464,
399
- "timesMs": [
400
- 29.5,
401
- 30.200000002980232
402
- ],
403
- "executionProfile": {
404
- "totalMs": 29.166133000000002,
405
- "layers": [
406
- {
407
- "id": "input-pack",
408
- "durationMs": 0.044662
409
- },
410
- {
411
- "id": "enc_conv1a",
412
- "durationMs": 0.618351
413
- },
414
- {
415
- "id": "enc_conv1b",
416
- "durationMs": 3.092378
417
- },
418
- {
419
- "id": "pool1",
420
- "durationMs": 0.332757
421
- },
422
- {
423
- "id": "enc_conv2a",
424
- "durationMs": 1.808766
425
- },
426
- {
427
- "id": "enc_conv2b",
428
- "durationMs": 2.118399
429
- },
430
- {
431
- "id": "pool2",
432
- "durationMs": 0.061076
433
- },
434
- {
435
- "id": "enc_conv3a",
436
- "durationMs": 0.683135
437
- },
438
- {
439
- "id": "enc_conv3b",
440
- "durationMs": 0.858699
441
- },
442
- {
443
- "id": "pool3",
444
- "durationMs": 0.015165
445
- },
446
- {
447
- "id": "enc_conv4a",
448
- "durationMs": 0.552232
449
- },
450
- {
451
- "id": "enc_conv4b",
452
- "durationMs": 0.539318
453
- },
454
- {
455
- "id": "pool4",
456
- "durationMs": 0.010958
457
- },
458
- {
459
- "id": "enc_conv5a",
460
- "durationMs": 0.186355
461
- },
462
- {
463
- "id": "enc_conv5b",
464
- "durationMs": 0.2321
465
- },
466
- {
467
- "id": "dec_conv4a",
468
- "durationMs": 0.959397
469
- },
470
- {
471
- "id": "dec_conv4b",
472
- "durationMs": 0.541108
473
- },
474
- {
475
- "id": "dec_conv3a",
476
- "durationMs": 2.367372
477
- },
478
- {
479
- "id": "dec_conv3b",
480
- "durationMs": 0.846076
481
- },
482
- {
483
- "id": "dec_conv2a",
484
- "durationMs": 2.975141
485
- },
486
- {
487
- "id": "dec_conv2b",
488
- "durationMs": 1.969872
489
- },
490
- {
491
- "id": "dec_conv1a",
492
- "durationMs": 5.064917
493
- },
494
- {
495
- "id": "dec_conv1b",
496
- "durationMs": 3.093295
497
- },
498
- {
499
- "id": "dec_conv1c",
500
- "durationMs": 0.194604
501
- }
502
- ]
503
- },
504
- "runtimeInfo": {
505
- "configuredEngine": "wgsl",
506
- "gpuEngine": "wgsl",
507
- "precision": "fp16",
508
- "kernel": {
509
- "configured": "direct",
510
- "maxSpatialInputBlocks": 40,
511
- "subgroupsAvailable": false
512
- },
513
- "model": "oidn-unet-large-v1",
514
- "modelFamily": "oidn-unet-large",
515
- "inputChannels": 9,
516
- "dynamicTile": {
517
- "enabled": false,
518
- "currentTileSize": 512,
519
- "minTileSize": 256,
520
- "maxTileSize": 512,
521
- "targetTileTimeMs": 16
522
- },
523
- "lastExecution": {
524
- "width": 512,
525
- "height": 512,
526
- "tileWidth": 512,
527
- "tileHeight": 512,
528
- "tileCount": 1,
529
- "durationMs": 31.200000002980232,
530
- "tileTimeMs": {
531
- "min": 31.200000002980232,
532
- "median": 31.200000002980232,
533
- "mean": 31.200000002980232,
534
- "max": 31.200000002980232
535
- }
536
- }
537
- },
538
- "supportsFP16": true,
539
- "adapter": {
540
- "vendor": "apple",
541
- "architecture": "metal-3",
542
- "device": "",
543
- "description": ""
544
- },
545
- "summary": {
546
- "minMs": 29.5,
547
- "medianMs": 29.850000001490116,
548
- "meanMs": 29.850000001490116,
549
- "p95Ms": 30.200000002980232,
550
- "maxMs": 30.200000002980232
551
- },
552
- "messages": [],
553
- "validation": {
554
- "sampleCount": 6144,
555
- "meanAbsoluteError": 0.0010210334021394374,
556
- "rootMeanSquaredError": 0.001609680379854656,
557
- "maxAbsoluteError": 0.012395620346069336,
558
- "passed": true,
559
- "thresholds": {
560
- "maxMeanError": 0.005,
561
- "maxAbsoluteError": 0.05
562
- }
563
- }
564
- },
565
- {
566
- "label": "WGSL FP16 Implicit GEMM",
567
- "bundle": "current",
568
- "baseline": false,
569
- "precision": "fp16",
570
- "kernel": "implicit-gemm",
571
- "initializationMs": 31,
572
- "timesMs": [
573
- 30.799999997019768,
574
- 30.700000002980232
575
- ],
576
- "executionProfile": {
577
- "totalMs": 29.756030999999997,
578
- "layers": [
579
- {
580
- "id": "input-pack",
581
- "durationMs": 0.04362
582
- },
583
- {
584
- "id": "enc_conv1a",
585
- "durationMs": 0.683969
586
- },
587
- {
588
- "id": "enc_conv1b",
589
- "durationMs": 2.937019
590
- },
591
- {
592
- "id": "pool1",
593
- "durationMs": 0.326632
594
- },
595
- {
596
- "id": "enc_conv2a",
597
- "durationMs": 1.121922
598
- },
599
- {
600
- "id": "enc_conv2b",
601
- "durationMs": 2.219347
602
- },
603
- {
604
- "id": "pool2",
605
- "durationMs": 0.141277
606
- },
607
- {
608
- "id": "enc_conv3a",
609
- "durationMs": 0.625558
610
- },
611
- {
612
- "id": "enc_conv3b",
613
- "durationMs": 0.792915
614
- },
615
- {
616
- "id": "pool3",
617
- "durationMs": 0.018873
618
- },
619
- {
620
- "id": "enc_conv4a",
621
- "durationMs": 0.32709
622
- },
623
- {
624
- "id": "enc_conv4b",
625
- "durationMs": 0.508488
626
- },
627
- {
628
- "id": "pool4",
629
- "durationMs": 0.008583
630
- },
631
- {
632
- "id": "enc_conv5a",
633
- "durationMs": 0.228892
634
- },
635
- {
636
- "id": "enc_conv5b",
637
- "durationMs": 0.297802
638
- },
639
- {
640
- "id": "dec_conv4a",
641
- "durationMs": 1.047221
642
- },
643
- {
644
- "id": "dec_conv4b",
645
- "durationMs": 0.506613
646
- },
647
- {
648
- "id": "dec_conv3a",
649
- "durationMs": 1.944751
650
- },
651
- {
652
- "id": "dec_conv3b",
653
- "durationMs": 1.176082
654
- },
655
- {
656
- "id": "dec_conv2a",
657
- "durationMs": 3.651735
658
- },
659
- {
660
- "id": "dec_conv2b",
661
- "durationMs": 1.753521
662
- },
663
- {
664
- "id": "dec_conv1a",
665
- "durationMs": 6.263747
666
- },
667
- {
668
- "id": "dec_conv1b",
669
- "durationMs": 2.938061
670
- },
671
- {
672
- "id": "dec_conv1c",
673
- "durationMs": 0.192313
674
- }
675
- ]
676
- },
677
- "runtimeInfo": {
678
- "configuredEngine": "wgsl",
679
- "gpuEngine": "wgsl",
680
- "precision": "fp16",
681
- "kernel": {
682
- "configured": "implicit-gemm",
683
- "maxSpatialInputBlocks": 40,
684
- "subgroupsAvailable": false
685
- },
686
- "model": "oidn-unet-large-v1",
687
- "modelFamily": "oidn-unet-large",
688
- "inputChannels": 9,
689
- "dynamicTile": {
690
- "enabled": false,
691
- "currentTileSize": 512,
692
- "minTileSize": 256,
693
- "maxTileSize": 512,
694
- "targetTileTimeMs": 16
695
- },
696
- "lastExecution": {
697
- "width": 512,
698
- "height": 512,
699
- "tileWidth": 512,
700
- "tileHeight": 512,
701
- "tileCount": 1,
702
- "durationMs": 31.399999998509884,
703
- "tileTimeMs": {
704
- "min": 31.399999998509884,
705
- "median": 31.399999998509884,
706
- "mean": 31.399999998509884,
707
- "max": 31.399999998509884
708
- }
709
- }
710
- },
711
- "supportsFP16": true,
712
- "adapter": {
713
- "vendor": "apple",
714
- "architecture": "metal-3",
715
- "device": "",
716
- "description": ""
717
- },
718
- "summary": {
719
- "minMs": 30.700000002980232,
720
- "medianMs": 30.75,
721
- "meanMs": 30.75,
722
- "p95Ms": 30.799999997019768,
723
- "maxMs": 30.799999997019768
724
- },
725
- "messages": [],
726
- "validation": {
727
- "sampleCount": 6144,
728
- "meanAbsoluteError": 0.001559715069864372,
729
- "rootMeanSquaredError": 0.0025477948380839928,
730
- "maxAbsoluteError": 0.04479837417602539,
731
- "passed": true,
732
- "thresholds": {
733
- "maxMeanError": 0.005,
734
- "maxAbsoluteError": 0.05
735
- }
736
- }
737
- },
738
- {
739
- "label": "WGSL FP16 Spatial (experimental)",
740
- "bundle": "current",
741
- "baseline": false,
742
- "precision": "fp16",
743
- "kernel": "spatial",
744
- "initializationMs": 29,
745
- "timesMs": [
746
- 65.29999999701977,
747
- 65
748
- ],
749
- "executionProfile": {
750
- "totalMs": 65.135023,
751
- "layers": [
752
- {
753
- "id": "input-pack",
754
- "durationMs": 0.044248
755
- },
756
- {
757
- "id": "enc_conv1a",
758
- "durationMs": 0.716914
759
- },
760
- {
761
- "id": "enc_conv1b",
762
- "durationMs": 6.067171
763
- },
764
- {
765
- "id": "pool1",
766
- "durationMs": 0.339896
767
- },
768
- {
769
- "id": "enc_conv2a",
770
- "durationMs": 2.045542
771
- },
772
- {
773
- "id": "enc_conv2b",
774
- "durationMs": 4.968572
775
- },
776
- {
777
- "id": "pool2",
778
- "durationMs": 0.054955
779
- },
780
- {
781
- "id": "enc_conv3a",
782
- "durationMs": 1.431746
783
- },
784
- {
785
- "id": "enc_conv3b",
786
- "durationMs": 2.89999
787
- },
788
- {
789
- "id": "pool3",
790
- "durationMs": 0.016208
791
- },
792
- {
793
- "id": "enc_conv4a",
794
- "durationMs": 1.528115
795
- },
796
- {
797
- "id": "enc_conv4b",
798
- "durationMs": 0.711331
799
- },
800
- {
801
- "id": "pool4",
802
- "durationMs": 0.035748
803
- },
804
- {
805
- "id": "enc_conv5a",
806
- "durationMs": 0.191779
807
- },
808
- {
809
- "id": "enc_conv5b",
810
- "durationMs": 0.233361
811
- },
812
- {
813
- "id": "dec_conv4a",
814
- "durationMs": 0.99294
815
- },
816
- {
817
- "id": "dec_conv4b",
818
- "durationMs": 0.536467
819
- },
820
- {
821
- "id": "dec_conv3a",
822
- "durationMs": 1.701312
823
- },
824
- {
825
- "id": "dec_conv3b",
826
- "durationMs": 2.605841
827
- },
828
- {
829
- "id": "dec_conv2a",
830
- "durationMs": 3.679358
831
- },
832
- {
833
- "id": "dec_conv2b",
834
- "durationMs": 4.351234
835
- },
836
- {
837
- "id": "dec_conv1a",
838
- "durationMs": 23.607934
839
- },
840
- {
841
- "id": "dec_conv1b",
842
- "durationMs": 6.006258
843
- },
844
- {
845
- "id": "dec_conv1c",
846
- "durationMs": 0.368103
847
- }
848
- ]
849
- },
850
- "runtimeInfo": {
851
- "configuredEngine": "wgsl",
852
- "gpuEngine": "wgsl",
853
- "precision": "fp16",
854
- "kernel": {
855
- "configured": "spatial",
856
- "maxSpatialInputBlocks": 40,
857
- "subgroupsAvailable": false
858
- },
859
- "model": "oidn-unet-large-v1",
860
- "modelFamily": "oidn-unet-large",
861
- "inputChannels": 9,
862
- "dynamicTile": {
863
- "enabled": false,
864
- "currentTileSize": 512,
865
- "minTileSize": 256,
866
- "maxTileSize": 512,
867
- "targetTileTimeMs": 16
868
- },
869
- "lastExecution": {
870
- "width": 512,
871
- "height": 512,
872
- "tileWidth": 512,
873
- "tileHeight": 512,
874
- "tileCount": 1,
875
- "durationMs": 66.89999999850988,
876
- "tileTimeMs": {
877
- "min": 66.89999999850988,
878
- "median": 66.89999999850988,
879
- "mean": 66.89999999850988,
880
- "max": 66.89999999850988
881
- }
882
- }
883
- },
884
- "supportsFP16": true,
885
- "adapter": {
886
- "vendor": "apple",
887
- "architecture": "metal-3",
888
- "device": "",
889
- "description": ""
890
- },
891
- "summary": {
892
- "minMs": 65,
893
- "medianMs": 65.14999999850988,
894
- "meanMs": 65.14999999850988,
895
- "p95Ms": 65.29999999701977,
896
- "maxMs": 65.29999999701977
897
- },
898
- "messages": [],
899
- "validation": {
900
- "sampleCount": 6144,
901
- "meanAbsoluteError": 0.0010210334021394374,
902
- "rootMeanSquaredError": 0.001609680379854656,
903
- "maxAbsoluteError": 0.012395620346069336,
904
- "passed": true,
905
- "thresholds": {
906
- "maxMeanError": 0.005,
907
- "maxAbsoluteError": 0.05
908
- }
909
- }
910
- },
911
- {
912
- "label": "WGSL FP16 Subgroup (experimental)",
913
- "bundle": "current",
914
- "baseline": false,
915
- "precision": "fp16",
916
- "kernel": "subgroup",
917
- "initializationMs": 115.79999999701977,
918
- "timesMs": [
919
- 31.299999997019768,
920
- 31.399999998509884
921
- ],
922
- "executionProfile": {
923
- "totalMs": 30.665889999999997,
924
- "layers": [
925
- {
926
- "id": "input-pack",
927
- "durationMs": 0.044704
928
- },
929
- {
930
- "id": "enc_conv1a",
931
- "durationMs": 0.739671
932
- },
933
- {
934
- "id": "enc_conv1b",
935
- "durationMs": 4.058816
936
- },
937
- {
938
- "id": "pool1",
939
- "durationMs": 0.359212
940
- },
941
- {
942
- "id": "enc_conv2a",
943
- "durationMs": 1.286655
944
- },
945
- {
946
- "id": "enc_conv2b",
947
- "durationMs": 2.023283
948
- },
949
- {
950
- "id": "pool2",
951
- "durationMs": 0.05137
952
- },
953
- {
954
- "id": "enc_conv3a",
955
- "durationMs": 0.713007
956
- },
957
- {
958
- "id": "enc_conv3b",
959
- "durationMs": 0.923401
960
- },
961
- {
962
- "id": "pool3",
963
- "durationMs": 0.015207
964
- },
965
- {
966
- "id": "enc_conv4a",
967
- "durationMs": 0.375293
968
- },
969
- {
970
- "id": "enc_conv4b",
971
- "durationMs": 0.750378
972
- },
973
- {
974
- "id": "pool4",
975
- "durationMs": 0.157316
976
- },
977
- {
978
- "id": "enc_conv5a",
979
- "durationMs": 0.405707
980
- },
981
- {
982
- "id": "enc_conv5b",
983
- "durationMs": 0.276304
984
- },
985
- {
986
- "id": "dec_conv4a",
987
- "durationMs": 0.964688
988
- },
989
- {
990
- "id": "dec_conv4b",
991
- "durationMs": 0.587021
992
- },
993
- {
994
- "id": "dec_conv3a",
995
- "durationMs": 1.708817
996
- },
997
- {
998
- "id": "dec_conv3b",
999
- "durationMs": 0.921902
1000
- },
1001
- {
1002
- "id": "dec_conv2a",
1003
- "durationMs": 3.135749
1004
- },
1005
- {
1006
- "id": "dec_conv2b",
1007
- "durationMs": 2.4919
1008
- },
1009
- {
1010
- "id": "dec_conv1a",
1011
- "durationMs": 4.38224
1012
- },
1013
- {
1014
- "id": "dec_conv1b",
1015
- "durationMs": 4.066899
1016
- },
1017
- {
1018
- "id": "dec_conv1c",
1019
- "durationMs": 0.22635
1020
- }
1021
- ]
1022
- },
1023
- "runtimeInfo": {
1024
- "configuredEngine": "wgsl",
1025
- "gpuEngine": "wgsl",
1026
- "precision": "fp16",
1027
- "kernel": {
1028
- "configured": "subgroup",
1029
- "maxSpatialInputBlocks": 40,
1030
- "subgroupsAvailable": true
1031
- },
1032
- "model": "oidn-unet-large-v1",
1033
- "modelFamily": "oidn-unet-large",
1034
- "inputChannels": 9,
1035
- "dynamicTile": {
1036
- "enabled": false,
1037
- "currentTileSize": 512,
1038
- "minTileSize": 256,
1039
- "maxTileSize": 512,
1040
- "targetTileTimeMs": 16
1041
- },
1042
- "lastExecution": {
1043
- "width": 512,
1044
- "height": 512,
1045
- "tileWidth": 512,
1046
- "tileHeight": 512,
1047
- "tileCount": 1,
1048
- "durationMs": 32.399999998509884,
1049
- "tileTimeMs": {
1050
- "min": 32.399999998509884,
1051
- "median": 32.399999998509884,
1052
- "mean": 32.399999998509884,
1053
- "max": 32.399999998509884
1054
- }
1055
- }
1056
- },
1057
- "supportsFP16": true,
1058
- "adapter": {
1059
- "vendor": "apple",
1060
- "architecture": "metal-3",
1061
- "device": "",
1062
- "description": ""
1063
- },
1064
- "summary": {
1065
- "minMs": 31.299999997019768,
1066
- "medianMs": 31.349999997764826,
1067
- "meanMs": 31.349999997764826,
1068
- "p95Ms": 31.399999998509884,
1069
- "maxMs": 31.399999998509884
1070
- },
1071
- "messages": [],
1072
- "validation": {
1073
- "sampleCount": 6144,
1074
- "meanAbsoluteError": 0.0010210334021394374,
1075
- "rootMeanSquaredError": 0.001609680379854656,
1076
- "maxAbsoluteError": 0.012395620346069336,
1077
- "passed": true,
1078
- "thresholds": {
1079
- "maxMeanError": 0.005,
1080
- "maxAbsoluteError": 0.05
1081
- }
1082
- }
1083
- },
1084
- {
1085
- "label": "WebNN FP16 (experimental)",
1086
- "bundle": "current",
1087
- "baseline": false,
1088
- "precision": "fp16",
1089
- "engine": "webnn",
1090
- "skipped": "Error: WebNN FP16 WebGPU interop failed: NotSupportedError: Failed to execute 'createExportableTensor' on 'MLContext': WebGPU Interop is not supported.",
1091
- "messages": []
1092
- }
1093
- ]
1094
- }