Skip to content

MIVisionX for ROCm 5.7.1

Compare
Choose a tag to compare
@kiritigowda kiritigowda released this 13 Oct 16:32
eadc76e

Online Documentation

MIVisionX Documentation

MIVisionX 2.5.0

Added

  • CTest - OpenVX Tests
  • Hardware Support

Optimizations

  • CMakeList Cleanup

Changed

  • rocAL - PyBind Link to prebuilt library
    • PyBind11
    • RapidJSON
  • Setup Updates
  • RPP Version - 1.2.0
  • Dockerfiles - Updates & bugfix

Fixed

  • rocAL bug fix and updates

Tested Configurations

  • Windows 10 / 11
  • Linux distribution
    • Ubuntu - 20.04 / 22.04
    • CentOS - 7 / 8
    • RHEL - 8 / 9
    • SLES - 15-SP4
  • ROCm: rocm-core - 5.7.0.50700-6
  • miopen-hip - 2.20.0.50700-63
  • migraphx - 2.7.0.50700-63
  • Protobuf - V3.12.4
  • OpenCV - 4.6.0
  • RPP - 1.2.0
  • FFMPEG - n4.4.2
  • Dependencies for all the above packages
  • MIVisionX Setup Script - V2.5.4

Known issues

  • OpenCV 4.X support for some apps missing
  • MIVisionX Package install requires manual prerequisites installation: some prerequisites for MIVisionX are build from source and do not have equivalent packages in linux. The user has to manually install these prerequisites. Instructions for these is given below.
    • Boost - Version 1.72.0
      wget https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2
      tar xjvf boost_1_72_0.tar.bz2
      cd ./boost_1_72_0/
      ./bootstrap.sh --prefix=/usr/local --with-python=python3
      ./b2 stage -j16 threading=multi link=shared cxxflags="-std=c++11"
      sudo ./b2 install threading=multi link=shared --with-system --with-filesystem
      ./b2 stage -j16 threading=multi link=static cxxflags="-std=c++11 -fpic" cflags="-fpic"
      sudo ./b2 install threading=multi link=static --with-system --with-filesystem
      
    • OpenCV - Version 4.6.0
      wget https://github.com/opencv/opencv/archive/4.6.0.zip
      unzip 4.6.0.zip
      mkdir -p build/OpenCV
      cd build/OpenCV
      cmake -D WITH_GTK=ON -D WITH_JPEG=ON -D BUILD_JPEG=ON -D WITH_OPENCL=OFF -D WITH_OPENCLAMDFFT=OFF -D WITH_OPENCLAMDBLAS=OFF -D WITH_VA_INTEL=OFF -D WITH_OPENCL_SVM=OFF  -D CMAKE_INSTALL_PREFIX=/usr/local ../../opencv-4.6.0
      make -j8
      make install
      ldconfig
      
    • FFMPEG - Version n4.4.2
    • Turbo JPEG installation - Version 2.0.6.1
      git clone -b 2.0.6.1 https://github.com/rrawther/libjpeg-turbo.git
      cd libjpeg-turbo && mkdir build && cd build
      cmake -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=RELEASE  \
        -DENABLE_STATIC=FALSE       \
        -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-2.0.3 \
        -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib  \
        ..
      make -j$nproc && sudo make install
      

MIVisionX Dependency Map

HIP Backend

Docker Image: sudo docker build -f docker/ubuntu20/{DOCKER_LEVEL_FILE_NAME}.dockerfile -t {mivisionx-level-NUMBER} .

  • #c5f015 new component added to the level
  • #1589F0 existing component from the previous level
Build Level MIVisionX Dependencies Modules Libraries and Executables Docker Tag
Level_1 cmake
gcc
g++
amd_openvx
utilities
#c5f015 libopenvx.so - OpenVX™ Lib - CPU
#c5f015 libvxu.so - OpenVX™ immediate node Lib - CPU
#c5f015 runvx - OpenVX™ Graph Executor - CPU with Display OFF
Docker Image Version (tag latest semver)
Level_2 ROCm HIP
+Level 1
amd_openvx
amd_openvx_extensions
utilities
#c5f015 libopenvx.so - OpenVX™ Lib - CPU/GPU
#c5f015 libvxu.so - OpenVX™ immediate node Lib - CPU/GPU
#c5f015 runvx - OpenVX™ Graph Executor - Display OFF
Docker Image Version (tag latest semver)
Level_3 OpenCV
FFMPEG
+Level 2
amd_openvx
amd_openvx_extensions
utilities
#1589F0 libopenvx.so - OpenVX™ Lib
#1589F0 libvxu.so - OpenVX™ immediate node Lib
#c5f015 libvx_amd_media.so - OpenVX™ Media Extension
#c5f015 libvx_opencv.so - OpenVX™ OpenCV InterOp Extension
#c5f015 mv_compile - Neural Net Model Compile
#c5f015 runvx - OpenVX™ Graph Executor - Display ON
Docker Image Version (tag latest semver)
Level_4 MIOpenGEMM
MIOpen
ProtoBuf
+Level 3
amd_openvx
amd_openvx_extensions
apps
utilities
#1589F0 libopenvx.so - OpenVX™ Lib
#1589F0 libvxu.so - OpenVX™ immediate node Lib
#1589F0 libvx_amd_media.so - OpenVX™ Media Extension
#1589F0 libvx_opencv.so - OpenVX™ OpenCV InterOp Extension
#1589F0 mv_compile - Neural Net Model Compile
#1589F0 runvx - OpenVX™ Graph Executor - Display ON
#c5f015 libvx_nn.so - OpenVX™ Neural Net Extension
Docker Image Version (tag latest semver)
Level_5 AMD_RPP
rocAL deps
+Level 4
amd_openvx
amd_openvx_extensions
apps
rocAL
utilities
#1589F0 libopenvx.so - OpenVX™ Lib
#1589F0 libvxu.so - OpenVX™ immediate node Lib
#1589F0 libvx_amd_media.so - OpenVX™ Media Extension
#1589F0 libvx_opencv.so - OpenVX™ OpenCV InterOp Extension
#1589F0 mv_compile - Neural Net Model Compile
#1589F0 runvx - OpenVX™ Graph Executor - Display ON
#1589F0 libvx_nn.so - OpenVX™ Neural Net Extension
#c5f015 libvx_rpp.so - OpenVX™ RPP Extension
#c5f015 librocal.so - Radeon Augmentation Library
#c5f015 rocal_pybind.so - rocAL Pybind Lib
Docker Image Version (tag latest semver)

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