rpp
rpp copied to clipboard
AMD ROCm Performance Primitives (RPP) library is a comprehensive high-performance computer vision library for AMD processors with HIP/OpenCL/CPU back-ends.

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
Supported functionalities and variants


Supported 3D Functionalities Samples
| Input (nifti1 .nii medical image) |
fused_multiply_add_scalar (brightened 3D image) |
|---|---|
![]() |
![]() |
Prerequisites
-
Linux
- Ubuntu -
20.04/22.04 - CentOS -
7 - RedHat -
8/9 - SLES -
15-SP4
- Ubuntu -
-
Install ROCm with amdgpu-install with
--usecase=graphics,rocm --no-32 -
Clang Version
5.0.1and above- Ubuntu
20/22
sudo apt-get install clang- CentOS
7
sudo yum install llvm-toolset-7-clang llvm-toolset-7-clang-analyzer llvm-toolset-7-clang-tools-extra scl enable llvm-toolset-7 bash- RHEL
8/9
sudo yum install clang- SLES
15-SP4(useROCm LLVM Clang)
zypper -n --no-gpg-checks install clang update-alternatives --install /usr/bin/clang clang /opt/rocm-*/llvm/bin/clang 100 update-alternatives --install /usr/bin/clang++ clang++ /opt/rocm-*/llvm/bin/clang++ 100 - Ubuntu
-
CMake Version
3.5and above -
IEEE 754-based half-precision floating-point library (half.hpp)
halfpackage install
sudo apt-get install halfNote: Use appropriate package manager depending on the OS
-
Compiler with support for C++ Version
17and above -
OpenMP
-
Threads
Build and install instructions
Package install
Install RPP runtime, development, and test packages.
- Runtime package -
rpponly provides the rpp librarylibrpp.so - Development package -
rpp-dev/rpp-develprovides the library, header files, and samples - Test package -
rpp-testprovides 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.gitNote: RPP has support for two GPU backends: OPENCL and HIP:
-
Instructions for building RPP with the HIP GPU backend (default GPU backend):
mkdir build-hip cd build-hip cmake ../rpp make -j8 sudo make install- Run tests - test option instructions
make testNOTE: make test requires test suite prerequisites installed
-
Instructions for building RPP with OPENCL GPU 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 required to run tests
Verify with rpp-test package
Test package will install ctest module to test rpp. Follow below steps to test packge install
mkdir rpp-test && cd rpp-test
cmake /opt/rocm/share/rpp/test/
ctest -VV
Test Functionalities
To test the functionalities of RPP, run the code shown for your backend:
-
HIP
cd rpp/utilities/rpp-unittests/HIP_NEW ./testAllScript.sh -
OpenCL
cd rpp/utilities/rpp-unittests/OCL_NEW ./testAllScript.sh- CPU
cd rpp/utilities/rpp-unittests/HOST_NEW ./testAllScript.sh
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 - CentOS -
7 - RedHat -
8/9 - SLES -
15-SP4
- Ubuntu -
- ROCm: rocm-core -
5.7.0.50700-63 - OpenCV - 4.6.0

