How to Build OpenVINO with Extra Modules

Jun 13, 2023 | Programming

Welcome to your guide on building OpenVINO with extra modules! This repository is designed for developing additional functionalities that enhance the capabilities of OpenVINO, yet aren’t stable enough for official release. In this article, we will walk you through the process step-by-step, ensuring it’s user-friendly and straightforward.

What Are Extra Modules?

Extra modules are like innovative prototypes in the world of coding. Just as a chef might try out new recipes in their kitchen before introducing them to a restaurant menu, these extra modules are tested and refined before being integrated into the main OpenVINO distribution. They allow developers to contribute new functionalities while maintaining the library’s commitment to performance and stability.

Current Modules Overview

Here’s a list of the available modules in the openvino_contrib repository:

  • nvidia_plugin: Enables deep neural network inference on NVIDIA GPUs using CUDA.
  • java_api: Provides Java wrappers for OpenVINO Runtime public API.
  • rust_api: Explains how to use the OpenVINO APIs from Rust.
  • custom_operations: Collection of Custom Operations using OpenVINO’s Extensibility Mechanism.
  • Token Merging: Adapts the Token Merging method for OpenVINO.
  • OpenVINO Code: A VSCode extension for AI code completion with OpenVINO.

How to Build OpenVINO with Extra Modules

Follow these steps to build OpenVINO along with the extra modules:

sh
$ cd openvino_build_directory
$ cmake -DOPENVINO_EXTRA_MODULES=openvino_contrib/modules openvino_source_directory
$ cmake --build . -j8

When you run the above commands, OpenVINO will be built in the specified directory with all the modules from the openvino_contrib repository. If you wish to disable specific modules, you can customize the build using CMake’s BUILD_module_name boolean options. For example, to turn off the Java API:

sh
$ cmake -DOPENVINO_EXTRA_MODULES=openvino_contrib/modules -DBUILD_java_api=OFF openvino_source_directory

Updating the Repository Documentation

It’s essential to keep the documentation updated for a clean overview of all contributed modules. Here’s what you need to do:

  • Update the main documentation file with your module’s name and a brief description.
  • Add a README.md in your module folder explaining its functionality and any requirements needed to build it seamlessly.

Troubleshooting Tips

If you run into issues during your build process, consider the following troubleshooting steps:

  • Ensure that all dependencies are installed and that your environment is correctly set up.
  • Check the CMake configuration if there are errors in command syntax or path issues.
  • If specific modules fail to compile, you might want to disable them temporarily to isolate the issue.
  • Refer to the individual module README files for detailed instructions and common issues.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

How to Contribute

Your contributions are highly welcome in the openvino_contrib repository! If you have ideas for enhancements or new modules, we would love to hear from you. You can find all the guidelines for contributing here.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox