Skip to content

Commit

Permalink
Package - Updates (#1420)
Browse files Browse the repository at this point in the history
* Package - Updates

* Changelog - Fix
  • Loading branch information
kiritigowda authored Sep 6, 2024
1 parent 45d94d6 commit b866e80
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 54 deletions.
74 changes: 58 additions & 16 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,47 @@
Documentation for MIVisionX is available at
[https://rocm.docs.amd.com/projects/MIVisionX/en/latest/doxygen/html/index.html](https://rocm.docs.amd.com/projects/MIVisionX/en/latest/doxygen/html/index.html)

## MIVisionX 3.0.0
## MIVisionX 3.1.0 (unreleased)

### Additions
### Changes
* Setup: rocdecode install disabled
* Package: rocdecode dependency removed

### Removals

### Optimizations

### Resolved issues

### Known issues
* Package install requires `OpenCV` manual install
* CentOS/RedHat/SLES requires `FFMPEG Dev` package manual install
* Hardware decode requires rocm usecase `graphics`

### Upcoming changes
* Optimized audio augmentations support for VX_RPP

### Tested configurations

* Windows `10` / `11`
* Linux distribution
+ Ubuntu - `20.04` / `22.04`
+ CentOS - `7`
+ RHEL - `8` / `9`
+ SLES - `15-SP5`
* ROCm: rocm-core - `6.3.0.60300`
* RPP - `1.9.0.60300`
* miopen-hip - `3.2.0.60300`
* migraphx - `2.11.0.60300`
* OpenCV - [4.6.0](https://github.com/opencv/opencv/releases/tag/4.6.0)
* FFMPEG - [n4.4.2](https://github.com/FFmpeg/FFmpeg/releases/tag/n4.4.2)
* Dependencies for all the above packages
* MIVisionX Setup Script - `V3.7.0`

## MIVisionX 3.0.0 for ROCm 6.3.0

### Changes

* Support for advanced GPUs
* Support for PreEmphasis Filter augmentation in openVX extensions
* Support for Spectrogram augmentation in openVX extensions
Expand All @@ -18,21 +55,31 @@ Documentation for MIVisionX is available at
* Support for Mel-Filter bank and Normalize augmentations in openVX extensions
* Tests - New Tests for all modules

### Removals

* rocAL: Deprecated with V3.0.0, rocAL will be available at https://github.com/ROCm/rocAL

### Optimizations

* Readme
* Setup - CentOS 7 support
* Setup - SLES 15 SP5 support
* FindPackage modules updated - FindMIVisionX

### Resolved issues

* MIVisionX compatibility fix - Resample and pre-emphasis filter
* Docs - fix broken image links

### Known issues

### Changes

* rocAL: Deprecated with V3.0.0, rocAL will be available at https://github.com/ROCm/rocAL

### Fixes

* Dependencies
* Setup bugfix
* Package install requires `OpenCV` manual install
* CentOS/RedHat/SLES requires `FFMPEG Dev` package manual install
* Hardware decode requires rocm usecase `graphics`

### Upcoming changes

* Optimized audio augmentations support for VX_RPP

### Tested configurations

Expand All @@ -51,11 +98,6 @@ Documentation for MIVisionX is available at
* Dependencies for all the above packages
* MIVisionX Setup Script - `V3.6.0`

### Known issues

* Package install requires `OpenCV V4.6` manual install
* CentOS/RedHat/SLES requires `FFMPEG Dev` package manual install

## MIVisionX 2.5.0

### Additions
Expand Down
29 changes: 14 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
cmake_minimum_required(VERSION 3.5)
set(VERSION "3.0.0")
set(VERSION "3.1.0")

# Set Project Version and Language
project(mivisionx VERSION ${VERSION} LANGUAGES CXX)
Expand Down Expand Up @@ -217,23 +217,22 @@ if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE})
endif()

# Set the dependent packages
set(MIVISIONX_DEBIAN_PACKAGE_LIST "rocm-hip-runtime, rpp, rocblas, miopen-hip, migraphx")
set(MIVISIONX_RPM_PACKAGE_LIST "rocm-hip-runtime, rpp, rocblas, miopen-hip, migraphx")
set(MIVISIONX_RUNTIME_PACKAGE_LIST "rocm-hip-runtime, rpp, rocblas, miopen-hip, migraphx")

# Set the dev dependent packages
set(MIVISIONX_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, half, rpp-dev, rocblas-dev, miopen-hip-dev, migraphx-dev, ffmpeg, libavcodec-dev, libavformat-dev, libavutil-dev, libswscale-dev")
set(MIVISIONX_DEBIAN_DEV_PACKAGE_LIST "half, rocm-hip-runtime-dev, rpp-dev, rocblas-dev, miopen-hip-dev, migraphx-dev, ffmpeg, libavcodec-dev, libavformat-dev, libavutil-dev, libswscale-dev")
# TBD - Some RPM packages need Fusion Packages - ffmpeg, libavcodec-devel, libavformat-devel, libavutil-devel, libswscale-devel
set(MIVISIONX_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, half, rpp-devel, rocblas-devel, miopen-hip-devel, migraphx-devel")
set(MIVISIONX_RPM_DEV_PACKAGE_LIST "half, rocm-hip-runtime-devel, rpp-devel, rocblas-devel, miopen-hip-devel, migraphx-devel")

# Add rocDecode Deps - Exclude centos-7
if (EXISTS "/etc/os-release")
file(READ "/etc/os-release" OS_RELEASE)
string(REGEX MATCH "CentOS-7" CENTOS_7_FOUND ${OS_RELEASE})
if(NOT CENTOS_7_FOUND)
set(MIVISIONX_DEBIAN_PACKAGE_LIST "${MIVISIONX_DEBIAN_PACKAGE_LIST}, rocdecode")
set(MIVISIONX_RPM_PACKAGE_LIST "${MIVISIONX_RPM_PACKAGE_LIST}, rocdecode")
set(MIVISIONX_DEBIAN_DEV_PACKAGE_LIST "${MIVISIONX_DEBIAN_DEV_PACKAGE_LIST}, rocdecode-dev")
set(MIVISIONX_RPM_DEV_PACKAGE_LIST "${MIVISIONX_RPM_DEV_PACKAGE_LIST}, rocdecode-devel")
endif()
#if(NOT CENTOS_7_FOUND) - Disable TBD: Turn on with package update
#set(MIVISIONX_RUNTIME_PACKAGE_LIST "${MIVISIONX_RUNTIME_PACKAGE_LIST}, rocdecode")
#set(MIVISIONX_DEBIAN_DEV_PACKAGE_LIST "${MIVISIONX_DEBIAN_DEV_PACKAGE_LIST}, rocdecode-dev")
#set(MIVISIONX_RPM_DEV_PACKAGE_LIST "${MIVISIONX_RPM_DEV_PACKAGE_LIST}, rocdecode-devel")
#endif()
endif()

# '%{?dist}' breaks manual builds on debian systems due to empty Provides
Expand All @@ -255,25 +254,25 @@ set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
# Debian package - COMPONENT
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core, ${MIVISIONX_DEBIAN_PACKAGE_LIST}")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_DEPENDS "rocm-core, ${MIVISIONX_RUNTIME_PACKAGE_LIST}")
set(CPACK_DEBIAN_DEV_PACKAGE_NAME "${PROJECT_NAME}-dev")
set(CPACK_DEBIAN_DEV_PACKAGE_DEPENDS
"rocm-core, ${CPACK_DEBIAN_RUNTIME_PACKAGE_NAME}, ${MIVISIONX_DEBIAN_DEV_PACKAGE_LIST}")
# Debian package - specific variable for ASAN
set(CPACK_DEBIAN_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" )
set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan, ${MIVISIONX_DEBIAN_PACKAGE_LIST}" )
set(CPACK_DEBIAN_ASAN_PACKAGE_DEPENDS "rocm-core-asan, ${MIVISIONX_RUNTIME_PACKAGE_LIST}" )
# Debian package - Test
set(CPACK_DEBIAN_TEST_PACKAGE_NAME "${PROJECT_NAME}-test" )
set(CPACK_DEBIAN_TEST_PACKAGE_DEPENDS "rocm-core, ${CPACK_DEBIAN_DEV_PACKAGE_NAME}" )
# RPM package - COMPONENT
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_RUNTIME_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core, ${MIVISIONX_RPM_PACKAGE_LIST}")
set(CPACK_RPM_RUNTIME_PACKAGE_REQUIRES "rocm-core, ${MIVISIONX_RUNTIME_PACKAGE_LIST}")
set(CPACK_RPM_DEV_PACKAGE_NAME "${PROJECT_NAME}-devel")
set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-core, ${CPACK_RPM_RUNTIME_PACKAGE_NAME}, ${MIVISIONX_RPM_DEV_PACKAGE_LIST}")
# RPM package - specific variable for ASAN
set(CPACK_RPM_ASAN_PACKAGE_NAME "${PROJECT_NAME}-asan" )
set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan, ${MIVISIONX_RPM_PACKAGE_LIST}" )
set(CPACK_RPM_ASAN_PACKAGE_REQUIRES "rocm-core-asan, ${MIVISIONX_RUNTIME_PACKAGE_LIST}" )
# RPM package specific variable for ASAN
set(CPACK_RPM_TEST_PACKAGE_NAME "${PROJECT_NAME}-test" )
set(CPACK_RPM_TEST_PACKAGE_REQUIRES "rocm-core, ${CPACK_RPM_DEV_PACKAGE_NAME}" )
Expand Down
40 changes: 20 additions & 20 deletions MIVisionX-setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

__copyright__ = "Copyright 2018 - 2024, AMD ROCm MIVisionX"
__license__ = "MIT"
__version__ = "3.6.0"
__version__ = "3.7.0"
__email__ = "[email protected]"
__status__ = "Shipping"

Expand Down Expand Up @@ -295,7 +295,7 @@ def ERROR_CHECK(call):
pipNNEFversion = "nnef==1.0.7"
if "VERSION_ID=7" in os_info_data or "VERSION_ID=8" in os_info_data:
pipNumpyVersion = "numpy==1.19.5"
pipNNEFversion = "protobuf==3.12.4" # TBD: NO NNEF Package for SLES
pipNNEFversion = "protobuf==3.12.4" # TBD: NO NNEF Package for RHEL 7/8
if "NAME=SLES" in os_info_data:
pipNumpyVersion = "numpy==1.19.5"
pipProtoVersion= "protobuf==3.19.5"
Expand Down Expand Up @@ -399,15 +399,15 @@ def ERROR_CHECK(call):
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
' '+linuxSystemInstall_check+' install -y '+ rppRPMPackages[i]))

# rocDecode
if "Ubuntu" in platfromInfo:
for i in range(len(rocdecodeDebianPackages)):
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
' '+linuxSystemInstall_check+' install -y '+ rocdecodeDebianPackages[i]))
elif "redhat-7" not in platfromInfo:
for i in range(len(rocdecodeRPMPackages)):
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
' '+linuxSystemInstall_check+' install -y '+ rocdecodeRPMPackages[i]))
# rocDecode - Disable -- TBD: Turn on with package update
# if "Ubuntu" in platfromInfo:
# for i in range(len(rocdecodeDebianPackages)):
# ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
# ' '+linuxSystemInstall_check+' install -y '+ rocdecodeDebianPackages[i]))
# elif "redhat-7" not in platfromInfo:
# for i in range(len(rocdecodeRPMPackages)):
# ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
# ' '+linuxSystemInstall_check+' install -y '+ rocdecodeRPMPackages[i]))

