diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 97f3ceca02..41854313c2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -112,7 +112,7 @@ option(onnxruntime_USE_TELEMETRY "Build with Telemetry" OFF) #It's default OFF because it's experimental now. option(onnxruntime_PREFER_SYSTEM_LIB "Experimental: Build with the preinstalled libraries in your system" OFF) -# Options to reduce build size +# Options related to reducing the binary size produced by the build option(onnxruntime_DISABLE_CONTRIB_OPS "Disable contrib ops" OFF) option(onnxruntime_DISABLE_ML_OPS "Disable traditional ML ops" OFF) option(onnxruntime_DISABLE_RTTI "Disable RTTI" OFF) @@ -120,6 +120,7 @@ option(onnxruntime_DISABLE_RTTI "Disable RTTI" OFF) option(onnxruntime_DISABLE_EXCEPTIONS "Disable exception handling. Requires onnxruntime_MINIMAL_BUILD currently." OFF) option(onnxruntime_MINIMAL_BUILD "Exclude as much as possible from the build. Support ORT format models. No support for ONNX format models." OFF) option(onnxruntime_REDUCED_OPS_BUILD "Reduced set of kernels are registered in build via modification of the kernel registration source files." OFF) +option(onnxruntime_DISABLE_ORT_FORMAT_LOAD "Disable loading an ORT format model when onnxruntime_MINIMAL_BUILD=OFF (i.e. in a full build)." OFF) # training options option(onnxruntime_ENABLE_NVTX_PROFILE "Enable NVTX profile." OFF) @@ -208,6 +209,8 @@ endif() # Will expose option in build.py when all pieces are available if(onnxruntime_MINIMAL_BUILD) add_compile_definitions(ORT_MINIMAL_BUILD) + add_compile_definitions(ENABLE_ORT_FORMAT_LOAD) + set(onnxruntime_REDUCED_OPS_BUILD ON) if (NOT onnxruntime_ENABLE_PYTHON) @@ -240,6 +243,11 @@ if(onnxruntime_MINIMAL_BUILD) string(APPEND CMAKE_C_FLAGS " -g") endif() endif() +else() + # support ORT format model loading unless onnxruntime_DISABLE_ORT_FORMAT_LOAD is set + if (NOT onnxruntime_DISABLE_ORT_FORMAT_LOAD) + add_compile_definitions(ENABLE_ORT_FORMAT_LOAD) + endif() endif() if(onnxruntime_ENABLE_LTO) diff --git a/include/onnxruntime/core/graph/graph.h b/include/onnxruntime/core/graph/graph.h index f609352705..caa736b000 100644 --- a/include/onnxruntime/core/graph/graph.h +++ b/include/onnxruntime/core/graph/graph.h @@ -381,11 +381,13 @@ class Node { #endif +#if defined(ENABLE_ORT_FORMAT_LOAD) static Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::Node& fbs_node, Graph& graph, const logging::Logger& logger, std::unique_ptr& node); Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::Node& fbs_node, const logging::Logger& logger); Status LoadEdgesFromOrtFormat(const onnxruntime::experimental::fbs::NodeEdge& fbs_node_edgs, const Graph& graph); +#endif /** @class Definitions @@ -1017,6 +1019,7 @@ class Graph { virtual ~Graph(); +#if defined(ENABLE_ORT_FORMAT_LOAD) static common::Status LoadFromOrtFormat( const onnxruntime::experimental::fbs::Graph& fbs_graph, const Model& owning_model, const std::unordered_map& domain_to_version, @@ -1026,7 +1029,7 @@ class Graph { static Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::Graph& fbs_graph, Graph& parent_graph, const Node& parent_node, const logging::Logger& logger, std::unique_ptr& graph); - +#endif private: ORT_DISALLOW_COPY_ASSIGNMENT_AND_MOVE(Graph); @@ -1042,8 +1045,10 @@ class Graph { Graph* parent_graph, const Node* parent_node, const logging::Logger& logger); +#if defined(ENABLE_ORT_FORMAT_LOAD) // Populate Graph instance from ORT format serialized data. common::Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::Graph& fbs_graph); +#endif #if !defined(ORT_MINIMAL_BUILD) // Constructor: Given a loaded from model file, construct diff --git a/onnxruntime/core/framework/session_state.cc b/onnxruntime/core/framework/session_state.cc index 5139c4ca1b..cfbb43e04e 100644 --- a/onnxruntime/core/framework/session_state.cc +++ b/onnxruntime/core/framework/session_state.cc @@ -720,6 +720,7 @@ Status SessionState::CreateSubgraphSessionState() { return Status::OK(); } +#if defined(ENABLE_ORT_FORMAT_LOAD) Status SessionState::LoadFromOrtFormat(const fbs::SessionState& fbs_session_state, const KernelRegistryManager& kernel_registry_manager) { const auto* fbs_kcis = fbs_session_state.kernels(); @@ -772,6 +773,7 @@ Status SessionState::LoadFromOrtFormat(const fbs::SessionState& fbs_session_stat return Status::OK(); } +#endif Status SessionState::FinalizeSessionState(const std::basic_string& graph_location, KernelRegistryManager& kernel_registry_manager, @@ -784,7 +786,13 @@ Status SessionState::FinalizeSessionState(const std::basic_string& fbs_session_state) const; #endif +#if defined(ENABLE_ORT_FORMAT_LOAD) Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::SessionState& fbs_session_state, const KernelRegistryManager& kernel_registry_manager); +#endif Status FinalizeSessionState(const std::basic_string& graph_loc, KernelRegistryManager& kernel_registry_manager, diff --git a/onnxruntime/core/graph/graph.cc b/onnxruntime/core/graph/graph.cc index 8bd902cd72..d37c8553d2 100644 --- a/onnxruntime/core/graph/graph.cc +++ b/onnxruntime/core/graph/graph.cc @@ -566,6 +566,7 @@ flatbuffers::Offset Node::SaveEdgesToOrtFormat(flatbuffers::FlatB #endif // !defined(ORT_MINIMAL_BUILD) +#if defined(ENABLE_ORT_FORMAT_LOAD) Status Node::LoadFromOrtFormat(const onnxruntime::experimental::fbs::Node& fbs_node, Graph& graph, const logging::Logger& logger, std::unique_ptr& node) { node.reset(new Node(fbs_node.index(), graph)); @@ -659,6 +660,7 @@ Status Node::LoadEdgesFromOrtFormat(const onnxruntime::experimental::fbs::NodeEd return Status::OK(); } +#endif #if !defined(ORT_MINIMAL_BUILD) void Node::Init(const std::string& name, @@ -3383,6 +3385,7 @@ std::ostream& operator<<(std::ostream& out, const Graph& graph) { } #endif // !defined(ORT_MINIMAL_BUILD) +#if defined(ENABLE_ORT_FORMAT_LOAD) Status Graph::LoadFromOrtFormat( const onnxruntime::experimental::fbs::Graph& fbs_graph, const Model& owning_model, @@ -3526,4 +3529,6 @@ common::Status Graph::LoadFromOrtFormat(const onnxruntime::experimental::fbs::Gr return Status::OK(); } +#endif // defined(ENABLE_ORT_FORMAT_LOAD) + } // namespace onnxruntime diff --git a/onnxruntime/core/graph/graph_flatbuffers_utils.cc b/onnxruntime/core/graph/graph_flatbuffers_utils.cc index 88643ad9ad..bb346a2745 100644 --- a/onnxruntime/core/graph/graph_flatbuffers_utils.cc +++ b/onnxruntime/core/graph/graph_flatbuffers_utils.cc @@ -269,6 +269,8 @@ Status SaveAttributeOrtFormat(flatbuffers::FlatBufferBuilder& builder, #undef GET_FBS_ATTR #undef GET_DATA_VEC +#if defined(ENABLE_ORT_FORMAT_LOAD) + static Status LoadTypeInfoOrtFormat(const fbs::TypeInfo& fbs_type_info, TypeProto& type_proto) ORT_MUST_USE_RESULT; @@ -484,6 +486,8 @@ Status LoadAttributeOrtFormat(const fbs::Attribute& fbs_attr, return Status::OK(); } +#endif // defined(ENABLE_ORT_FORMAT_LOAD) + } // namespace utils } // namespace experimental } // namespace onnxruntime diff --git a/onnxruntime/core/graph/graph_flatbuffers_utils.h b/onnxruntime/core/graph/graph_flatbuffers_utils.h index 7a5f175009..c938020969 100644 --- a/onnxruntime/core/graph/graph_flatbuffers_utils.h +++ b/onnxruntime/core/graph/graph_flatbuffers_utils.h @@ -24,6 +24,7 @@ onnxruntime::common::Status SaveAttributeOrtFormat( flatbuffers::FlatBufferBuilder& builder, const ONNX_NAMESPACE::AttributeProto& attr_proto, flatbuffers::Offset& fbs_attr, const onnxruntime::Graph* graph) ORT_MUST_USE_RESULT; +#if defined(ENABLE_ORT_FORMAT_LOAD) inline void LoadStringFromOrtFormat(std::string& dst, const flatbuffers::String* fbs_string) { if (fbs_string) dst = fbs_string->c_str(); @@ -44,6 +45,8 @@ onnxruntime::common::Status LoadAttributeOrtFormat(const fbs::Attribute& fbs_att Graph& graph, Node& node, const logging::Logger& logger) ORT_MUST_USE_RESULT; +#endif + } // namespace utils } // namespace experimental } // namespace onnxruntime diff --git a/onnxruntime/core/graph/model.cc b/onnxruntime/core/graph/model.cc index f782371964..1912d25c6c 100644 --- a/onnxruntime/core/graph/model.cc +++ b/onnxruntime/core/graph/model.cc @@ -583,6 +583,7 @@ common::Status Model::SaveToOrtFormat(flatbuffers::FlatBufferBuilder& builder, Model::Model() : model_path_{} { } +#if defined(ENABLE_ORT_FORMAT_LOAD) common::Status Model::LoadFromOrtFormat(const fbs::Model& fbs_model, const logging::Logger& logger, std::unique_ptr& model) { @@ -629,5 +630,6 @@ common::Status Model::LoadFromOrtFormat(const fbs::Model& fbs_model, return Status::OK(); } +#endif } // namespace onnxruntime diff --git a/onnxruntime/core/graph/model.h b/onnxruntime/core/graph/model.h index dd101c9cb2..9f236e8dce 100644 --- a/onnxruntime/core/graph/model.h +++ b/onnxruntime/core/graph/model.h @@ -217,9 +217,11 @@ class Model { #endif // !defined(ORT_MINIMAL_BUILD) +#if defined(ENABLE_ORT_FORMAT_LOAD) static common::Status LoadFromOrtFormat(const onnxruntime::experimental::fbs::Model& fbs_model, const logging::Logger& logger, std::unique_ptr& model); +#endif private: Model(); diff --git a/onnxruntime/core/session/inference_session.cc b/onnxruntime/core/session/inference_session.cc index 96296a3890..e7e9853ed5 100644 --- a/onnxruntime/core/session/inference_session.cc +++ b/onnxruntime/core/session/inference_session.cc @@ -556,7 +556,11 @@ common::Status InferenceSession::Load(const std::string& model_uri) { if ((has_explicit_type && model_type == "ORT") || (!has_explicit_type && inference_session_utils::IsOrtFormatModel(model_uri))) { +#if defined(ENABLE_ORT_FORMAT_LOAD) return LoadOrtModel(model_uri); +#else + return ORT_MAKE_STATUS(ONNXRUNTIME, INVALID_ARGUMENT, "ORT format model is not supported in this build."); +#endif } #if !defined(ORT_MINIMAL_BUILD) @@ -579,7 +583,11 @@ common::Status InferenceSession::Load(const std::wstring& model_uri) { if ((has_explicit_type && model_type == "ORT") || (!has_explicit_type && inference_session_utils::IsOrtFormatModel(model_uri))) { +#if defined(ENABLE_ORT_FORMAT_LOAD) return LoadOrtModel(model_uri); +#else + return ORT_MAKE_STATUS(ONNXRUNTIME, INVALID_ARGUMENT, "ORT format model is not supported in this build."); +#endif } #if !defined(ORT_MINIMAL_BUILD) @@ -603,7 +611,11 @@ common::Status InferenceSession::Load(const void* model_data, int model_data_len if ((has_explicit_type && model_type == "ORT") || (!has_explicit_type && inference_session_utils::IsOrtFormatModelBytes(model_data, model_data_len))) { +#if defined(ENABLE_ORT_FORMAT_LOAD) return LoadOrtModel(model_data, model_data_len); +#else + return ORT_MAKE_STATUS(ONNXRUNTIME, INVALID_ARGUMENT, "ORT format model is not supported in this build."); +#endif } #if !defined(ORT_MINIMAL_BUILD) @@ -834,6 +846,7 @@ common::Status InferenceSession::TransformGraph(onnxruntime::Graph& graph, #endif // !defined(ORT_MINIMAL_BUILD) +#if defined(ENABLE_ORT_FORMAT_LOAD) template static Status LoadOrtModelBytes(const std::basic_string& model_uri, std::basic_string& model_location, @@ -932,6 +945,7 @@ Status InferenceSession::LoadOrtModel(std::function load_ort_format_mo return Status::OK(); } +#endif // defined(ENABLE_ORT_FORMAT_LOAD) bool InferenceSession::IsInitialized() const { std::lock_guard l(session_mutex_); diff --git a/onnxruntime/core/session/inference_session.h b/onnxruntime/core/session/inference_session.h index 7d13baa8cf..8fbb621885 100644 --- a/onnxruntime/core/session/inference_session.h +++ b/onnxruntime/core/session/inference_session.h @@ -465,6 +465,7 @@ class InferenceSession { common::Status SaveToOrtFormat(const std::basic_string& filepath) const; #endif +#if defined(ENABLE_ORT_FORMAT_LOAD) /** * Load an ORT format model. * @param model_uri absolute path of the model file. @@ -487,6 +488,8 @@ class InferenceSession { common::Status LoadOrtModel(std::function load_ort_format_model_bytes) ORT_MUST_USE_RESULT; +#endif // defined(ENABLE_ORT_FORMAT_LOAD) + // Create a Logger for a single execution if possible. Otherwise use the default logger. // If a new logger is created, it will also be stored in new_run_logger, // which must remain valid for the duration of the execution. @@ -615,7 +618,7 @@ class InferenceSession { TimePoint time_sent_last_; // the TimePoint of the last report // Event Rate per provider < 20 peak events per second - constexpr static long long kDurationBetweenSending = 1000 * 1000 * 60 * 10; // duration in (us). send a report every 10 mins + constexpr static long long kDurationBetweenSending = 1000 * 1000 * 60 * 10; // duration in (us). send a report every 10 mins } telemetry_; #ifdef ONNXRUNTIME_ENABLE_INSTRUMENT diff --git a/onnxruntime/test/framework/ort_model_only_test.cc b/onnxruntime/test/framework/ort_model_only_test.cc index 287950bd13..c7000cd046 100644 --- a/onnxruntime/test/framework/ort_model_only_test.cc +++ b/onnxruntime/test/framework/ort_model_only_test.cc @@ -1,5 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. + +// if we can't load an ORT format model we can't really test anything +#if defined(ENABLE_ORT_FORMAT_LOAD) + #include "core/framework/data_types.h" #include "core/framework/tensorprotoutils.h" #include "core/graph/onnx_protobuf.h" @@ -361,7 +365,9 @@ TEST(OrtModelOnlyTests, LoadOrtFormatModelMLOps) { RunOrtModel(test_info); } -#endif +#endif // !defined(DISABLE_ML_OPS) } // namespace test } // namespace onnxruntime + +#endif // defined(ENABLE_ORT_FORMAT_LOAD) diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index 7493e546d4..5a2b347738 100755 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -364,6 +364,8 @@ def parse_arguments(): parser.add_argument("--disable_rtti", action='store_true', help="Disable RTTI (reduces binary size)") parser.add_argument("--disable_exceptions", action='store_true', help="Disable exceptions to reduce binary size. Requires --minimal_build.") + parser.add_argument("--disable_ort_format_load", action='store_true', + help='Disable support for loading ORT format models in a non-minimal build.') return parser.parse_args() @@ -625,6 +627,7 @@ def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home "-Donnxruntime_DISABLE_ML_OPS=" + ("ON" if args.disable_ml_ops else "OFF"), "-Donnxruntime_DISABLE_RTTI=" + ("ON" if args.disable_rtti else "OFF"), "-Donnxruntime_DISABLE_EXCEPTIONS=" + ("ON" if args.disable_exceptions else "OFF"), + "-Donnxruntime_DISABLE_ORT_FORMAT_LOAD=" + ("ON" if args.disable_ort_format_load else "OFF"), "-Donnxruntime_MINIMAL_BUILD=" + ("ON" if args.minimal_build else "OFF"), "-Donnxruntime_REDUCED_OPS_BUILD=" + ( "ON" if args.include_ops_by_config or args.include_ops_by_model else "OFF"), @@ -1656,6 +1659,9 @@ def main(): if args.enable_pybind and args.disable_exceptions: raise BuildError('Python bindings require exceptions to be enabled.') + if args.minimal_build and args.disable_ort_format_load: + raise BuildError('Minimal build requires loading ORT format models.') + # Disabling unit tests for VAD-F as FPGA only supports # models with NCHW layout if args.use_openvino == "VAD-F_FP32": diff --git a/tools/ci_build/github/azure-pipelines/c-api-packaging-pipelines.yml b/tools/ci_build/github/azure-pipelines/c-api-packaging-pipelines.yml index 80984921e5..683b627fd4 100644 --- a/tools/ci_build/github/azure-pipelines/c-api-packaging-pipelines.yml +++ b/tools/ci_build/github/azure-pipelines/c-api-packaging-pipelines.yml @@ -20,7 +20,7 @@ jobs: docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro \ --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /opt/python/cp37-cp37m/bin/python3 \ /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto \ - --skip_submodule_sync --parallel --build_shared_lib --use_openmp + --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --use_openmp workingDirectory: $(Build.SourcesDirectory) - task: Docker@2 displayName: logout @@ -60,7 +60,7 @@ jobs: docker run --gpus all -e NVIDIA_VISIBLE_DEVICES=all --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build \ --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecuda102build:ch2q \ /opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release \ - --skip_submodule_sync --parallel --build_shared_lib --use_cuda --cuda_version=10.2 --cuda_home=/usr/local/cuda-10.2 --cudnn_home=/usr/local/cuda-10.2 + --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --use_cuda --cuda_version=10.2 --cuda_home=/usr/local/cuda-10.2 --cudnn_home=/usr/local/cuda-10.2 workingDirectory: $(Build.SourcesDirectory) - task: Docker@2 displayName: logout @@ -92,7 +92,7 @@ jobs: - script: | sudo python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt' sudo xcode-select --switch /Applications/Xcode_10.app/Contents/Developer - python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --use_openmp --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --config RelWithDebInfo + python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --use_openmp --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --config RelWithDebInfo displayName: 'Build and Test MacOS' - template: templates/c-api-artifacts-package-and-publish-steps-posix.yml parameters: @@ -164,7 +164,7 @@ jobs: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -183,7 +183,7 @@ jobs: displayName: 'test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/c-api-artifacts-package-and-publish-steps-windows.yml @@ -247,7 +247,7 @@ jobs: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_shared_lib --disable_ort_format_load --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' @@ -267,7 +267,7 @@ jobs: displayName: 'test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --enable_onnx_tests $(TelemetryOption) $(buildparameter)' + arguments: '--config RelWithDebInfo --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_shared_lib --disable_ort_format_load --enable_onnx_tests $(TelemetryOption) $(buildparameter)' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/c-api-artifacts-package-and-publish-steps-windows.yml diff --git a/tools/ci_build/github/azure-pipelines/nodejs/templates/cpu.yml b/tools/ci_build/github/azure-pipelines/nodejs/templates/cpu.yml index 23e4281e16..0d14cb4ab4 100644 --- a/tools/ci_build/github/azure-pipelines/nodejs/templates/cpu.yml +++ b/tools/ci_build/github/azure-pipelines/nodejs/templates/cpu.yml @@ -9,7 +9,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-nodejs-win32' JobName: 'Windows_CI' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_nodejs --enable_onnx_tests --enable_wcos --use_telemetry --cmake_generator "Visual Studio 16 2019"' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --disable_ort_format_load --use_openmp --build_nodejs --enable_onnx_tests --enable_wcos --use_telemetry --cmake_generator "Visual Studio 16 2019"' BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'x64' @@ -25,7 +25,7 @@ jobs: AgentPool : $(AgentPoolMacOS) ArtifactName: 'drop-nodejs-darwin' JobName: 'Mac_CI' - BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --use_openmp --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_nodejs --config Release' + BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --disable_ort_format_load --use_openmp --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_nodejs --config Release' DoNodejsPack : 'true' DoNugetPack: 'false' DoEsrp: ${{ parameters.DoEsrp }} @@ -50,7 +50,7 @@ jobs: mkdir -p $HOME/.onnx && docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro \ --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /bin/bash -c "/opt/python/cp37-cp37m/bin/python3 \ /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto --build_nodejs \ - --skip_submodule_sync --parallel --build_shared_lib --use_openmp && cd /onnxruntime_src/nodejs && npm pack" + --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --use_openmp && cd /onnxruntime_src/nodejs && npm pack" workingDirectory: $(Build.SourcesDirectory) - task: Docker@2 displayName: logout diff --git a/tools/ci_build/github/azure-pipelines/nuget/templates/cpu-nocontribops-arm64.yml b/tools/ci_build/github/azure-pipelines/nuget/templates/cpu-nocontribops-arm64.yml index e7efda9794..6e4e121160 100644 --- a/tools/ci_build/github/azure-pipelines/nuget/templates/cpu-nocontribops-arm64.yml +++ b/tools/ci_build/github/azure-pipelines/nuget/templates/cpu-nocontribops-arm64.yml @@ -7,7 +7,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-nuget' JobName: 'Windows_CI_Dev' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime' BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'x64' @@ -27,7 +27,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-win-x86-zip' JobName: 'Windows_CI_Dev_x86' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --x86 --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --x86 --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime' BuildArch: 'x86' EnvSetupScript: 'setup_env_x86.bat' sln_platform: 'Win32' @@ -47,7 +47,7 @@ jobs: parameters: AgentPool : 'Win-CPU-2019' JobName: 'Windows_Arm64_Dev' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime --arm64' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --cmake_generator "Visual Studio 16 2019" --disable_contrib_ops --disable_ml_ops --enable_msvc_static_runtime --arm64' DoDebugBuild: 'false' DoNugetPack : 'true' DoCompliance: 'false' @@ -82,7 +82,7 @@ jobs: inputs: script: | mkdir -p $HOME/.onnx - docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /bin/bash -c "/opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto --skip_submodule_sync --parallel --build_shared_lib --enable_onnx_tests --disable_contrib_ops --disable_ml_ops && cd /build/Release && make install DESTDIR=/build/linux-x64" + docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /bin/bash -c "/opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --enable_onnx_tests --disable_contrib_ops --disable_ml_ops && cd /build/Release && make install DESTDIR=/build/linux-x64" workingDirectory: $(Build.SourcesDirectory) - task: Docker@2 displayName: logout @@ -114,7 +114,7 @@ jobs: parameters: AgentPool : $(AgentPoolMacOS) JobName: 'MacOS_CI_Dev' - BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --disable_contrib_ops --disable_ml_ops --config RelWithDebInfo' + BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --disable_contrib_ops --disable_ml_ops --config RelWithDebInfo' DoNugetPack : 'true' NuPackScript: | set -e -x diff --git a/tools/ci_build/github/azure-pipelines/nuget/templates/cpu.yml b/tools/ci_build/github/azure-pipelines/nuget/templates/cpu.yml index 0608400f49..ebd07657fa 100644 --- a/tools/ci_build/github/azure-pipelines/nuget/templates/cpu.yml +++ b/tools/ci_build/github/azure-pipelines/nuget/templates/cpu.yml @@ -9,7 +9,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-nuget' JobName: 'Windows_CI_Dev' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --enable_onnx_tests --enable_wcos --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'x64' @@ -29,7 +29,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-win-x86-zip' JobName: 'Windows_CI_Dev_x86' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --enable_onnx_tests --enable_wcos --x86 --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos --x86 --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' BuildArch: 'x86' EnvSetupScript: 'setup_env_x86.bat' sln_platform: 'Win32' @@ -50,7 +50,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-win-arm64-zip' JobName: 'Windows_CI_Dev_arm64' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --enable_onnx_tests --enable_wcos --arm64 --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos --arm64 --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'arm64' @@ -71,7 +71,7 @@ jobs: AgentPool : 'Win-CPU-2019' ArtifactName: 'drop-win-arm-zip' JobName: 'Windows_CI_Dev_arm' - BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --enable_onnx_tests --enable_wcos --arm --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' + BuildCommand: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --use_openmp --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos --arm --use_telemetry --use_winml --cmake_generator "Visual Studio 16 2019"' BuildArch: 'x64' EnvSetupScript: 'setup_env.bat' sln_platform: 'arm' @@ -105,7 +105,7 @@ jobs: inputs: script: | mkdir -p $HOME/.onnx - docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /bin/bash -c "/opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto --skip_submodule_sync --parallel --build_shared_lib --use_openmp --enable_onnx_tests && cd /build/Release && make install DESTDIR=/build/linux-x64" + docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimeregistry.azurecr.io/internal/azureml/onnxruntimecpubuild:ch2j /bin/bash -c "/opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release --enable_lto --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --use_openmp --enable_onnx_tests && cd /build/Release && make install DESTDIR=/build/linux-x64" workingDirectory: $(Build.SourcesDirectory) - task: Docker@2 displayName: logout @@ -137,7 +137,7 @@ jobs: parameters: AgentPool : $(AgentPoolMacOS) JobName: 'MacOS_CI_Dev' - BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --use_openmp --config RelWithDebInfo' + BuildCommand: 'python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --disable_ort_format_load --use_openmp --config RelWithDebInfo' DoNugetPack : 'true' NuPackScript: | set -e -x diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml index fd4df084ed..5055558190 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml @@ -110,6 +110,7 @@ stages: --config Release \ --skip_submodule_sync \ --parallel \ + --disable_ort_format_load \ --enable_lto \ --build_wheel \ --use_openmp \ @@ -188,6 +189,7 @@ stages: --config Release \ --skip_submodule_sync \ --parallel \ + --disable_ort_format_load \ --build_wheel \ --enable_onnx_tests --use_cuda --cuda_version=10.2 --cuda_home=/usr/local/cuda-10.2 --cudnn_home=/usr/local/cuda-10.2 \ ${{ parameters.build_py_parameters }} \ @@ -270,6 +272,7 @@ stages: --config Release \ --skip_submodule_sync \ --parallel \ + --disable_ort_format_load \ --build_wheel \ --enable_onnx_tests \ ${{ parameters.build_py_parameters }} \ @@ -365,6 +368,7 @@ stages: --config RelWithDebInfo --enable_lto --disable_rtti + --disable_ort_format_load --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" @@ -488,6 +492,7 @@ stages: --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" + --disable_ort_format_load --enable_pybind --enable_onnx_tests ${{ parameters.build_py_parameters }} @@ -575,7 +580,7 @@ stages: - script: | sudo python -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt' sudo xcode-select --switch /Applications/Xcode_10.app/Contents/Developer - ./build.sh --config Release --skip_submodule_sync --parallel --build_wheel --use_openmp ${{ parameters.build_py_parameters }} + ./build.sh --config Release --skip_submodule_sync --parallel --disable_ort_format_load --build_wheel --use_openmp ${{ parameters.build_py_parameters }} displayName: 'Command Line Script' - task: CopyFiles@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/windows-build-and-test-steps.yml b/tools/ci_build/github/azure-pipelines/templates/windows-build-and-test-steps.yml index a6a4c4d062..b1d3678f9d 100644 --- a/tools/ci_build/github/azure-pipelines/templates/windows-build-and-test-steps.yml +++ b/tools/ci_build/github/azure-pipelines/templates/windows-build-and-test-steps.yml @@ -11,7 +11,7 @@ steps: displayName: 'Download test data and generate cmake config' inputs: script: | - $(Build.BinariesDirectory)\packages\python\python.exe $(Build.SourcesDirectory)\tools\ci_build\build.py --config ${{parameters.buildConfig}} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_onnx_tests --update ${{parameters.buildAdditionalParams}} + $(Build.BinariesDirectory)\packages\python\python.exe $(Build.SourcesDirectory)\tools\ci_build\build.py --config ${{parameters.buildConfig}} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --enable_onnx_tests --update ${{parameters.buildAdditionalParams}} workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -29,7 +29,7 @@ steps: displayName: 'Test ${{parameters.buildConfig}}' inputs: filename: '$(Build.BinariesDirectory)\packages\python\python.exe' - arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config ${{parameters.buildConfig}} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --build_shared_lib --enable_onnx_tests --test ${{parameters.buildAdditionalParams}}' + arguments: '$(Build.SourcesDirectory)\tools\ci_build\build.py --config ${{parameters.buildConfig}} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_path $(Build.BinariesDirectory)\cmake\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake\bin\ctest.exe --build_shared_lib --disable_ort_format_load --enable_onnx_tests --test ${{parameters.buildAdditionalParams}}' workingFolder: '$(Build.BinariesDirectory)' - task: PublishTestResults@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/windowsai-nuget-build.yml b/tools/ci_build/github/azure-pipelines/templates/windowsai-nuget-build.yml index 708d77476b..618c49d1d4 100644 --- a/tools/ci_build/github/azure-pipelines/templates/windowsai-nuget-build.yml +++ b/tools/ci_build/github/azure-pipelines/templates/windowsai-nuget-build.yml @@ -38,21 +38,21 @@ steps: inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'false')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti' ${{ if and(eq(parameters.BuildArch, 'x64'), eq(parameters.BuildForStore, 'true')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --enable_windows_store --target winml_dll' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --enable_windows_store --target winml_dll' ${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'false')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_dml --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86' ${{ if and(eq(parameters.BuildArch, 'x86'), eq(parameters.BuildForStore, 'true')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86 --enable_windows_store --target winml_dll' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --x86 --enable_windows_store --target winml_dll' ${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'false')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64' ${{ if and(eq(parameters.BuildArch, 'arm64'), eq(parameters.BuildForStore, 'true')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64 --enable_windows_store --target winml_dll' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm64 --enable_windows_store --target winml_dll' ${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'false')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --enable_onnx_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm' ${{ if and(eq(parameters.BuildArch, 'arm'), eq(parameters.BuildForStore, 'true')) }}: - arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm --enable_windows_store --target winml_dll' + arguments: '--build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --disable_ort_format_load --skip_winml_tests --enable_wcos $(TelemetryOption) --use_winml --cmake_generator "Visual Studio 16 2019" --update --config RelWithDebInfo --enable_lto --disable_rtti --arm --enable_windows_store --target winml_dll' workingDirectory: '$(Build.BinariesDirectory)' - ${{ if or(notIn(parameters['sln_platform'], 'Win32', 'x64'), eq(parameters.BuildForStore, 'true')) }}: