Skip to content
forked from ROCm/rpp

Radeon Performance Primitives (RPP) library is a comprehensive high performance computer vision library for AMD (CPU and GPU) with HIP and OpenCL back-ends.

License

Notifications You must be signed in to change notification settings

fiona-gladwin/rpp

 
 

Repository files navigation

MIT licensed doc

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)

Prerequisites

Important

gfx908 or higher GPU required

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

Important

sudo amdgpu-install --usecase=rocm

  • CMake Version 3.5 and above

    sudo apt install cmake
  • Clang Version 5.0.1 and above

    sudo apt install clang
  • Half-precision floating-point library - Version 1.12.0 or higher

    sudo apt install half

Important

  • Compiler features required
    • C++17
    • OpenMP
    • Threads

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:

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

sudo apt install rpp rpp-dev rpp-test

RHEL

sudo yum install rpp rpp-devel rpp-test

SLES

sudo zypper install rpp rpp-devel rpp-test

Source build and install

  • Clone RPP git repository

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

Note

RPP has support for two GPU backends: OPENCL and HIP:

HIP Backend

mkdir build-hip
cd build-hip
cmake ../rpp
make -j8
sudo make install
make test

Note

make test requires test suite prerequisites installed

OCL Backend

mkdir build-ocl
cd build-ocl
cmake -DBACKEND=OCL ../rpp
make -j8
sudo make install

Verify installation

The installer will copy

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

Note

Test suite prerequisites install is required to run tests

Verify with rpp-test package

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

mkdir rpp-test && cd rpp-test
cmake /opt/rocm/share/rpp/test/
ctest -VV

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 [email protected].

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

Documentation

You can build our documentation locally using the following code:

  • Sphinx

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

    doxygen .Doxyfile

Release notes

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

Tested configurations

  • Linux distribution
    • Ubuntu - 20.04 / 22.04
    • RedHat - 8 / 9
    • SLES - 15-SP5
  • ROCm: rocm-core - 6.1.0.60100-64
  • OpenCV - 4.6.0

About

Radeon Performance Primitives (RPP) library is a comprehensive high performance computer vision library for AMD (CPU and GPU) with HIP and OpenCL back-ends.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.7%
  • C 2.5%
  • Python 0.4%
  • Shell 0.2%
  • CMake 0.2%
  • Groovy 0.0%