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.
Input (nifti1 .nii medical image) |
fused_multiply_add_scalar (brightened 3D image) |
---|---|
- 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
-
Linux
- Ubuntu -
22.04
/24.04
- RedHat -
8
/9
- SLES -
15-SP5
- Ubuntu -
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.10
and abovesudo apt install cmake
-
AMD Clang++ Version 18.0.0 or later - installed with ROCm
Note
- For CPU only backend use Clang Version
5.0.1
and abovesudo apt install clang
- Half-precision floating-point library - Version
1.12.0
or highersudo apt install half
Important
- Compiler features required
- C++17
sudo apt install libstdc++-12-dev
- OpenMP
sudo apt install libomp-dev
- Threads
- C++17
Note
- All package installs are shown with the
apt
package manager. Use the appropriate package manager for your operating system.
The installation process uses the following steps:
-
ROCm-supported hardware install verification
-
Install ROCm
6.1.0
or later with amdgpu-install with--usecase=rocm
Important
Use either package install or source install as described below.
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.
sudo apt install rpp rpp-dev rpp-test
sudo yum install rpp rpp-devel rpp-test
sudo zypper install rpp rpp-devel rpp-test
-
Clone RPP git repository
git clone https://github.com/ROCm/rpp.git
Note
RPP has support for two GPU backends: OPENCL and HIP:
mkdir build-hip
cd build-hip
cmake ../rpp
make -j8
sudo make install
- Run tests - test option instructions
make test
Important
make test
requires test suite prerequisites installed
mkdir build-ocl
cd build-ocl
cmake -DBACKEND=OCL ../rpp
make -j8
sudo make install
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
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
Important
Test suite prerequisites are required to run tests
To test latest Image/Voxel/Audio/Miscellaneous functionalities of RPP using a python script please view AMD ROCm Performance Primitives (RPP) Test Suite
MIVisionX RPP extension vx_rpp supports RPP functionality through the OpenVX Framework.
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.
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
All notable changes for each release are added to our changelog.
- 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.60200
- OpenCV - 4.6.0