RPP#

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


Supported 3D Functionalities Samples
| Input (nifti1 .nii medical image) | fused_multiply_add_scalar<br>(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
- Ubuntu -
Hardware
- CPU: AMD64
- GPU: AMD Radeon™ Graphics / AMD Instinct™ Accelerators
[!IMPORTANT]
- ROCm-supported hardware required for HIP backend
gfx908or higher GPU required
- Install ROCm
6.1.0or 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.1and abovesudo apt install clang
Libraries
- CMake Version
3.10and abovesudo apt install cmake - Half-precision floating-point library - Version
1.12.0or highersudo apt install half
[!IMPORTANT]
- Required compiler support
- C++17
- OpenMP
- Threads
- On Ubuntu 22.04 - Additional package required: libstdc++-12-dev
sudo apt install libstdc++-12-dev
>[!NOTE]
* All package installs are shown with the
aptpackage manager. Use the appropriate package manager for your operating system.
Installation instructions
The installation process uses the following steps:
- ROCm-supported hardware install verification
- Install ROCm
6.1.0or later with amdgpu-install with--usecase=rocm
[!IMPORTANT] Use either package install or source install as described below.
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
RHEL
SLES
Source build and install
- Clone RPP git repository
[!NOTE] RPP has support for two GPU backends: OPENCL and HIP:
HIP Backend
- Run tests - test option instructions
[!IMPORTANT]
make testrequires test suite prerequisites installed
OCL Backend
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
[!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
- Doxygen
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
- Ubuntu -
- 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