print("\nMIVisionX Dependencies Re-Installed with MIVisionX-setup.py V-"+__version__+" on "+platfromInfo+"\n")
exit()
Expand Down Expand Up @@ -494,15 +494,15 @@ def ERROR_CHECK(call):
else:
print("\nSTATUS: MIVisionX Setup: AMD VX RPP only supported with HIP backend\n")

# rocDecode
if "Ubuntu" in platfromInfo:
for i in range(len(rocdecodeDebianPackages)):
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
' '+linuxSystemInstall_check+' install -y '+ rocdecodeDebianPackages[i]))
elif "redhat-7" not in platfromInfo:
for i in range(len(rocdecodeRPMPackages)):
ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
' '+linuxSystemInstall_check+' install -y '+ rocdecodeRPMPackages[i]))
# rocDecode - Disable TBD: Turn on with package update
# if "Ubuntu" in platfromInfo:
# for i in range(len(rocdecodeDebianPackages)):
# ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
# ' '+linuxSystemInstall_check+' install -y '+ rocdecodeDebianPackages[i]))
# elif "redhat-7" not in platfromInfo:
# for i in range(len(rocdecodeRPMPackages)):
# ERROR_CHECK(os.system('sudo '+linuxFlag+' '+linuxSystemInstall +
# ' '+linuxSystemInstall_check+' install -y '+ rocdecodeRPMPackages[i]))

# Install ffmpeg
if ffmpegInstall == 'ON':
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,12 +309,12 @@ Review all notable [changes](CHANGELOG.md#changelog) with the latest release
* OpenCV - [4.6.0](https://github.com/opencv/opencv/releases/tag/4.6.0)
* FFMPEG - [n4.4.2](https://github.com/FFmpeg/FFmpeg/releases/tag/n4.4.2)
* Dependencies for all the above packages
* MIVisionX Setup Script - `V3.6.0`
* MIVisionX Setup Script - `V3.7.0`
### Known issues
* OpenCV 4.X support for some apps missing
* MIVisionX Package install requires manual prerequisites installation
* Package install `OpenCV` manual install
* Package install in `RHEL`/`SLES`/`CentOS` requires manual `FFMPEG Dev` install
## MIVisionX dependency map
Expand Down

0 comments on commit b866e80

Please sign in to comment.