项目作者: GPUOpen-ProfessionalCompute-Libraries

项目描述 :
Radeon Performance Primitives (RPP) library is a comprehensive high performance computer vision library for AMD (CPU and GPU) with HIP and OpenCL back-ends.
高级语言: C++
项目地址: git://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp.git
创建时间: 2019-08-28T23:59:34Z
项目社区:https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp

开源协议:MIT License

下载


MIT licensed
doc

[!NOTE]
The published documentation is available at ROCm Performance Primitives (RPP) in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the docs folder of this repository. As with all ROCm projects, the documentation is open source. For more information on contributing to the documentation, see Contribute to ROCm documentation.

AMD ROCm Performance Primitives (RPP) library is a comprehensive, high-performance computer
vision library for AMD processors that have HIP, OpenCL, or CPU backends.

Latest release

GitHub tag (latest SemVer)

Supported functionalities and variants

Supported 3D Functionalities Samples

Input
(nifti1 .nii medical image)
fused_multiply_add_scalar
(brightened 3D image)

Supported audio functionalities and variants

  • Below are the list of audio functions supported
    • Non Silent Region Detection (HOST and HIP)
    • To Decibels (HOST and HIP)
    • Downmixing (HOST and HIP)
    • Preemphasis Filter (HOST and HIP)
    • Resample (HOST and HIP)
    • Mel Filter Bank (HOST and HIP)
    • Spectrogram (HOST and HIP)

Spectrogram kernel output represented as a image


Prerequisites

Operating Systems

  • Linux
    • Ubuntu - 22.04 / 24.04
    • RedHat - 8 / 9
    • SLES - 15-SP5

Hardware

[!IMPORTANT]

  • Install ROCm 6.1.0 or later with amdgpu-install: Required usecase:rocm

    [!IMPORTANT]
    sudo amdgpu-install --usecase=rocm

Compiler

  • AMD Clang++ Version 18.0.0 or later - installed with ROCm

    [!NOTE]

    • For CPU only backend use Clang Version 5.0.1 and above
      1. sudo apt install clang

Libraries

[!IMPORTANT]

  • Required compiler support
    • C++17
    • OpenMP
    • Threads
  • On Ubuntu 22.04 - Additional package required: libstdc++-12-dev
    1. sudo apt install libstdc++-12-dev

[!NOTE]

  • All package installs are shown with the apt package manager. Use the appropriate package manager for your operating system.

Installation instructions

The installation process uses the following steps:

[!IMPORTANT]
Use either package install or source install as described below.

Package install

Install RPP runtime, development, and test packages.

  • Runtime package - rpp only provides the rpp library librpp.so
  • Development package - rpp-dev/rpp-devel provides the library, header files, and samples
  • Test package - rpp-test provides CTest to verify installation

[!NOTE]
Package install will auto install all dependencies.

Ubuntu

  1. sudo apt install rpp rpp-dev rpp-test

RHEL

  1. sudo yum install rpp rpp-devel rpp-test

SLES

  1. sudo zypper install rpp rpp-devel rpp-test

Source build and install

  • Clone RPP git repository

    1. git clone https://github.com/ROCm/rpp.git

[!NOTE]
RPP has support for two GPU backends: OPENCL and HIP:

HIP Backend

  1. mkdir build-hip
  2. cd build-hip
  3. cmake ../rpp
  4. make -j8
  5. sudo make install

[!IMPORTANT]
make test requires test suite prerequisites installed

OCL Backend

  1. mkdir build-ocl
  2. cd build-ocl
  3. cmake -DBACKEND=OCL ../rpp
  4. make -j8
  5. sudo make install

Verify installation

The installer will copy

  • Libraries into /opt/rocm/lib
  • Header files into /opt/rocm/include/rpp
  • Samples, and test folder into /opt/rocm/share/rpp
  • Documents folder into /opt/rocm/share/doc/rpp

Verify with rpp-test package

Test package will install CTest module to test rpp. Follow below steps to test package install

  1. mkdir rpp-test && cd rpp-test
  2. cmake /opt/rocm/share/rpp/test/
  3. ctest -VV

[!IMPORTANT]
Test suite prerequisites are required to run tests

Test Functionalities

To test latest Image/Voxel/Audio/Miscellaneous functionalities of RPP using a python script please view AMD ROCm Performance Primitives (RPP) Test Suite

MIVisionX support - OpenVX extension

MIVisionX RPP extension
vx_rpp supports RPP functionality through the OpenVX Framework.

Technical support

For RPP questions and feedback, you can contact us at mivisionx.support@amd.com.

To submit feature requests and bug reports, use our
GitHub issues page.

Documentation

You can build our documentation locally using the following code:

  • Sphinx

    1. cd docs
    2. pip3 install -r .sphinx/requirements.txt
    3. python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
  • Doxygen

    1. doxygen .Doxyfile

Release notes

All notable changes for each release are added to our changelog.

Tested configurations

  • Linux distribution
    • Ubuntu - 22.04 / 24.04
    • RedHat - 8 / 9
    • SLES - 15-SP5
  • ROCm: rocm-core - 6.3.0.60300
  • CMake - Version 3.16.3+
  • AMD Clang++ - Version 18.0.0
  • half - IEEE 754-based half-precision floating-point library - Version 1.12.0 / package V1.12.0
  • OpenCV - 4.6.0