@camstack/addon-pipeline-orchestrator 1.2.303 → 1.2.304
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.
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-DdmTyVTg.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CUOcXfxm.mjs} +3 -3
- package/dist/{hostInit-uKG2xgnJ.mjs → hostInit-B47J9IZy.mjs} +3 -3
- package/dist/index.js +132 -19
- package/dist/index.mjs +132 -19
- package/dist/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.129",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_pipeline_orchestrator_widgets",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.2.
|
|
21
|
+
version: "1.2.339",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_orchestrator_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.2.
|
|
36
|
+
version: "1.2.259",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_orchestrator_widgets",
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.339",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.129",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -99,7 +99,7 @@ async function r() {
|
|
|
99
99
|
}
|
|
100
100
|
},
|
|
101
101
|
"@camstack/ui-library": {
|
|
102
|
-
version: "1.2.
|
|
102
|
+
version: "1.2.259",
|
|
103
103
|
scope: "default",
|
|
104
104
|
shareConfig: {
|
|
105
105
|
singleton: !0,
|
package/dist/index.js
CHANGED
|
@@ -26969,11 +26969,14 @@ var HardwareClassIdSchema = _enum([
|
|
|
26969
26969
|
"intel-n-series",
|
|
26970
26970
|
"apple-m-base",
|
|
26971
26971
|
"apple-m-pro",
|
|
26972
|
+
"amd-phoenix",
|
|
26972
26973
|
"unknown"
|
|
26973
26974
|
]);
|
|
26974
26975
|
var AcceleratorKindSchema = _enum([
|
|
26975
26976
|
"intel-npu",
|
|
26976
26977
|
"intel-igpu",
|
|
26978
|
+
"amd-igpu",
|
|
26979
|
+
"amd-npu",
|
|
26977
26980
|
"x86-cpu",
|
|
26978
26981
|
"arm-cpu",
|
|
26979
26982
|
"apple-ane",
|
|
@@ -37576,7 +37579,15 @@ var GpuInfoSchema = object({
|
|
|
37576
37579
|
name: string(),
|
|
37577
37580
|
memoryMB: number().optional()
|
|
37578
37581
|
});
|
|
37579
|
-
var NpuInfoSchema = object({
|
|
37582
|
+
var NpuInfoSchema = object({
|
|
37583
|
+
type: _enum([
|
|
37584
|
+
"apple-ane",
|
|
37585
|
+
"intel-npu",
|
|
37586
|
+
"amd-xdna"
|
|
37587
|
+
]),
|
|
37588
|
+
name: string().optional(),
|
|
37589
|
+
generation: _enum(["xdna1", "xdna2"]).optional()
|
|
37590
|
+
});
|
|
37580
37591
|
var CoralInfoSchema = object({
|
|
37581
37592
|
type: literal("coral-edgetpu"),
|
|
37582
37593
|
bus: string().optional()
|
|
@@ -54559,6 +54570,8 @@ function collectModelBoundKeys(fields) {
|
|
|
54559
54570
|
var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
|
|
54560
54571
|
var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
|
|
54561
54572
|
var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
|
|
54573
|
+
/** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
|
|
54574
|
+
var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
|
|
54562
54575
|
function parseAppleChip(cpuModel) {
|
|
54563
54576
|
const match = APPLE_CHIP.exec(cpuModel.trim());
|
|
54564
54577
|
if (match === null) return null;
|
|
@@ -54591,6 +54604,10 @@ function classifyInferenceHardware(hw) {
|
|
|
54591
54604
|
hardwareClass: "intel-n-series",
|
|
54592
54605
|
cpuModel
|
|
54593
54606
|
};
|
|
54607
|
+
if (AMD_PHOENIX.test(cpuModel)) return {
|
|
54608
|
+
hardwareClass: "amd-phoenix",
|
|
54609
|
+
cpuModel
|
|
54610
|
+
};
|
|
54594
54611
|
return {
|
|
54595
54612
|
hardwareClass: "unknown",
|
|
54596
54613
|
cpuModel
|
|
@@ -54607,6 +54624,8 @@ function acceleratorKindOf(deviceKey, hw) {
|
|
|
54607
54624
|
if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
|
|
54608
54625
|
if (backend === "openvino" && device === "npu") return "intel-npu";
|
|
54609
54626
|
if (backend === "openvino" && device === "gpu") return "intel-igpu";
|
|
54627
|
+
if (backend === "onnx" && device === "webgpu") return "amd-igpu";
|
|
54628
|
+
if (backend === "vitisai" && device === "npu") return "amd-npu";
|
|
54610
54629
|
if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
|
|
54611
54630
|
return null;
|
|
54612
54631
|
}
|
|
@@ -54925,6 +54944,97 @@ var DETECTOR_PERF = {
|
|
|
54925
54944
|
}
|
|
54926
54945
|
}
|
|
54927
54946
|
},
|
|
54947
|
+
"amd-phoenix": {
|
|
54948
|
+
"x86-cpu": {
|
|
54949
|
+
"yolov9t-320": {
|
|
54950
|
+
p50Ms: 24,
|
|
54951
|
+
fps: 42,
|
|
54952
|
+
measured: true
|
|
54953
|
+
},
|
|
54954
|
+
"yolov9t-320-int8": {
|
|
54955
|
+
p50Ms: 12,
|
|
54956
|
+
fps: 83,
|
|
54957
|
+
measured: true
|
|
54958
|
+
},
|
|
54959
|
+
"yolov9t-640": {
|
|
54960
|
+
p50Ms: 50,
|
|
54961
|
+
fps: 20,
|
|
54962
|
+
measured: true
|
|
54963
|
+
},
|
|
54964
|
+
"yolov9t-640-int8": {
|
|
54965
|
+
p50Ms: 20,
|
|
54966
|
+
fps: 50,
|
|
54967
|
+
measured: true
|
|
54968
|
+
},
|
|
54969
|
+
"yolov9s-320": {
|
|
54970
|
+
p50Ms: 30,
|
|
54971
|
+
fps: 33,
|
|
54972
|
+
measured: true
|
|
54973
|
+
},
|
|
54974
|
+
"yolov9s-320-int8": {
|
|
54975
|
+
p50Ms: 15,
|
|
54976
|
+
fps: 67,
|
|
54977
|
+
measured: true
|
|
54978
|
+
},
|
|
54979
|
+
"yolov9s-640": {
|
|
54980
|
+
p50Ms: 92,
|
|
54981
|
+
fps: 11,
|
|
54982
|
+
measured: true
|
|
54983
|
+
},
|
|
54984
|
+
"yolov9s-640-int8": {
|
|
54985
|
+
p50Ms: 27,
|
|
54986
|
+
fps: 37,
|
|
54987
|
+
measured: true
|
|
54988
|
+
},
|
|
54989
|
+
"yolov9m-320": {
|
|
54990
|
+
p50Ms: 67,
|
|
54991
|
+
fps: 15,
|
|
54992
|
+
measured: true
|
|
54993
|
+
},
|
|
54994
|
+
"yolov9m-320-int8": {
|
|
54995
|
+
p50Ms: 21,
|
|
54996
|
+
fps: 48,
|
|
54997
|
+
measured: true
|
|
54998
|
+
},
|
|
54999
|
+
"yolov9m-640": {
|
|
55000
|
+
p50Ms: 229,
|
|
55001
|
+
fps: 4,
|
|
55002
|
+
measured: true
|
|
55003
|
+
},
|
|
55004
|
+
"yolov9m-640-int8": {
|
|
55005
|
+
p50Ms: 48,
|
|
55006
|
+
fps: 21,
|
|
55007
|
+
measured: true
|
|
55008
|
+
}
|
|
55009
|
+
},
|
|
55010
|
+
"amd-igpu": {
|
|
55011
|
+
"yolov9t-320": {
|
|
55012
|
+
p50Ms: 188,
|
|
55013
|
+
fps: 5,
|
|
55014
|
+
measured: true
|
|
55015
|
+
},
|
|
55016
|
+
"yolov9t-640": {
|
|
55017
|
+
p50Ms: 671,
|
|
55018
|
+
fps: 1,
|
|
55019
|
+
measured: true
|
|
55020
|
+
},
|
|
55021
|
+
"yolov9s-320": {
|
|
55022
|
+
p50Ms: 401,
|
|
55023
|
+
fps: 2,
|
|
55024
|
+
measured: true
|
|
55025
|
+
},
|
|
55026
|
+
"yolov9s-640": {
|
|
55027
|
+
p50Ms: 1434,
|
|
55028
|
+
fps: 1,
|
|
55029
|
+
measured: true
|
|
55030
|
+
},
|
|
55031
|
+
"yolov9m-320": {
|
|
55032
|
+
p50Ms: 1076,
|
|
55033
|
+
fps: 1,
|
|
55034
|
+
measured: true
|
|
55035
|
+
}
|
|
55036
|
+
}
|
|
55037
|
+
},
|
|
54928
55038
|
"apple-m-pro": { "apple-ane": {
|
|
54929
55039
|
"yolov9t-320": {
|
|
54930
55040
|
p50Ms: 1.1,
|
|
@@ -58486,11 +58596,8 @@ function parseDeviceKey(deviceKey) {
|
|
|
58486
58596
|
* fall back to the universal nano default (`yolo26n`).
|
|
58487
58597
|
*/
|
|
58488
58598
|
function defaultModelIdForDevice(deviceKey) {
|
|
58489
|
-
const { backend
|
|
58490
|
-
if (backend === "openvino")
|
|
58491
|
-
if (device === "cpu") return "yolo26n";
|
|
58492
|
-
return "yolov9m-320-int8";
|
|
58493
|
-
}
|
|
58599
|
+
const { backend } = parseDeviceKey(deviceKey);
|
|
58600
|
+
if (backend === "openvino") return "yolov9m-320-int8";
|
|
58494
58601
|
if (backend === "edgetpu") return "ssd-mobilenet-v2-coco-edgetpu";
|
|
58495
58602
|
if (backend === "coreml") return "yolov9m-320";
|
|
58496
58603
|
return "yolo26n";
|
|
@@ -58518,15 +58625,21 @@ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
|
|
|
58518
58625
|
* Merge a node's live-probed inference devices with its stored per-device map.
|
|
58519
58626
|
*
|
|
58520
58627
|
* The default is **AUTO = all discovered ACCELERATORS enabled** (spec C2,
|
|
58521
|
-
* opt-OUT) with
|
|
58628
|
+
* opt-OUT) with THREE deliberate exceptions, all **opt-IN** (default disabled):
|
|
58522
58629
|
*
|
|
58523
|
-
* - **CPU**: `enumerateInferenceDevices` always emits a
|
|
58524
|
-
*
|
|
58525
|
-
* round-robin ~1/N of sessions onto the slow CPU pool alongside
|
|
58526
|
-
* NPU/iGPU/ANE. CPU stays the always-available FALLBACK (a node with
|
|
58527
|
-
* eligible accelerator leaves `deviceKey` unset → the runner's default
|
|
58630
|
+
* - **CPU floor (`cpu`)**: `enumerateInferenceDevices` always emits a
|
|
58631
|
+
* universal `cpu` key on every platform; auto-enabling it would let the
|
|
58632
|
+
* balancer round-robin ~1/N of sessions onto the slow CPU pool alongside
|
|
58633
|
+
* the NPU/iGPU/ANE. CPU stays the always-available FALLBACK (a node with
|
|
58634
|
+
* no eligible accelerator leaves `deviceKey` unset → the runner's default
|
|
58528
58635
|
* pool, which is CPU), not a balanced target — matching the spec's "no
|
|
58529
58636
|
* device eligible → fall back to CPU".
|
|
58637
|
+
* - **Any `*:cpu` device** (today `openvino:cpu` on AMD): still a CPU
|
|
58638
|
+
* pool — Zen4 VNNI serving int8 IRs — not an accelerator. Auto-enabling
|
|
58639
|
+
* it next to `onnx:webgpu` would steal sessions from the iGPU the same
|
|
58640
|
+
* way the bare `cpu` floor would. Intel never emits `openvino:cpu`
|
|
58641
|
+
* (NPU/iGPU cover the IR format); AMD does, so the device-string rule
|
|
58642
|
+
* keeps both CPU-class keys opt-IN.
|
|
58530
58643
|
* - **Coral Edge TPU (`edgetpu`)**: the standing rule since the Coral
|
|
58531
58644
|
* executor landed is that it surfaces as selectable but is NEVER
|
|
58532
58645
|
* auto-picked — it runs a DIFFERENT, weaker model family (tflite SSD
|
|
@@ -58537,12 +58650,12 @@ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
|
|
|
58537
58650
|
* hours at 2.4fps failing tflite model resolution. An operator who wants
|
|
58538
58651
|
* the Coral balanced opts it in explicitly (`enabled: true`).
|
|
58539
58652
|
*
|
|
58540
|
-
* So: an NPU/iGPU/ANE accelerator with NO stored entry is
|
|
58541
|
-
* CPU or edgetpu device with no stored entry is
|
|
58542
|
-
* stored `enabled` always wins (an operator can
|
|
58543
|
-
* accelerator out). A stored-only key (configured but
|
|
58544
|
-
* return it — removed/unplugged HW) keeps its stored
|
|
58545
|
-
* as `available:false`, so the UI still shows it.
|
|
58653
|
+
* So: an NPU/iGPU/ANE/WebGPU accelerator with NO stored entry is
|
|
58654
|
+
* `enabled:true`; a CPU-class or edgetpu device with no stored entry is
|
|
58655
|
+
* `enabled:false`; an explicit stored `enabled` always wins (an operator can
|
|
58656
|
+
* opt CPU/Coral in, or an accelerator out). A stored-only key (configured but
|
|
58657
|
+
* the probe did not return it — removed/unplugged HW) keeps its stored
|
|
58658
|
+
* `enabled` and surfaces as `available:false`, so the UI still shows it.
|
|
58546
58659
|
*
|
|
58547
58660
|
* Pure + deterministic (sorted by key) — the single merge authority shared by
|
|
58548
58661
|
* the `getNodeInferenceDevices` view and the dispatcher's eligible-device pick.
|
|
@@ -58556,7 +58669,7 @@ function mergeInferenceDevices(probed, stored) {
|
|
|
58556
58669
|
const opt = stored[key];
|
|
58557
58670
|
const parsed = descriptor ?? parseDeviceKey(key);
|
|
58558
58671
|
const weight = opt?.weight !== void 0 && opt.weight > 0 ? opt.weight : 1;
|
|
58559
|
-
const autoDefault = parsed.backend !== "cpu" && parsed.backend !== "edgetpu";
|
|
58672
|
+
const autoDefault = parsed.backend !== "cpu" && parsed.backend !== "edgetpu" && parsed.device !== "cpu";
|
|
58560
58673
|
out.push({
|
|
58561
58674
|
key,
|
|
58562
58675
|
backend: parsed.backend,
|
package/dist/index.mjs
CHANGED
|
@@ -26941,11 +26941,14 @@ var HardwareClassIdSchema = _enum([
|
|
|
26941
26941
|
"intel-n-series",
|
|
26942
26942
|
"apple-m-base",
|
|
26943
26943
|
"apple-m-pro",
|
|
26944
|
+
"amd-phoenix",
|
|
26944
26945
|
"unknown"
|
|
26945
26946
|
]);
|
|
26946
26947
|
var AcceleratorKindSchema = _enum([
|
|
26947
26948
|
"intel-npu",
|
|
26948
26949
|
"intel-igpu",
|
|
26950
|
+
"amd-igpu",
|
|
26951
|
+
"amd-npu",
|
|
26949
26952
|
"x86-cpu",
|
|
26950
26953
|
"arm-cpu",
|
|
26951
26954
|
"apple-ane",
|
|
@@ -37548,7 +37551,15 @@ var GpuInfoSchema = object({
|
|
|
37548
37551
|
name: string(),
|
|
37549
37552
|
memoryMB: number().optional()
|
|
37550
37553
|
});
|
|
37551
|
-
var NpuInfoSchema = object({
|
|
37554
|
+
var NpuInfoSchema = object({
|
|
37555
|
+
type: _enum([
|
|
37556
|
+
"apple-ane",
|
|
37557
|
+
"intel-npu",
|
|
37558
|
+
"amd-xdna"
|
|
37559
|
+
]),
|
|
37560
|
+
name: string().optional(),
|
|
37561
|
+
generation: _enum(["xdna1", "xdna2"]).optional()
|
|
37562
|
+
});
|
|
37552
37563
|
var CoralInfoSchema = object({
|
|
37553
37564
|
type: literal("coral-edgetpu"),
|
|
37554
37565
|
bus: string().optional()
|
|
@@ -54531,6 +54542,8 @@ function collectModelBoundKeys(fields) {
|
|
|
54531
54542
|
var APPLE_CHIP = /^Apple M(\d+)(?:\s+(Pro|Max|Ultra))?\b/i;
|
|
54532
54543
|
var INTEL_CORE_ULTRA = /Core\(TM\)\s+Ultra|Core Ultra/i;
|
|
54533
54544
|
var INTEL_N_SERIES = /Intel\(R\)\s+N\d{2,3}\b|\bIntel\s+N\d{2,3}\b/i;
|
|
54545
|
+
/** Phoenix / Hawk Point mobile (7040/8040) and Ryzen 8000G desktop APUs. */
|
|
54546
|
+
var AMD_PHOENIX = /Ryzen \d+ (7[0-9]40|8[0-9]40|8[0-9]45)[HSU]|Ryzen \d+ 8[0-9]00G/i;
|
|
54534
54547
|
function parseAppleChip(cpuModel) {
|
|
54535
54548
|
const match = APPLE_CHIP.exec(cpuModel.trim());
|
|
54536
54549
|
if (match === null) return null;
|
|
@@ -54563,6 +54576,10 @@ function classifyInferenceHardware(hw) {
|
|
|
54563
54576
|
hardwareClass: "intel-n-series",
|
|
54564
54577
|
cpuModel
|
|
54565
54578
|
};
|
|
54579
|
+
if (AMD_PHOENIX.test(cpuModel)) return {
|
|
54580
|
+
hardwareClass: "amd-phoenix",
|
|
54581
|
+
cpuModel
|
|
54582
|
+
};
|
|
54566
54583
|
return {
|
|
54567
54584
|
hardwareClass: "unknown",
|
|
54568
54585
|
cpuModel
|
|
@@ -54579,6 +54596,8 @@ function acceleratorKindOf(deviceKey, hw) {
|
|
|
54579
54596
|
if (backend === "coreml") return device === "cpu" ? "arm-cpu" : "apple-ane";
|
|
54580
54597
|
if (backend === "openvino" && device === "npu") return "intel-npu";
|
|
54581
54598
|
if (backend === "openvino" && device === "gpu") return "intel-igpu";
|
|
54599
|
+
if (backend === "onnx" && device === "webgpu") return "amd-igpu";
|
|
54600
|
+
if (backend === "vitisai" && device === "npu") return "amd-npu";
|
|
54582
54601
|
if (backend === "cpu" || device === "cpu") return hw.arch === "arm64" ? "arm-cpu" : "x86-cpu";
|
|
54583
54602
|
return null;
|
|
54584
54603
|
}
|
|
@@ -54897,6 +54916,97 @@ var DETECTOR_PERF = {
|
|
|
54897
54916
|
}
|
|
54898
54917
|
}
|
|
54899
54918
|
},
|
|
54919
|
+
"amd-phoenix": {
|
|
54920
|
+
"x86-cpu": {
|
|
54921
|
+
"yolov9t-320": {
|
|
54922
|
+
p50Ms: 24,
|
|
54923
|
+
fps: 42,
|
|
54924
|
+
measured: true
|
|
54925
|
+
},
|
|
54926
|
+
"yolov9t-320-int8": {
|
|
54927
|
+
p50Ms: 12,
|
|
54928
|
+
fps: 83,
|
|
54929
|
+
measured: true
|
|
54930
|
+
},
|
|
54931
|
+
"yolov9t-640": {
|
|
54932
|
+
p50Ms: 50,
|
|
54933
|
+
fps: 20,
|
|
54934
|
+
measured: true
|
|
54935
|
+
},
|
|
54936
|
+
"yolov9t-640-int8": {
|
|
54937
|
+
p50Ms: 20,
|
|
54938
|
+
fps: 50,
|
|
54939
|
+
measured: true
|
|
54940
|
+
},
|
|
54941
|
+
"yolov9s-320": {
|
|
54942
|
+
p50Ms: 30,
|
|
54943
|
+
fps: 33,
|
|
54944
|
+
measured: true
|
|
54945
|
+
},
|
|
54946
|
+
"yolov9s-320-int8": {
|
|
54947
|
+
p50Ms: 15,
|
|
54948
|
+
fps: 67,
|
|
54949
|
+
measured: true
|
|
54950
|
+
},
|
|
54951
|
+
"yolov9s-640": {
|
|
54952
|
+
p50Ms: 92,
|
|
54953
|
+
fps: 11,
|
|
54954
|
+
measured: true
|
|
54955
|
+
},
|
|
54956
|
+
"yolov9s-640-int8": {
|
|
54957
|
+
p50Ms: 27,
|
|
54958
|
+
fps: 37,
|
|
54959
|
+
measured: true
|
|
54960
|
+
},
|
|
54961
|
+
"yolov9m-320": {
|
|
54962
|
+
p50Ms: 67,
|
|
54963
|
+
fps: 15,
|
|
54964
|
+
measured: true
|
|
54965
|
+
},
|
|
54966
|
+
"yolov9m-320-int8": {
|
|
54967
|
+
p50Ms: 21,
|
|
54968
|
+
fps: 48,
|
|
54969
|
+
measured: true
|
|
54970
|
+
},
|
|
54971
|
+
"yolov9m-640": {
|
|
54972
|
+
p50Ms: 229,
|
|
54973
|
+
fps: 4,
|
|
54974
|
+
measured: true
|
|
54975
|
+
},
|
|
54976
|
+
"yolov9m-640-int8": {
|
|
54977
|
+
p50Ms: 48,
|
|
54978
|
+
fps: 21,
|
|
54979
|
+
measured: true
|
|
54980
|
+
}
|
|
54981
|
+
},
|
|
54982
|
+
"amd-igpu": {
|
|
54983
|
+
"yolov9t-320": {
|
|
54984
|
+
p50Ms: 188,
|
|
54985
|
+
fps: 5,
|
|
54986
|
+
measured: true
|
|
54987
|
+
},
|
|
54988
|
+
"yolov9t-640": {
|
|
54989
|
+
p50Ms: 671,
|
|
54990
|
+
fps: 1,
|
|
54991
|
+
measured: true
|
|
54992
|
+
},
|
|
54993
|
+
"yolov9s-320": {
|
|
54994
|
+
p50Ms: 401,
|
|
54995
|
+
fps: 2,
|
|
54996
|
+
measured: true
|
|
54997
|
+
},
|
|
54998
|
+
"yolov9s-640": {
|
|
54999
|
+
p50Ms: 1434,
|
|
55000
|
+
fps: 1,
|
|
55001
|
+
measured: true
|
|
55002
|
+
},
|
|
55003
|
+
"yolov9m-320": {
|
|
55004
|
+
p50Ms: 1076,
|
|
55005
|
+
fps: 1,
|
|
55006
|
+
measured: true
|
|
55007
|
+
}
|
|
55008
|
+
}
|
|
55009
|
+
},
|
|
54900
55010
|
"apple-m-pro": { "apple-ane": {
|
|
54901
55011
|
"yolov9t-320": {
|
|
54902
55012
|
p50Ms: 1.1,
|
|
@@ -58458,11 +58568,8 @@ function parseDeviceKey(deviceKey) {
|
|
|
58458
58568
|
* fall back to the universal nano default (`yolo26n`).
|
|
58459
58569
|
*/
|
|
58460
58570
|
function defaultModelIdForDevice(deviceKey) {
|
|
58461
|
-
const { backend
|
|
58462
|
-
if (backend === "openvino")
|
|
58463
|
-
if (device === "cpu") return "yolo26n";
|
|
58464
|
-
return "yolov9m-320-int8";
|
|
58465
|
-
}
|
|
58571
|
+
const { backend } = parseDeviceKey(deviceKey);
|
|
58572
|
+
if (backend === "openvino") return "yolov9m-320-int8";
|
|
58466
58573
|
if (backend === "edgetpu") return "ssd-mobilenet-v2-coco-edgetpu";
|
|
58467
58574
|
if (backend === "coreml") return "yolov9m-320";
|
|
58468
58575
|
return "yolo26n";
|
|
@@ -58490,15 +58597,21 @@ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
|
|
|
58490
58597
|
* Merge a node's live-probed inference devices with its stored per-device map.
|
|
58491
58598
|
*
|
|
58492
58599
|
* The default is **AUTO = all discovered ACCELERATORS enabled** (spec C2,
|
|
58493
|
-
* opt-OUT) with
|
|
58600
|
+
* opt-OUT) with THREE deliberate exceptions, all **opt-IN** (default disabled):
|
|
58494
58601
|
*
|
|
58495
|
-
* - **CPU**: `enumerateInferenceDevices` always emits a
|
|
58496
|
-
*
|
|
58497
|
-
* round-robin ~1/N of sessions onto the slow CPU pool alongside
|
|
58498
|
-
* NPU/iGPU/ANE. CPU stays the always-available FALLBACK (a node with
|
|
58499
|
-
* eligible accelerator leaves `deviceKey` unset → the runner's default
|
|
58602
|
+
* - **CPU floor (`cpu`)**: `enumerateInferenceDevices` always emits a
|
|
58603
|
+
* universal `cpu` key on every platform; auto-enabling it would let the
|
|
58604
|
+
* balancer round-robin ~1/N of sessions onto the slow CPU pool alongside
|
|
58605
|
+
* the NPU/iGPU/ANE. CPU stays the always-available FALLBACK (a node with
|
|
58606
|
+
* no eligible accelerator leaves `deviceKey` unset → the runner's default
|
|
58500
58607
|
* pool, which is CPU), not a balanced target — matching the spec's "no
|
|
58501
58608
|
* device eligible → fall back to CPU".
|
|
58609
|
+
* - **Any `*:cpu` device** (today `openvino:cpu` on AMD): still a CPU
|
|
58610
|
+
* pool — Zen4 VNNI serving int8 IRs — not an accelerator. Auto-enabling
|
|
58611
|
+
* it next to `onnx:webgpu` would steal sessions from the iGPU the same
|
|
58612
|
+
* way the bare `cpu` floor would. Intel never emits `openvino:cpu`
|
|
58613
|
+
* (NPU/iGPU cover the IR format); AMD does, so the device-string rule
|
|
58614
|
+
* keeps both CPU-class keys opt-IN.
|
|
58502
58615
|
* - **Coral Edge TPU (`edgetpu`)**: the standing rule since the Coral
|
|
58503
58616
|
* executor landed is that it surfaces as selectable but is NEVER
|
|
58504
58617
|
* auto-picked — it runs a DIFFERENT, weaker model family (tflite SSD
|
|
@@ -58509,12 +58622,12 @@ function validateJumpTargets(inferenceDevices, enabledAvailableKeys) {
|
|
|
58509
58622
|
* hours at 2.4fps failing tflite model resolution. An operator who wants
|
|
58510
58623
|
* the Coral balanced opts it in explicitly (`enabled: true`).
|
|
58511
58624
|
*
|
|
58512
|
-
* So: an NPU/iGPU/ANE accelerator with NO stored entry is
|
|
58513
|
-
* CPU or edgetpu device with no stored entry is
|
|
58514
|
-
* stored `enabled` always wins (an operator can
|
|
58515
|
-
* accelerator out). A stored-only key (configured but
|
|
58516
|
-
* return it — removed/unplugged HW) keeps its stored
|
|
58517
|
-
* as `available:false`, so the UI still shows it.
|
|
58625
|
+
* So: an NPU/iGPU/ANE/WebGPU accelerator with NO stored entry is
|
|
58626
|
+
* `enabled:true`; a CPU-class or edgetpu device with no stored entry is
|
|
58627
|
+
* `enabled:false`; an explicit stored `enabled` always wins (an operator can
|
|
58628
|
+
* opt CPU/Coral in, or an accelerator out). A stored-only key (configured but
|
|
58629
|
+
* the probe did not return it — removed/unplugged HW) keeps its stored
|
|
58630
|
+
* `enabled` and surfaces as `available:false`, so the UI still shows it.
|
|
58518
58631
|
*
|
|
58519
58632
|
* Pure + deterministic (sorted by key) — the single merge authority shared by
|
|
58520
58633
|
* the `getNodeInferenceDevices` view and the dispatcher's eligible-device pick.
|
|
@@ -58528,7 +58641,7 @@ function mergeInferenceDevices(probed, stored) {
|
|
|
58528
58641
|
const opt = stored[key];
|
|
58529
58642
|
const parsed = descriptor ?? parseDeviceKey(key);
|
|
58530
58643
|
const weight = opt?.weight !== void 0 && opt.weight > 0 ? opt.weight : 1;
|
|
58531
|
-
const autoDefault = parsed.backend !== "cpu" && parsed.backend !== "edgetpu";
|
|
58644
|
+
const autoDefault = parsed.backend !== "cpu" && parsed.backend !== "edgetpu" && parsed.device !== "cpu";
|
|
58532
58645
|
out.push({
|
|
58533
58646
|
key,
|
|
58534
58647
|
backend: parsed.backend,
|
package/dist/remoteEntry.js
CHANGED
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CUOcXfxm.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-pipeline-orchestrator",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.304",
|
|
4
4
|
"description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|