oidn-web 0.3.4 → 0.4.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 (122) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +140 -4
  3. package/benchmarks/compare.mjs +651 -0
  4. package/benchmarks/leak.mjs +255 -0
  5. package/benchmarks/results/before-spatial.json +391 -0
  6. package/benchmarks/results/before-spatial.md +47 -0
  7. package/benchmarks/results/int8-scan.json +2007 -0
  8. package/benchmarks/results/int8-scan.md +160 -0
  9. package/benchmarks/results/int8-w8a8-scan.json +2007 -0
  10. package/benchmarks/results/int8-w8a8-scan.md +160 -0
  11. package/benchmarks/results/int8-weight-channel.json +1413 -0
  12. package/benchmarks/results/int8-weight-channel.md +118 -0
  13. package/benchmarks/results/int8-weight-only.json +1437 -0
  14. package/benchmarks/results/int8-weight-only.md +118 -0
  15. package/benchmarks/results/kernel-webnn-final.json +1115 -0
  16. package/benchmarks/results/kernel-webnn-final.md +104 -0
  17. package/benchmarks/results/latest-optimized.json +375 -0
  18. package/benchmarks/results/latest-optimized.md +47 -0
  19. package/benchmarks/results/latest.json +391 -0
  20. package/benchmarks/results/latest.md +47 -0
  21. package/benchmarks/results/profile-baseline.json +331 -0
  22. package/benchmarks/results/profile-baseline.md +12 -0
  23. package/benchmarks/results/profile-conv2x.json +331 -0
  24. package/benchmarks/results/profile-conv2x.md +12 -0
  25. package/benchmarks/results/profile-fast-init.json +385 -0
  26. package/benchmarks/results/profile-fast-init.md +47 -0
  27. package/benchmarks/results/profile-fp16-fma.json +369 -0
  28. package/benchmarks/results/profile-fp16-fma.md +47 -0
  29. package/benchmarks/results/profile-fp16-tiled-decoder.json +369 -0
  30. package/benchmarks/results/profile-fp16-tiled-decoder.md +47 -0
  31. package/benchmarks/results/profile-fp16-tiled-encoder.json +369 -0
  32. package/benchmarks/results/profile-fp16-tiled-encoder.md +47 -0
  33. package/benchmarks/results/profile-fp16-unfused-pool.json +385 -0
  34. package/benchmarks/results/profile-fp16-unfused-pool.md +47 -0
  35. package/benchmarks/results/profile-input-major.json +347 -0
  36. package/benchmarks/results/profile-input-major.md +12 -0
  37. package/benchmarks/results/profile-k16.json +347 -0
  38. package/benchmarks/results/profile-k16.md +12 -0
  39. package/benchmarks/results/profile-k4.json +347 -0
  40. package/benchmarks/results/profile-k4.md +12 -0
  41. package/benchmarks/results/profile-pool-reuse.json +331 -0
  42. package/benchmarks/results/profile-pool-reuse.md +12 -0
  43. package/benchmarks/results/profile-precompiled.json +385 -0
  44. package/benchmarks/results/profile-precompiled.md +47 -0
  45. package/benchmarks/results/profile-static-channels.json +385 -0
  46. package/benchmarks/results/profile-static-channels.md +47 -0
  47. package/benchmarks/results/profile-static-io.json +385 -0
  48. package/benchmarks/results/profile-static-io.md +47 -0
  49. package/benchmarks/results/profile-tiled-conv.json +331 -0
  50. package/benchmarks/results/profile-tiled-conv.md +12 -0
  51. package/benchmarks/results/profile-tiled-decoder.json +347 -0
  52. package/benchmarks/results/profile-tiled-decoder.md +12 -0
  53. package/benchmarks/results/profile-tiled-matmul.json +331 -0
  54. package/benchmarks/results/profile-tiled-matmul.md +12 -0
  55. package/benchmarks/results/profile-unfused-decoder.json +379 -0
  56. package/benchmarks/results/profile-unfused-decoder.md +12 -0
  57. package/benchmarks/results/profile-unfused-pool.json +347 -0
  58. package/benchmarks/results/profile-unfused-pool.md +12 -0
  59. package/benchmarks/results/spatial-auto.json +575 -0
  60. package/benchmarks/results/spatial-auto.md +61 -0
  61. package/benchmarks/results/subgroup-smoke.json +1094 -0
  62. package/benchmarks/results/subgroup-smoke.md +104 -0
  63. package/benchmarks/results/webnn-smoke.json +739 -0
  64. package/benchmarks/results/webnn-smoke.md +76 -0
  65. package/dist/oidn.js +4189 -22603
  66. package/dist/oidn.umd.cjs +784 -5807
  67. package/lib/UNet.d.ts +66 -15
  68. package/lib/UNet.js +162 -257
  69. package/lib/UNet.js.map +1 -1
  70. package/lib/WGPUComputePass.d.ts +1 -1
  71. package/lib/WGPUComputePass.js +6 -4
  72. package/lib/WGPUComputePass.js.map +1 -1
  73. package/lib/backend.d.ts +8 -4
  74. package/lib/backend.js +36 -44
  75. package/lib/backend.js.map +1 -1
  76. package/lib/graphOptimizer.d.ts +54 -0
  77. package/lib/graphOptimizer.js +216 -0
  78. package/lib/graphOptimizer.js.map +1 -0
  79. package/lib/main.d.ts +33 -10
  80. package/lib/main.js +5 -0
  81. package/lib/main.js.map +1 -1
  82. package/lib/modelSpec.d.ts +80 -0
  83. package/lib/modelSpec.js +270 -0
  84. package/lib/modelSpec.js.map +1 -0
  85. package/lib/nativeUNet.d.ts +67 -0
  86. package/lib/nativeUNet.js +1735 -0
  87. package/lib/nativeUNet.js.map +1 -0
  88. package/lib/process.js +38 -35
  89. package/lib/process.js.map +1 -1
  90. package/lib/resourceTracker.d.ts +26 -0
  91. package/lib/resourceTracker.js +65 -0
  92. package/lib/resourceTracker.js.map +1 -0
  93. package/lib/tileScheduler.d.ts +33 -0
  94. package/lib/tileScheduler.js +86 -0
  95. package/lib/tileScheduler.js.map +1 -0
  96. package/lib/webnnUNet.d.ts +52 -0
  97. package/lib/webnnUNet.js +535 -0
  98. package/lib/webnnUNet.js.map +1 -0
  99. package/package.json +9 -5
  100. package/scripts/inspect-model.mjs +64 -0
  101. package/src/UNet.ts +236 -339
  102. package/src/WGPUComputePass.ts +6 -4
  103. package/src/backend.ts +42 -55
  104. package/src/graphOptimizer.ts +301 -0
  105. package/src/main.ts +71 -11
  106. package/src/modelSpec.ts +414 -0
  107. package/src/nativeUNet.ts +2256 -0
  108. package/src/process.ts +38 -36
  109. package/src/resourceTracker.ts +94 -0
  110. package/src/tileScheduler.ts +138 -0
  111. package/src/webnnUNet.ts +812 -0
  112. package/tests/modelSpec.test.mjs +128 -0
  113. package/tests/resourceLifecycle.test.mjs +383 -0
  114. package/tests/tileScheduler.test.mjs +90 -0
  115. package/lib/helper.d.ts +0 -4
  116. package/lib/helper.js +0 -33
  117. package/lib/helper.js.map +0 -1
  118. package/lib/kernels.d.ts +0 -1
  119. package/lib/kernels.js +0 -26
  120. package/lib/kernels.js.map +0 -1
  121. package/src/helper.ts +0 -43
  122. package/src/kernels.ts +0 -31
@@ -0,0 +1,1413 @@
1
+ {
2
+ "generatedAt": "2026-08-20T06:20:52.321Z",
3
+ "currentCommit": "4dc1797b24c64aa0d647eada0cb3389fb0d24705",
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": 8.800000004470348,
27
+ "timesMs": [
28
+ 36.80000000447035,
29
+ 37
30
+ ],
31
+ "supportsFP16": true,
32
+ "adapter": {
33
+ "vendor": "apple",
34
+ "architecture": "metal-3",
35
+ "device": "",
36
+ "description": ""
37
+ },
38
+ "summary": {
39
+ "minMs": 36.80000000447035,
40
+ "medianMs": 36.900000002235174,
41
+ "meanMs": 36.900000002235174,
42
+ "p95Ms": 37,
43
+ "maxMs": 37
44
+ },
45
+ "messages": []
46
+ },
47
+ {
48
+ "label": "WGSL FP32 Auto",
49
+ "bundle": "current",
50
+ "baseline": false,
51
+ "precision": "fp32",
52
+ "initializationMs": 39.599999994039536,
53
+ "timesMs": [
54
+ 37.69999999552965,
55
+ 38.100000001490116
56
+ ],
57
+ "executionProfile": {
58
+ "totalMs": 36.800942,
59
+ "layers": [
60
+ {
61
+ "id": "input-pack",
62
+ "durationMs": 0.05016
63
+ },
64
+ {
65
+ "id": "enc_conv1a",
66
+ "durationMs": 0.839745
67
+ },
68
+ {
69
+ "id": "enc_conv1b",
70
+ "durationMs": 3.69298
71
+ },
72
+ {
73
+ "id": "pool1",
74
+ "durationMs": 0.409706
75
+ },
76
+ {
77
+ "id": "enc_conv2a",
78
+ "durationMs": 1.404017
79
+ },
80
+ {
81
+ "id": "enc_conv2b",
82
+ "durationMs": 2.512899
83
+ },
84
+ {
85
+ "id": "pool2",
86
+ "durationMs": 0.23485
87
+ },
88
+ {
89
+ "id": "enc_conv3a",
90
+ "durationMs": 0.788499
91
+ },
92
+ {
93
+ "id": "enc_conv3b",
94
+ "durationMs": 0.991394
95
+ },
96
+ {
97
+ "id": "pool3",
98
+ "durationMs": 0.018164
99
+ },
100
+ {
101
+ "id": "enc_conv4a",
102
+ "durationMs": 0.396123
103
+ },
104
+ {
105
+ "id": "enc_conv4b",
106
+ "durationMs": 0.715049
107
+ },
108
+ {
109
+ "id": "pool4",
110
+ "durationMs": 0.008541
111
+ },
112
+ {
113
+ "id": "enc_conv5a",
114
+ "durationMs": 0.258222
115
+ },
116
+ {
117
+ "id": "enc_conv5b",
118
+ "durationMs": 0.333006
119
+ },
120
+ {
121
+ "id": "dec_conv4a",
122
+ "durationMs": 1.242783
123
+ },
124
+ {
125
+ "id": "dec_conv4b",
126
+ "durationMs": 0.670928
127
+ },
128
+ {
129
+ "id": "dec_conv3a",
130
+ "durationMs": 2.730376
131
+ },
132
+ {
133
+ "id": "dec_conv3b",
134
+ "durationMs": 0.988936
135
+ },
136
+ {
137
+ "id": "dec_conv2a",
138
+ "durationMs": 4.556389
139
+ },
140
+ {
141
+ "id": "dec_conv2b",
142
+ "durationMs": 2.447363
143
+ },
144
+ {
145
+ "id": "dec_conv1a",
146
+ "durationMs": 7.322384
147
+ },
148
+ {
149
+ "id": "dec_conv1b",
150
+ "durationMs": 3.693314
151
+ },
152
+ {
153
+ "id": "dec_conv1c",
154
+ "durationMs": 0.495114
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
+ "resources": {
168
+ "live": 68,
169
+ "created": 71,
170
+ "destroyed": 3,
171
+ "peakLive": 71,
172
+ "pending": 0,
173
+ "byKind": {
174
+ "gpu-buffer": {
175
+ "created": 70,
176
+ "destroyed": 2,
177
+ "live": 68,
178
+ "peakLive": 70
179
+ },
180
+ "gpu-query-set": {
181
+ "created": 1,
182
+ "destroyed": 1,
183
+ "live": 0,
184
+ "peakLive": 1
185
+ }
186
+ }
187
+ },
188
+ "model": "oidn-unet-large-v1",
189
+ "modelFamily": "oidn-unet-large",
190
+ "inputChannels": 9,
191
+ "dynamicTile": {
192
+ "enabled": false,
193
+ "currentTileSize": 512,
194
+ "minTileSize": 256,
195
+ "maxTileSize": 512,
196
+ "targetTileTimeMs": 16
197
+ },
198
+ "lastExecution": {
199
+ "width": 512,
200
+ "height": 512,
201
+ "tileWidth": 512,
202
+ "tileHeight": 512,
203
+ "tileCount": 1,
204
+ "durationMs": 38.600000001490116,
205
+ "tileTimeMs": {
206
+ "min": 38.600000001490116,
207
+ "median": 38.600000001490116,
208
+ "mean": 38.600000001490116,
209
+ "max": 38.600000001490116
210
+ }
211
+ }
212
+ },
213
+ "supportsFP16": true,
214
+ "adapter": {
215
+ "vendor": "apple",
216
+ "architecture": "metal-3",
217
+ "device": "",
218
+ "description": ""
219
+ },
220
+ "summary": {
221
+ "minMs": 37.69999999552965,
222
+ "medianMs": 37.899999998509884,
223
+ "meanMs": 37.899999998509884,
224
+ "p95Ms": 38.100000001490116,
225
+ "maxMs": 38.100000001490116
226
+ },
227
+ "messages": [],
228
+ "validation": {
229
+ "sampleCount": 6144,
230
+ "meanAbsoluteError": 0.0000011096847932397698,
231
+ "rootMeanSquaredError": 0.0000018071588418628667,
232
+ "maxAbsoluteError": 0.000013589859008789062,
233
+ "passed": true,
234
+ "thresholds": {
235
+ "maxMeanError": 0.0001,
236
+ "maxAbsoluteError": 0.001
237
+ }
238
+ }
239
+ },
240
+ {
241
+ "label": "WGSL FP32 Direct",
242
+ "bundle": "current",
243
+ "baseline": false,
244
+ "precision": "fp32",
245
+ "kernel": "direct",
246
+ "initializationMs": 37.69999999552965,
247
+ "timesMs": [
248
+ 66.29999999701977,
249
+ 66
250
+ ],
251
+ "executionProfile": {
252
+ "totalMs": 65.62849200000001,
253
+ "layers": [
254
+ {
255
+ "id": "input-pack",
256
+ "durationMs": 0.051122
257
+ },
258
+ {
259
+ "id": "enc_conv1a",
260
+ "durationMs": 1.240133
261
+ },
262
+ {
263
+ "id": "enc_conv1b",
264
+ "durationMs": 9.239186
265
+ },
266
+ {
267
+ "id": "pool1",
268
+ "durationMs": 0.460972
269
+ },
270
+ {
271
+ "id": "enc_conv2a",
272
+ "durationMs": 3.495579
273
+ },
274
+ {
275
+ "id": "enc_conv2b",
276
+ "durationMs": 5.376546
277
+ },
278
+ {
279
+ "id": "pool2",
280
+ "durationMs": 0.072287
281
+ },
282
+ {
283
+ "id": "enc_conv3a",
284
+ "durationMs": 1.268297
285
+ },
286
+ {
287
+ "id": "enc_conv3b",
288
+ "durationMs": 1.818056
289
+ },
290
+ {
291
+ "id": "pool3",
292
+ "durationMs": 0.019832
293
+ },
294
+ {
295
+ "id": "enc_conv4a",
296
+ "durationMs": 0.565257
297
+ },
298
+ {
299
+ "id": "enc_conv4b",
300
+ "durationMs": 0.831324
301
+ },
302
+ {
303
+ "id": "pool4",
304
+ "durationMs": 0.01229
305
+ },
306
+ {
307
+ "id": "enc_conv5a",
308
+ "durationMs": 0.32623
309
+ },
310
+ {
311
+ "id": "enc_conv5b",
312
+ "durationMs": 0.437515
313
+ },
314
+ {
315
+ "id": "dec_conv4a",
316
+ "durationMs": 1.669024
317
+ },
318
+ {
319
+ "id": "dec_conv4b",
320
+ "durationMs": 0.84599
321
+ },
322
+ {
323
+ "id": "dec_conv3a",
324
+ "durationMs": 3.665192
325
+ },
326
+ {
327
+ "id": "dec_conv3b",
328
+ "durationMs": 1.559863
329
+ },
330
+ {
331
+ "id": "dec_conv2a",
332
+ "durationMs": 7.085776
333
+ },
334
+ {
335
+ "id": "dec_conv2b",
336
+ "durationMs": 5.397545
337
+ },
338
+ {
339
+ "id": "dec_conv1a",
340
+ "durationMs": 10.480736
341
+ },
342
+ {
343
+ "id": "dec_conv1b",
344
+ "durationMs": 9.220603
345
+ },
346
+ {
347
+ "id": "dec_conv1c",
348
+ "durationMs": 0.489137
349
+ }
350
+ ]
351
+ },
352
+ "runtimeInfo": {
353
+ "configuredEngine": "wgsl",
354
+ "gpuEngine": "wgsl",
355
+ "precision": "fp32",
356
+ "kernel": {
357
+ "configured": "direct",
358
+ "maxSpatialInputBlocks": 0,
359
+ "subgroupsAvailable": false
360
+ },
361
+ "resources": {
362
+ "live": 68,
363
+ "created": 71,
364
+ "destroyed": 3,
365
+ "peakLive": 71,
366
+ "pending": 0,
367
+ "byKind": {
368
+ "gpu-buffer": {
369
+ "created": 70,
370
+ "destroyed": 2,
371
+ "live": 68,
372
+ "peakLive": 70
373
+ },
374
+ "gpu-query-set": {
375
+ "created": 1,
376
+ "destroyed": 1,
377
+ "live": 0,
378
+ "peakLive": 1
379
+ }
380
+ }
381
+ },
382
+ "model": "oidn-unet-large-v1",
383
+ "modelFamily": "oidn-unet-large",
384
+ "inputChannels": 9,
385
+ "dynamicTile": {
386
+ "enabled": false,
387
+ "currentTileSize": 512,
388
+ "minTileSize": 256,
389
+ "maxTileSize": 512,
390
+ "targetTileTimeMs": 16
391
+ },
392
+ "lastExecution": {
393
+ "width": 512,
394
+ "height": 512,
395
+ "tileWidth": 512,
396
+ "tileHeight": 512,
397
+ "tileCount": 1,
398
+ "durationMs": 67.29999999701977,
399
+ "tileTimeMs": {
400
+ "min": 67.29999999701977,
401
+ "median": 67.29999999701977,
402
+ "mean": 67.29999999701977,
403
+ "max": 67.29999999701977
404
+ }
405
+ }
406
+ },
407
+ "supportsFP16": true,
408
+ "adapter": {
409
+ "vendor": "apple",
410
+ "architecture": "metal-3",
411
+ "device": "",
412
+ "description": ""
413
+ },
414
+ "summary": {
415
+ "minMs": 66,
416
+ "medianMs": 66.14999999850988,
417
+ "meanMs": 66.14999999850988,
418
+ "p95Ms": 66.29999999701977,
419
+ "maxMs": 66.29999999701977
420
+ },
421
+ "messages": [],
422
+ "validation": {
423
+ "sampleCount": 6144,
424
+ "meanAbsoluteError": 0.0000011096847932397698,
425
+ "rootMeanSquaredError": 0.0000018071588418628667,
426
+ "maxAbsoluteError": 0.000013589859008789062,
427
+ "passed": true,
428
+ "thresholds": {
429
+ "maxMeanError": 0.0001,
430
+ "maxAbsoluteError": 0.001
431
+ }
432
+ }
433
+ },
434
+ {
435
+ "label": "WGSL FP16 Direct",
436
+ "bundle": "current",
437
+ "baseline": false,
438
+ "precision": "fp16",
439
+ "kernel": "direct",
440
+ "initializationMs": 30.200000002980232,
441
+ "timesMs": [
442
+ 29.200000002980232,
443
+ 30.5
444
+ ],
445
+ "executionProfile": {
446
+ "totalMs": 29.442859000000002,
447
+ "layers": [
448
+ {
449
+ "id": "input-pack",
450
+ "durationMs": 0.044329
451
+ },
452
+ {
453
+ "id": "enc_conv1a",
454
+ "durationMs": 0.619642
455
+ },
456
+ {
457
+ "id": "enc_conv1b",
458
+ "durationMs": 3.825549
459
+ },
460
+ {
461
+ "id": "pool1",
462
+ "durationMs": 0.365836
463
+ },
464
+ {
465
+ "id": "enc_conv2a",
466
+ "durationMs": 1.165251
467
+ },
468
+ {
469
+ "id": "enc_conv2b",
470
+ "durationMs": 1.971289
471
+ },
472
+ {
473
+ "id": "pool2",
474
+ "durationMs": 0.049912
475
+ },
476
+ {
477
+ "id": "enc_conv3a",
478
+ "durationMs": 0.681843
479
+ },
480
+ {
481
+ "id": "enc_conv3b",
482
+ "durationMs": 0.834119
483
+ },
484
+ {
485
+ "id": "pool3",
486
+ "durationMs": 0.016415
487
+ },
488
+ {
489
+ "id": "enc_conv4a",
490
+ "durationMs": 0.343297
491
+ },
492
+ {
493
+ "id": "enc_conv4b",
494
+ "durationMs": 0.531361
495
+ },
496
+ {
497
+ "id": "pool4",
498
+ "durationMs": 0.012874
499
+ },
500
+ {
501
+ "id": "enc_conv5a",
502
+ "durationMs": 0.201521
503
+ },
504
+ {
505
+ "id": "enc_conv5b",
506
+ "durationMs": 0.411373
507
+ },
508
+ {
509
+ "id": "dec_conv4a",
510
+ "durationMs": 1.273156
511
+ },
512
+ {
513
+ "id": "dec_conv4b",
514
+ "durationMs": 0.537567
515
+ },
516
+ {
517
+ "id": "dec_conv3a",
518
+ "durationMs": 1.717192
519
+ },
520
+ {
521
+ "id": "dec_conv3b",
522
+ "durationMs": 0.836827
523
+ },
524
+ {
525
+ "id": "dec_conv2a",
526
+ "durationMs": 2.979724
527
+ },
528
+ {
529
+ "id": "dec_conv2b",
530
+ "durationMs": 2.637885
531
+ },
532
+ {
533
+ "id": "dec_conv1a",
534
+ "durationMs": 4.390531
535
+ },
536
+ {
537
+ "id": "dec_conv1b",
538
+ "durationMs": 3.799428
539
+ },
540
+ {
541
+ "id": "dec_conv1c",
542
+ "durationMs": 0.195938
543
+ }
544
+ ]
545
+ },
546
+ "runtimeInfo": {
547
+ "configuredEngine": "wgsl",
548
+ "gpuEngine": "wgsl",
549
+ "precision": "fp16",
550
+ "kernel": {
551
+ "configured": "direct",
552
+ "maxSpatialInputBlocks": 40,
553
+ "subgroupsAvailable": false
554
+ },
555
+ "resources": {
556
+ "live": 68,
557
+ "created": 71,
558
+ "destroyed": 3,
559
+ "peakLive": 71,
560
+ "pending": 0,
561
+ "byKind": {
562
+ "gpu-buffer": {
563
+ "created": 70,
564
+ "destroyed": 2,
565
+ "live": 68,
566
+ "peakLive": 70
567
+ },
568
+ "gpu-query-set": {
569
+ "created": 1,
570
+ "destroyed": 1,
571
+ "live": 0,
572
+ "peakLive": 1
573
+ }
574
+ }
575
+ },
576
+ "model": "oidn-unet-large-v1",
577
+ "modelFamily": "oidn-unet-large",
578
+ "inputChannels": 9,
579
+ "dynamicTile": {
580
+ "enabled": false,
581
+ "currentTileSize": 512,
582
+ "minTileSize": 256,
583
+ "maxTileSize": 512,
584
+ "targetTileTimeMs": 16
585
+ },
586
+ "lastExecution": {
587
+ "width": 512,
588
+ "height": 512,
589
+ "tileWidth": 512,
590
+ "tileHeight": 512,
591
+ "tileCount": 1,
592
+ "durationMs": 31,
593
+ "tileTimeMs": {
594
+ "min": 31,
595
+ "median": 31,
596
+ "mean": 31,
597
+ "max": 31
598
+ }
599
+ }
600
+ },
601
+ "supportsFP16": true,
602
+ "adapter": {
603
+ "vendor": "apple",
604
+ "architecture": "metal-3",
605
+ "device": "",
606
+ "description": ""
607
+ },
608
+ "summary": {
609
+ "minMs": 29.200000002980232,
610
+ "medianMs": 29.850000001490116,
611
+ "meanMs": 29.850000001490116,
612
+ "p95Ms": 30.5,
613
+ "maxMs": 30.5
614
+ },
615
+ "messages": [],
616
+ "validation": {
617
+ "sampleCount": 6144,
618
+ "meanAbsoluteError": 0.0010210334021394374,
619
+ "rootMeanSquaredError": 0.001609680379854656,
620
+ "maxAbsoluteError": 0.012395620346069336,
621
+ "passed": true,
622
+ "thresholds": {
623
+ "maxMeanError": 0.005,
624
+ "maxAbsoluteError": 0.05
625
+ }
626
+ }
627
+ },
628
+ {
629
+ "label": "WGSL FP16 Implicit GEMM",
630
+ "bundle": "current",
631
+ "baseline": false,
632
+ "precision": "fp16",
633
+ "kernel": "implicit-gemm",
634
+ "initializationMs": 29.700000002980232,
635
+ "timesMs": [
636
+ 30.400000005960464,
637
+ 30.899999998509884
638
+ ],
639
+ "executionProfile": {
640
+ "totalMs": 30.439662,
641
+ "layers": [
642
+ {
643
+ "id": "input-pack",
644
+ "durationMs": 0.044495
645
+ },
646
+ {
647
+ "id": "enc_conv1a",
648
+ "durationMs": 0.683927
649
+ },
650
+ {
651
+ "id": "enc_conv1b",
652
+ "durationMs": 3.514
653
+ },
654
+ {
655
+ "id": "pool1",
656
+ "durationMs": 0.36167
657
+ },
658
+ {
659
+ "id": "enc_conv2a",
660
+ "durationMs": 1.233493
661
+ },
662
+ {
663
+ "id": "enc_conv2b",
664
+ "durationMs": 1.753437
665
+ },
666
+ {
667
+ "id": "pool2",
668
+ "durationMs": 0.048995
669
+ },
670
+ {
671
+ "id": "enc_conv3a",
672
+ "durationMs": 0.618892
673
+ },
674
+ {
675
+ "id": "enc_conv3b",
676
+ "durationMs": 0.791665
677
+ },
678
+ {
679
+ "id": "pool3",
680
+ "durationMs": 0.015916
681
+ },
682
+ {
683
+ "id": "enc_conv4a",
684
+ "durationMs": 0.326298
685
+ },
686
+ {
687
+ "id": "enc_conv4b",
688
+ "durationMs": 0.509237
689
+ },
690
+ {
691
+ "id": "pool4",
692
+ "durationMs": 0.008665
693
+ },
694
+ {
695
+ "id": "enc_conv5a",
696
+ "durationMs": 0.232892
697
+ },
698
+ {
699
+ "id": "enc_conv5b",
700
+ "durationMs": 0.318175
701
+ },
702
+ {
703
+ "id": "dec_conv4a",
704
+ "durationMs": 1.265157
705
+ },
706
+ {
707
+ "id": "dec_conv4b",
708
+ "durationMs": 0.64818
709
+ },
710
+ {
711
+ "id": "dec_conv3a",
712
+ "durationMs": 1.89988
713
+ },
714
+ {
715
+ "id": "dec_conv3b",
716
+ "durationMs": 0.793248
717
+ },
718
+ {
719
+ "id": "dec_conv2a",
720
+ "durationMs": 3.58445
721
+ },
722
+ {
723
+ "id": "dec_conv2b",
724
+ "durationMs": 2.349082
725
+ },
726
+ {
727
+ "id": "dec_conv1a",
728
+ "durationMs": 5.723388
729
+ },
730
+ {
731
+ "id": "dec_conv1b",
732
+ "durationMs": 3.520082
733
+ },
734
+ {
735
+ "id": "dec_conv1c",
736
+ "durationMs": 0.194438
737
+ }
738
+ ]
739
+ },
740
+ "runtimeInfo": {
741
+ "configuredEngine": "wgsl",
742
+ "gpuEngine": "wgsl",
743
+ "precision": "fp16",
744
+ "kernel": {
745
+ "configured": "implicit-gemm",
746
+ "maxSpatialInputBlocks": 40,
747
+ "subgroupsAvailable": false
748
+ },
749
+ "resources": {
750
+ "live": 68,
751
+ "created": 71,
752
+ "destroyed": 3,
753
+ "peakLive": 71,
754
+ "pending": 0,
755
+ "byKind": {
756
+ "gpu-buffer": {
757
+ "created": 70,
758
+ "destroyed": 2,
759
+ "live": 68,
760
+ "peakLive": 70
761
+ },
762
+ "gpu-query-set": {
763
+ "created": 1,
764
+ "destroyed": 1,
765
+ "live": 0,
766
+ "peakLive": 1
767
+ }
768
+ }
769
+ },
770
+ "model": "oidn-unet-large-v1",
771
+ "modelFamily": "oidn-unet-large",
772
+ "inputChannels": 9,
773
+ "dynamicTile": {
774
+ "enabled": false,
775
+ "currentTileSize": 512,
776
+ "minTileSize": 256,
777
+ "maxTileSize": 512,
778
+ "targetTileTimeMs": 16
779
+ },
780
+ "lastExecution": {
781
+ "width": 512,
782
+ "height": 512,
783
+ "tileWidth": 512,
784
+ "tileHeight": 512,
785
+ "tileCount": 1,
786
+ "durationMs": 32,
787
+ "tileTimeMs": {
788
+ "min": 32,
789
+ "median": 32,
790
+ "mean": 32,
791
+ "max": 32
792
+ }
793
+ }
794
+ },
795
+ "supportsFP16": true,
796
+ "adapter": {
797
+ "vendor": "apple",
798
+ "architecture": "metal-3",
799
+ "device": "",
800
+ "description": ""
801
+ },
802
+ "summary": {
803
+ "minMs": 30.400000005960464,
804
+ "medianMs": 30.650000002235174,
805
+ "meanMs": 30.650000002235174,
806
+ "p95Ms": 30.899999998509884,
807
+ "maxMs": 30.899999998509884
808
+ },
809
+ "messages": [],
810
+ "validation": {
811
+ "sampleCount": 6144,
812
+ "meanAbsoluteError": 0.001559715069864372,
813
+ "rootMeanSquaredError": 0.0025477948380839928,
814
+ "maxAbsoluteError": 0.04479837417602539,
815
+ "passed": true,
816
+ "thresholds": {
817
+ "maxMeanError": 0.005,
818
+ "maxAbsoluteError": 0.05
819
+ }
820
+ }
821
+ },
822
+ {
823
+ "label": "WGSL FP16 Spatial (experimental)",
824
+ "bundle": "current",
825
+ "baseline": false,
826
+ "precision": "fp16",
827
+ "kernel": "spatial",
828
+ "initializationMs": 28.399999998509884,
829
+ "timesMs": [
830
+ 65.20000000298023,
831
+ 65.39999999850988
832
+ ],
833
+ "executionProfile": {
834
+ "totalMs": 64.73455,
835
+ "layers": [
836
+ {
837
+ "id": "input-pack",
838
+ "durationMs": 0.043747
839
+ },
840
+ {
841
+ "id": "enc_conv1a",
842
+ "durationMs": 0.714165
843
+ },
844
+ {
845
+ "id": "enc_conv1b",
846
+ "durationMs": 5.982135
847
+ },
848
+ {
849
+ "id": "pool1",
850
+ "durationMs": 0.357144
851
+ },
852
+ {
853
+ "id": "enc_conv2a",
854
+ "durationMs": 2.03446
855
+ },
856
+ {
857
+ "id": "enc_conv2b",
858
+ "durationMs": 4.923783
859
+ },
860
+ {
861
+ "id": "pool2",
862
+ "durationMs": 0.053372
863
+ },
864
+ {
865
+ "id": "enc_conv3a",
866
+ "durationMs": 1.431288
867
+ },
868
+ {
869
+ "id": "enc_conv3b",
870
+ "durationMs": 2.604091
871
+ },
872
+ {
873
+ "id": "pool3",
874
+ "durationMs": 0.016499
875
+ },
876
+ {
877
+ "id": "enc_conv4a",
878
+ "durationMs": 1.6354
879
+ },
880
+ {
881
+ "id": "enc_conv4b",
882
+ "durationMs": 0.638961
883
+ },
884
+ {
885
+ "id": "pool4",
886
+ "durationMs": 0.01125
887
+ },
888
+ {
889
+ "id": "enc_conv5a",
890
+ "durationMs": 0.187197
891
+ },
892
+ {
893
+ "id": "enc_conv5b",
894
+ "durationMs": 0.231569
895
+ },
896
+ {
897
+ "id": "dec_conv4a",
898
+ "durationMs": 0.966732
899
+ },
900
+ {
901
+ "id": "dec_conv4b",
902
+ "durationMs": 0.535508
903
+ },
904
+ {
905
+ "id": "dec_conv3a",
906
+ "durationMs": 1.705313
907
+ },
908
+ {
909
+ "id": "dec_conv3b",
910
+ "durationMs": 3.028815
911
+ },
912
+ {
913
+ "id": "dec_conv2a",
914
+ "durationMs": 3.433749
915
+ },
916
+ {
917
+ "id": "dec_conv2b",
918
+ "durationMs": 4.66734
919
+ },
920
+ {
921
+ "id": "dec_conv1a",
922
+ "durationMs": 23.200793
923
+ },
924
+ {
925
+ "id": "dec_conv1b",
926
+ "durationMs": 5.964969
927
+ },
928
+ {
929
+ "id": "dec_conv1c",
930
+ "durationMs": 0.36627
931
+ }
932
+ ]
933
+ },
934
+ "runtimeInfo": {
935
+ "configuredEngine": "wgsl",
936
+ "gpuEngine": "wgsl",
937
+ "precision": "fp16",
938
+ "kernel": {
939
+ "configured": "spatial",
940
+ "maxSpatialInputBlocks": 40,
941
+ "subgroupsAvailable": false
942
+ },
943
+ "resources": {
944
+ "live": 68,
945
+ "created": 71,
946
+ "destroyed": 3,
947
+ "peakLive": 71,
948
+ "pending": 0,
949
+ "byKind": {
950
+ "gpu-buffer": {
951
+ "created": 70,
952
+ "destroyed": 2,
953
+ "live": 68,
954
+ "peakLive": 70
955
+ },
956
+ "gpu-query-set": {
957
+ "created": 1,
958
+ "destroyed": 1,
959
+ "live": 0,
960
+ "peakLive": 1
961
+ }
962
+ }
963
+ },
964
+ "model": "oidn-unet-large-v1",
965
+ "modelFamily": "oidn-unet-large",
966
+ "inputChannels": 9,
967
+ "dynamicTile": {
968
+ "enabled": false,
969
+ "currentTileSize": 512,
970
+ "minTileSize": 256,
971
+ "maxTileSize": 512,
972
+ "targetTileTimeMs": 16
973
+ },
974
+ "lastExecution": {
975
+ "width": 512,
976
+ "height": 512,
977
+ "tileWidth": 512,
978
+ "tileHeight": 512,
979
+ "tileCount": 1,
980
+ "durationMs": 66.39999999850988,
981
+ "tileTimeMs": {
982
+ "min": 66.39999999850988,
983
+ "median": 66.39999999850988,
984
+ "mean": 66.39999999850988,
985
+ "max": 66.39999999850988
986
+ }
987
+ }
988
+ },
989
+ "supportsFP16": true,
990
+ "adapter": {
991
+ "vendor": "apple",
992
+ "architecture": "metal-3",
993
+ "device": "",
994
+ "description": ""
995
+ },
996
+ "summary": {
997
+ "minMs": 65.20000000298023,
998
+ "medianMs": 65.30000000074506,
999
+ "meanMs": 65.30000000074506,
1000
+ "p95Ms": 65.39999999850988,
1001
+ "maxMs": 65.39999999850988
1002
+ },
1003
+ "messages": [],
1004
+ "validation": {
1005
+ "sampleCount": 6144,
1006
+ "meanAbsoluteError": 0.0010210334021394374,
1007
+ "rootMeanSquaredError": 0.001609680379854656,
1008
+ "maxAbsoluteError": 0.012395620346069336,
1009
+ "passed": true,
1010
+ "thresholds": {
1011
+ "maxMeanError": 0.005,
1012
+ "maxAbsoluteError": 0.05
1013
+ }
1014
+ }
1015
+ },
1016
+ {
1017
+ "label": "WGSL FP16 Subgroup (experimental)",
1018
+ "bundle": "current",
1019
+ "baseline": false,
1020
+ "precision": "fp16",
1021
+ "kernel": "subgroup",
1022
+ "initializationMs": 29.200000002980232,
1023
+ "timesMs": [
1024
+ 31.200000002980232,
1025
+ 30.799999997019768
1026
+ ],
1027
+ "executionProfile": {
1028
+ "totalMs": 30.012249,
1029
+ "layers": [
1030
+ {
1031
+ "id": "input-pack",
1032
+ "durationMs": 0.044661
1033
+ },
1034
+ {
1035
+ "id": "enc_conv1a",
1036
+ "durationMs": 0.740129
1037
+ },
1038
+ {
1039
+ "id": "enc_conv1b",
1040
+ "durationMs": 3.366182
1041
+ },
1042
+ {
1043
+ "id": "pool1",
1044
+ "durationMs": 0.337005
1045
+ },
1046
+ {
1047
+ "id": "enc_conv2a",
1048
+ "durationMs": 1.26674
1049
+ },
1050
+ {
1051
+ "id": "enc_conv2b",
1052
+ "durationMs": 2.516648
1053
+ },
1054
+ {
1055
+ "id": "pool2",
1056
+ "durationMs": 0.199895
1057
+ },
1058
+ {
1059
+ "id": "enc_conv3a",
1060
+ "durationMs": 0.757586
1061
+ },
1062
+ {
1063
+ "id": "enc_conv3b",
1064
+ "durationMs": 0.925152
1065
+ },
1066
+ {
1067
+ "id": "pool3",
1068
+ "durationMs": 0.016873
1069
+ },
1070
+ {
1071
+ "id": "enc_conv4a",
1072
+ "durationMs": 0.378001
1073
+ },
1074
+ {
1075
+ "id": "enc_conv4b",
1076
+ "durationMs": 0.562065
1077
+ },
1078
+ {
1079
+ "id": "pool4",
1080
+ "durationMs": 0.014082
1081
+ },
1082
+ {
1083
+ "id": "enc_conv5a",
1084
+ "durationMs": 0.201353
1085
+ },
1086
+ {
1087
+ "id": "enc_conv5b",
1088
+ "durationMs": 0.257765
1089
+ },
1090
+ {
1091
+ "id": "dec_conv4a",
1092
+ "durationMs": 0.94744
1093
+ },
1094
+ {
1095
+ "id": "dec_conv4b",
1096
+ "durationMs": 0.571856
1097
+ },
1098
+ {
1099
+ "id": "dec_conv3a",
1100
+ "durationMs": 1.701026
1101
+ },
1102
+ {
1103
+ "id": "dec_conv3b",
1104
+ "durationMs": 1.517546
1105
+ },
1106
+ {
1107
+ "id": "dec_conv2a",
1108
+ "durationMs": 2.988889
1109
+ },
1110
+ {
1111
+ "id": "dec_conv2b",
1112
+ "durationMs": 2.028992
1113
+ },
1114
+ {
1115
+ "id": "dec_conv1a",
1116
+ "durationMs": 5.077623
1117
+ },
1118
+ {
1119
+ "id": "dec_conv1b",
1120
+ "durationMs": 3.369806
1121
+ },
1122
+ {
1123
+ "id": "dec_conv1c",
1124
+ "durationMs": 0.224934
1125
+ }
1126
+ ]
1127
+ },
1128
+ "runtimeInfo": {
1129
+ "configuredEngine": "wgsl",
1130
+ "gpuEngine": "wgsl",
1131
+ "precision": "fp16",
1132
+ "kernel": {
1133
+ "configured": "subgroup",
1134
+ "maxSpatialInputBlocks": 40,
1135
+ "subgroupsAvailable": true
1136
+ },
1137
+ "resources": {
1138
+ "live": 68,
1139
+ "created": 71,
1140
+ "destroyed": 3,
1141
+ "peakLive": 71,
1142
+ "pending": 0,
1143
+ "byKind": {
1144
+ "gpu-buffer": {
1145
+ "created": 70,
1146
+ "destroyed": 2,
1147
+ "live": 68,
1148
+ "peakLive": 70
1149
+ },
1150
+ "gpu-query-set": {
1151
+ "created": 1,
1152
+ "destroyed": 1,
1153
+ "live": 0,
1154
+ "peakLive": 1
1155
+ }
1156
+ }
1157
+ },
1158
+ "model": "oidn-unet-large-v1",
1159
+ "modelFamily": "oidn-unet-large",
1160
+ "inputChannels": 9,
1161
+ "dynamicTile": {
1162
+ "enabled": false,
1163
+ "currentTileSize": 512,
1164
+ "minTileSize": 256,
1165
+ "maxTileSize": 512,
1166
+ "targetTileTimeMs": 16
1167
+ },
1168
+ "lastExecution": {
1169
+ "width": 512,
1170
+ "height": 512,
1171
+ "tileWidth": 512,
1172
+ "tileHeight": 512,
1173
+ "tileCount": 1,
1174
+ "durationMs": 31.700000002980232,
1175
+ "tileTimeMs": {
1176
+ "min": 31.700000002980232,
1177
+ "median": 31.700000002980232,
1178
+ "mean": 31.700000002980232,
1179
+ "max": 31.700000002980232
1180
+ }
1181
+ }
1182
+ },
1183
+ "supportsFP16": true,
1184
+ "adapter": {
1185
+ "vendor": "apple",
1186
+ "architecture": "metal-3",
1187
+ "device": "",
1188
+ "description": ""
1189
+ },
1190
+ "summary": {
1191
+ "minMs": 30.799999997019768,
1192
+ "medianMs": 31,
1193
+ "meanMs": 31,
1194
+ "p95Ms": 31.200000002980232,
1195
+ "maxMs": 31.200000002980232
1196
+ },
1197
+ "messages": [],
1198
+ "validation": {
1199
+ "sampleCount": 6144,
1200
+ "meanAbsoluteError": 0.0010210334021394374,
1201
+ "rootMeanSquaredError": 0.001609680379854656,
1202
+ "maxAbsoluteError": 0.012395620346069336,
1203
+ "passed": true,
1204
+ "thresholds": {
1205
+ "maxMeanError": 0.005,
1206
+ "maxAbsoluteError": 0.05
1207
+ }
1208
+ }
1209
+ },
1210
+ {
1211
+ "label": "WGSL INT8 weights / FP16 activations (experimental)",
1212
+ "bundle": "current",
1213
+ "baseline": false,
1214
+ "precision": "int8",
1215
+ "initializationMs": 41.5,
1216
+ "timesMs": [
1217
+ 101,
1218
+ 100.90000000596046
1219
+ ],
1220
+ "executionProfile": {
1221
+ "totalMs": 100.45182199999999,
1222
+ "layers": [
1223
+ {
1224
+ "id": "input-pack",
1225
+ "durationMs": 0.252781
1226
+ },
1227
+ {
1228
+ "id": "enc_conv1a",
1229
+ "durationMs": 2.051448
1230
+ },
1231
+ {
1232
+ "id": "enc_conv1b",
1233
+ "durationMs": 11.513307
1234
+ },
1235
+ {
1236
+ "id": "pool1",
1237
+ "durationMs": 0.353066
1238
+ },
1239
+ {
1240
+ "id": "enc_conv2a",
1241
+ "durationMs": 4.087647
1242
+ },
1243
+ {
1244
+ "id": "enc_conv2b",
1245
+ "durationMs": 6.661987
1246
+ },
1247
+ {
1248
+ "id": "pool2",
1249
+ "durationMs": 0.357943
1250
+ },
1251
+ {
1252
+ "id": "enc_conv3a",
1253
+ "durationMs": 2.401307
1254
+ },
1255
+ {
1256
+ "id": "enc_conv3b",
1257
+ "durationMs": 2.735334
1258
+ },
1259
+ {
1260
+ "id": "pool3",
1261
+ "durationMs": 0.016791
1262
+ },
1263
+ {
1264
+ "id": "enc_conv4a",
1265
+ "durationMs": 1.038537
1266
+ },
1267
+ {
1268
+ "id": "enc_conv4b",
1269
+ "durationMs": 1.552179
1270
+ },
1271
+ {
1272
+ "id": "pool4",
1273
+ "durationMs": 0.010749
1274
+ },
1275
+ {
1276
+ "id": "enc_conv5a",
1277
+ "durationMs": 0.543142
1278
+ },
1279
+ {
1280
+ "id": "enc_conv5b",
1281
+ "durationMs": 0.788422
1282
+ },
1283
+ {
1284
+ "id": "dec_conv4a",
1285
+ "durationMs": 3.426426
1286
+ },
1287
+ {
1288
+ "id": "dec_conv4b",
1289
+ "durationMs": 1.552804
1290
+ },
1291
+ {
1292
+ "id": "dec_conv3a",
1293
+ "durationMs": 6.609281
1294
+ },
1295
+ {
1296
+ "id": "dec_conv3b",
1297
+ "durationMs": 2.738582
1298
+ },
1299
+ {
1300
+ "id": "dec_conv2a",
1301
+ "durationMs": 13.259643
1302
+ },
1303
+ {
1304
+ "id": "dec_conv2b",
1305
+ "durationMs": 6.629821
1306
+ },
1307
+ {
1308
+ "id": "dec_conv1a",
1309
+ "durationMs": 19.208996
1310
+ },
1311
+ {
1312
+ "id": "dec_conv1b",
1313
+ "durationMs": 11.794502
1314
+ },
1315
+ {
1316
+ "id": "dec_conv1c",
1317
+ "durationMs": 0.867127
1318
+ }
1319
+ ]
1320
+ },
1321
+ "runtimeInfo": {
1322
+ "configuredEngine": "wgsl",
1323
+ "gpuEngine": "wgsl",
1324
+ "precision": "int8",
1325
+ "kernel": {
1326
+ "configured": "auto",
1327
+ "maxSpatialInputBlocks": 0,
1328
+ "subgroupsAvailable": false
1329
+ },
1330
+ "resources": {
1331
+ "live": 87,
1332
+ "created": 90,
1333
+ "destroyed": 3,
1334
+ "peakLive": 90,
1335
+ "pending": 0,
1336
+ "byKind": {
1337
+ "gpu-buffer": {
1338
+ "created": 89,
1339
+ "destroyed": 2,
1340
+ "live": 87,
1341
+ "peakLive": 89
1342
+ },
1343
+ "gpu-query-set": {
1344
+ "created": 1,
1345
+ "destroyed": 1,
1346
+ "live": 0,
1347
+ "peakLive": 1
1348
+ }
1349
+ }
1350
+ },
1351
+ "model": "oidn-unet-large-v1",
1352
+ "modelFamily": "oidn-unet-large",
1353
+ "inputChannels": 9,
1354
+ "dynamicTile": {
1355
+ "enabled": false,
1356
+ "currentTileSize": 512,
1357
+ "minTileSize": 256,
1358
+ "maxTileSize": 512,
1359
+ "targetTileTimeMs": 16
1360
+ },
1361
+ "lastExecution": {
1362
+ "width": 512,
1363
+ "height": 512,
1364
+ "tileWidth": 512,
1365
+ "tileHeight": 512,
1366
+ "tileCount": 1,
1367
+ "durationMs": 102.40000000596046,
1368
+ "tileTimeMs": {
1369
+ "min": 102.40000000596046,
1370
+ "median": 102.40000000596046,
1371
+ "mean": 102.40000000596046,
1372
+ "max": 102.40000000596046
1373
+ }
1374
+ }
1375
+ },
1376
+ "supportsFP16": true,
1377
+ "adapter": {
1378
+ "vendor": "apple",
1379
+ "architecture": "metal-3",
1380
+ "device": "",
1381
+ "description": ""
1382
+ },
1383
+ "summary": {
1384
+ "minMs": 100.90000000596046,
1385
+ "medianMs": 100.95000000298023,
1386
+ "meanMs": 100.95000000298023,
1387
+ "p95Ms": 101,
1388
+ "maxMs": 101
1389
+ },
1390
+ "messages": [],
1391
+ "validation": {
1392
+ "sampleCount": 6144,
1393
+ "meanAbsoluteError": 0.048552351923111324,
1394
+ "rootMeanSquaredError": 0.06775677491006697,
1395
+ "maxAbsoluteError": 0.3455777168273926,
1396
+ "passed": true,
1397
+ "thresholds": {
1398
+ "maxMeanError": 0.1,
1399
+ "maxAbsoluteError": 1
1400
+ }
1401
+ }
1402
+ },
1403
+ {
1404
+ "label": "WebNN FP16 (experimental)",
1405
+ "bundle": "current",
1406
+ "baseline": false,
1407
+ "precision": "fp16",
1408
+ "engine": "webnn",
1409
+ "skipped": "Error: WebNN FP16 WebGPU interop failed: NotSupportedError: Failed to execute 'createExportableTensor' on 'MLContext': WebGPU Interop is not supported.",
1410
+ "messages": []
1411
+ }
1412
+ ]
1413
+ }