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.1
and 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.5
and above -
IEEE 754-based half-precision floating-point library (half.hpp)
-
half
package install
sudo apt-get install half
Note: Use appropriate package manager depending on the OS
-
-
Compiler with support for C++ Version
17
and above -
OpenMP
-
Threads
Build and install instructions
Package install
Install RPP runtime, development, and test packages.
- Runtime package -
rpp
only provides the rpp librarylibrpp.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:
-
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 test
NOTE: 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