Skip to content

Latest commit

 

History

History
64 lines (40 loc) · 4.57 KB

File metadata and controls

64 lines (40 loc) · 4.57 KB

AMD OpenVX™

AMD OpenVX™ is a highly optimized conformant open-source implementation of the Khronos OpenVX™ 1.3.2 computer vision specification. It allows for rapid prototyping as well as fast execution on a wide range of computer hardware, including small embedded AMD64 CPUs and large workstation discrete GPUs.

Features

  • Highly optimized for both x86 CPU and OpenCL/HIP GPU backends
  • Supports hardware from low-power embedded APUs to workstation discrete GPUs
  • Supports Windows, Linux, and macOS
  • Graph optimizer that analyzes the entire processing pipeline to remove/replace/merge functions for improved performance and minimized bandwidth
  • Scripting support with RunVX — execute OpenVX graphs from GDF text files without writing or recompiling C code

OpenVX 1.3.2 Vision Conformance

AMD OpenVX implements the full Vision Conformance Feature Set, which includes:

  • Base Feature Set: Core framework objects (vx_context, vx_graph, vx_kernel, vx_node, vx_parameter, vx_reference, vx_meta_format, vx_delay) for constructing and executing OpenVX graphs.

  • Vision Data Objects: Data objects including vx_image, vx_array, vx_convolution, vx_distribution, vx_lut, vx_matrix, vx_pyramid, vx_remap, vx_scalar, vx_threshold, and vx_object_array.

  • Vision Functions: 36 vision processing functions including edge detection (Canny, Sobel), feature detection (Harris, FAST corners), filtering (Gaussian, Median, Box), geometric transforms (Warp, Remap, Scale), color conversion, histogram, optical flow, and more.

  • VXU Immediate Functions: The VXU library provides all OpenVX operators as directly callable C functions without requiring graph construction, useful for porting existing vision applications.

Khronos OpenVX™ 1.0.1 conformant implementation is available in MIVisionX Lite.

OpenVX Extensions

AMD OpenVX can be extended with additional modules. See amd_openvx_extensions for the available OpenVX extension module: amd_rpp, which provides RPP image/tensor augmentation as OpenVX kernels.

Prerequisites

Build Instructions

AMD OpenVX is built as part of the MIVisionX project.

Build using CMake

AMD OpenVX is built as part of the top-level MIVisionX project. Run CMake from the MIVisionX repo root, not from within amd_openvx/:

# From the MIVisionX repo root
mkdir build && cd build
cmake ..          # HIP backend (default on Linux)
make -j$(nproc)

On Windows, the default backend is OpenCL; pass -DGPU_SUPPORT=OFF for a CPU-only build. Optionally install OpenCV (set OpenCV_DIR to the OpenCV/build folder) to enable RunVX camera capture and image display.

Note

AMD GPU HIP backend is not supported on Windows.

OpenVX and the OpenVX logo are trademarks of the Khronos Group Inc.