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.
- 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
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, andvx_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.
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.
- CPU: AMD64
- GPU: AMD Radeon™ Graphics [optional]
- Windows: Install the latest drivers and OpenCL SDK
- Linux: Install the ROCm Core SDK (ROCm
7.13or later)
- APU: AMD Radeon™
Mobile/Embedded[optional]
AMD OpenVX is built as part of the MIVisionX project.
- Refer to openvx/include/VX for Khronos OpenVX standard header files
- Refer to openvx/include/vx_ext_amd.h for AMD vendor extensions
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.
