Commit eda483f
Support export_model and import_model for MULTI device mode
Motivation:
Exporting a compiled model in MULTI mode was previously not supported, returning OPENVINO_NOT_IMPLEMENTED. This prevented users from caching or serializing MULTI-device models.
Changes:
- Implemented `AutoCumuCompiledModel::export_model` in `src/plugins/auto/src/cumulative_compiled_model.cpp` to serialize the MULTI configuration (XML) and delegate model export to sub-devices.
- Implemented `Plugin::import_model` in `src/plugins/auto/src/plugin.cpp` to deserialize the MULTI configuration and reconstruct the distributed model state by importing sub-models.
- Updated `CumuSchedule::init` in `src/plugins/auto/src/cumulative_schedule.cpp` to handle initialization during import (skipping compilation tasks when `ov::Model` is null).
- Added `openvino/pass/serialize.hpp` and `openvino/util/xml_parse_utils.hpp` includes where necessary.
- Added a functional test `CanExportImportMultiModel` in `src/plugins/auto/tests/functional/behavior/multi_export_import_test.cpp`.
- Updated copyright years to 2026.
Verification:
- Compiled `openvino_auto_plugin` and `ov_auto_func_tests`.
- Ran `AutoFuncTests.CanExportImportMultiModel` test, which passed successfully.
- Verified that the exported model can be imported and used for inference with correct results and device utilization.
Co-authored-by: andersendsa <199610634+andersendsa@users.noreply.github.com>1 parent 459128e commit eda483f
File tree
13,573 files changed
+41096
-71380
lines changed- .github
- actions
- create_manifest
- handle_docker
- install_ov_wheels
- openvino_provider
- restore_artifacts
- setup_python
- smart-ci
- store_artifacts
- dockerfiles
- ov_build
- debian_10_arm
- fedora_29
- ubuntu_20_04_x64_nvidia
- ubuntu_22_04_arm64
- ubuntu_22_04_riscv_xuantie
- ubuntu_22_04_riscv
- ubuntu_22_04_x64
- ubuntu_24_04_x64
- ov_test
- ubuntu_20_04_x64
- ubuntu_22_04_arm64
- ubuntu_22_04_x64_py314
- github_org_control
- scripts
- workflow_rerun
- tests
- data
- logs_with_error
- Samples _ Samples
- Smart_CI
- logs_wo_error
- workflows
- cmake
- developer_package
- api_validator
- clang_format
- clang_tidy
- compile_flags
- coverage
- cross_compile
- download
- frontends
- ncc_naming_style
- self_check
- packaging
- debian
- rpm
- plugins
- shellcheck
- tbb
- lnx
- mac
- win
- vs_version
- packaging
- templates
- toolchains
- docs
- articles_en
- about-openvino
- openvino-ecosystem
- release-notes-openvino
- assets/snippets
- gpu
- documentation/openvino-ir-format
- operation-sets
- available-opsets
- get-started/install-openvino
- openvino-workflow-generative
- inference-with-genai
- openvino-workflow
- model-optimization-guide
- compressing-models-during-training
- quantizing-models-post-training
- model-preparation
- running-inference/inference-devices-and-modes
- dev
- pypi_publish
- openvino_sphinx_theme
- optimization_guide/nncf
- code
- ptq/code
- scripts
- tests
- utils
- snippets
- src
- sphinx_setup/api
- ie_python_api
- nodejs_api/openvino-node/interfaces
- licensing
- samples
- cpp
- benchmark_app
- benchmark
- sync_benchmark
- throughput_benchmark
- classification_sample_async
- common
- format_reader
- include
- src
- utils
- include/samples
- os/windows
- src
- hello_classification
- hello_nv12_input_classification
- hello_query_device
- hello_reshape_ssd
- model_creation_sample
- c
- common
- opencv_c_wrapper
- include
- src
- sample_util
- include/samples_util
- src
- hello_classification
- hello_nv12_input_classification
- js/node/benchmark
- python
- benchmark
- bert_benchmark
- sync_benchmark
- throughput_benchmark
- classification_sample_async
- hello_classification
- hello_query_device
- hello_reshape_ssd
- model_creation_sample
- scripts
- install_dependencies
- setupvars
- utils
- src
- bindings
- c
- include/openvino/c
- auto
- gpu
- src
- tests
- js
- node
- include
- preprocess
- lib
- scripts/lib
- src
- preprocess
- tests
- unit
- python
- docs
- examples
- custom_module
- openvino
- mymodule
- scripts
- src
- openvino
- _offline_transformations
- _pyopenvino
- op
- properties
- intel_gpu
- experimental
- frontend
- jax
- onnx
- paddle
- pytorch
- torchdynamo
- tensorflow
- helpers
- opset10
- opset11
- opset12
- opset13
- opset14
- opset15
- opset16
- opset1
- opset2
- opset3
- opset4
- opset5
- opset6
- opset7
- opset8
- opset9
- op
- util
- passes
- preprocess
- torchvision
- properties
- device
- hint
- intel_auto
- intel_cpu
- intel_gpu
- hint
- intel_npu
- log
- streams
- test_utils
- torch
- utils
- data_helpers
- pyopenvino
- core
- properties
- experimental
- frontend
- jax
- onnx
- paddle
- pytorch
- tensorflow
- graph
- descriptors
- ops
- util
- passes
- preprocess
- types
- test_utils
- utils
- tests
- mock
- mock_py_frontend
- include/mock_py_frontend
- src
- pyngraph_fe_mock_api
- test_graph
- test_runtime
- test_transformations
- utils
- test_utils
- utils
- wheel
- cmake
- common
- conditional_compilation
- include/openvino/cc
- ngraph
- pass
- scripts
- tests
- itt
- cmake
- include/openvino
- src
- low_precision_transformations
- include
- low_precision
- common
- rt_info
- src
- rt_info
- tests
- subgraph/src
- unit
- offline_transformations
- include
- src
- pruning
- shutdown
- include/openvino
- snippets
- docs/debug_capabilities
- include/snippets
- lowered
- expressions
- pass
- op
- pass
- shape_inference
- utils
- src
- lowered
- expressions
- pass
- op
- pass
- shape_inference
- utils
- tests
- include
- lowered/pass
- pass
- utils
- src
- lowered
- pass
- pass
- utils
- transformations
- include
- ov_ops
- transformations
- common_optimizations
- control_flow
- fp16_compression
- low_precision
- op_conversions
- opset_conversions
- pattern_blocks
- rt_info
- sdpa_to_paged_attention
- smart_reshape
- symbolic_transformations
- transpose_sinking
- utils
- src
- ov_ops
- transformations
- common_optimizations
- control_flow
- fp16_compression
- low_precision
- op_conversions
- opset_conversions
- pattern_blocks
- rt_info
- sdpa_to_paged_attention
- smart_reshape
- symbolic_transformations
- transpose_sinking
- utils
- tests
- common_optimizations
- control_flow
- offline_transformations
- op_conversions
- smart_reshape
- symbolic_transformations
- transpose_sinking
- utils
- util
- include/openvino
- pch
- util
- src
- os
- lin
- win
- core
- dev_api/openvino
- core
- rt_info
- type
- opsets
- op
- util
- runtime
- xml_util
- include/openvino
- core
- descriptor
- preprocess
- type
- opsets
- op
- util
- pass
- pattern
- op
- runtime
- reference
- include/openvino/reference
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
13,573 files changed
+41096
-71380
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | 14 | | |
25 | 15 | | |
26 | 16 | | |
| |||
33 | 23 | | |
34 | 24 | | |
35 | 25 | | |
36 | | - | |
| 26 | + | |
37 | 27 | | |
38 | | - | |
| 28 | + | |
39 | 29 | | |
40 | 30 | | |
41 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | 9 | | |
14 | 10 | | |
15 | 11 | | |
| |||
25 | 21 | | |
26 | 22 | | |
27 | 23 | | |
28 | | - | |
29 | | - | |
30 | 24 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 25 | + | |
40 | 26 | | |
41 | 27 | | |
42 | 28 | | |
| |||
62 | 48 | | |
63 | 49 | | |
64 | 50 | | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
| 51 | + | |
75 | 52 | | |
76 | 53 | | |
77 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
| 87 | + | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | 18 | | |
23 | 19 | | |
24 | 20 | | |
| |||
44 | 40 | | |
45 | 41 | | |
46 | 42 | | |
47 | | - | |
| 43 | + | |
48 | 44 | | |
49 | 45 | | |
50 | | - | |
51 | 46 | | |
52 | 47 | | |
53 | 48 | | |
| |||
0 commit comments