Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ See more information on the OpenVINO Execution Provider [here](./docs/execution_
* To configure Intel<sup>®</sup> Processor Graphics(GPU) please follow these instructions: [Windows](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_windows.html#Install-GPU), [Linux](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_linux.html#additional-GPU-steps)
* To configure Intel<sup>®</sup> Movidius<sup>TM</sup> USB, please follow this getting started guide: [Windows](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_windows.html#usb-myriad), [Linux](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_linux.html#additional-NCS-steps)
* To configure Intel<sup>®</sup> Vision Accelerator Design based on 8 Movidius<sup>TM</sup> MyriadX VPUs, please follow this configuration guide: [Windows](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_windows.html#hddl-myriad), [Linux](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_installing_openvino_linux.html#install-VPU)
* To configure Intel<sup>®</sup> Vision Accelerator Design with an Intel<sup>®</sup> Arria<sup>®</sup> 10 FPGA, please follow this configuration guide: [Linux](https://docs.openvinotoolkit.org/2019_R3.1/_docs_install_guides_VisionAcceleratorFPGA_Configure_2019R3.html)
* To configure Intel<sup>®</sup> Vision Accelerator Design with an Intel<sup>®</sup> Arria<sup>®</sup> 10 FPGA, please follow this configuration guide: [Linux](https://docs.openvinotoolkit.org/latest/_docs_install_guides_VisionAcceleratorFPGA_Configure.html)


#### Build Instructions
Expand Down
4 changes: 4 additions & 0 deletions cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -740,6 +740,10 @@ if(onnxruntime_USE_OPENVINO)
add_definitions(-DOPENVINO_CONFIG_VAD_M=1)
endif()

if(onnxruntime_USE_OPENVINO_VAD_F)
add_definitions(-DOPENVINO_CONFIG_VAD_F=1)
endif()

endif()

if (onnxruntime_USE_OPENBLAS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ BackendFactory::MakeBackend(const ONNX_NAMESPACE::ModelProto& model_proto,
const std::unordered_map<std::string, int>& output_names,
std::string type, InferenceEngine::Precision precision,
InferenceEngine::Core& ie_core, std::string subgraph_name) {
if(type == "CPU" || type == "GPU" || type == "MYRIAD") {
if(type == "CPU" || type == "GPU" || type == "MYRIAD" || type == "HETERO:FPGA,CPU") {
return std::make_shared<BasicBackend>(model_proto, input_indexes, output_names,
type, precision, ie_core,subgraph_name);
} else if (type == "HDDL") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ struct OpenVINOExecutionProviderInfo {
device_id_ = "HDDL";
precision_ = "FP16";
#endif
#ifdef OPENVINO_CONFIG_VAD_F
device_id_ = "HETERO:FPGA,CPU";
precision_ = "FP32";
#endif
} else if (dev_id == "CPU_FP32") {
device_id_ = "CPU";
precision_ = "FP32";
Expand All @@ -56,6 +60,9 @@ struct OpenVINOExecutionProviderInfo {
} else if (dev_id == "VAD-M_FP16") {
device_id_ = "HDDL";
precision_ = "FP16";
} else if (dev_id == "VAD-F_FP32") {
device_id_ = "HETERO:FPGA,CPU";
precision_ = "FP32";
} else {
ORT_THROW("Invalid device string: " + dev_id);
}
Expand Down
3 changes: 3 additions & 0 deletions onnxruntime/python/onnxruntime_pybind_state.cc
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@

#elif OPENVINO_CONFIG_VAD_M
#define BACKEND_OPENVINO "-OPENVINO_VAD_M"

#elif OPENVINO_CONFIG_VAD_F
#define BACKEND_OPENVINO "-OPENVINO_VAD_F"
#endif
#else
#define BACKEND_OPENVINO ""
Expand Down
7 changes: 6 additions & 1 deletion tools/ci_build/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def parse_arguments():
parser.add_argument("--use_featurizers", action='store_true', help="Build with ML Featurizer support.")
parser.add_argument("--use_ngraph", action='store_true', help="Build with nGraph.")
parser.add_argument("--use_openvino", nargs="?", const="CPU_FP32",
choices=["CPU_FP32","GPU_FP32","GPU_FP16","VAD-M_FP16","MYRIAD_FP16"], help="Build with OpenVINO EP for specific hardware.")
choices=["CPU_FP32","GPU_FP32","GPU_FP16","VAD-M_FP16","MYRIAD_FP16", "VAD-F_FP32"], help="Build with OpenVINO EP for specific hardware.")
parser.add_argument("--use_dnnlibrary", action='store_true', help="Build with DNNLibrary.")
parser.add_argument("--use_preinstalled_eigen", action='store_true', help="Use pre-installed Eigen.")
parser.add_argument("--eigen_path", help="Path to pre-installed Eigen.")
Expand Down Expand Up @@ -329,6 +329,7 @@ def generate_build_tree(cmake_path, source_dir, build_dir, cuda_home, cudnn_home
"-Donnxruntime_USE_OPENVINO_GPU_FP16=" + ("ON" if args.use_openvino == "GPU_FP16" else "OFF"),
"-Donnxruntime_USE_OPENVINO_CPU_FP32=" + ("ON" if args.use_openvino == "CPU_FP32" else "OFF"),
"-Donnxruntime_USE_OPENVINO_VAD_M=" + ("ON" if args.use_openvino == "VAD-M_FP16" else "OFF"),
"-Donnxruntime_USE_OPENVINO_VAD_F=" + ("ON" if args.use_openvino == "VAD-F_FP32" else "OFF"),
"-Donnxruntime_USE_OPENVINO_BINARY=" + ("ON" if args.use_openvino else "OFF"),
"-Donnxruntime_USE_OPENVINO_SOURCE=OFF",
"-Donnxruntime_USE_NNAPI=" + ("ON" if args.use_dnnlibrary else "OFF"),
Expand Down Expand Up @@ -931,6 +932,10 @@ def main():
if args.build_csharp or args.build_java:
args.build_shared_lib = True

# Disabling unit tests for VAD-F as FPGA only supports models with NCHW layout
if args.use_openvino == "VAD-F_FP32":
args.test = False

configs = set(args.config)

# setup paths and directories
Expand Down