{"id":18711261,"url":"https://github.com/rocm/rpp","last_synced_at":"2025-04-11T18:51:41.673Z","repository":{"id":37382284,"uuid":"205044193","full_name":"ROCm/rpp","owner":"ROCm","description":"AMD ROCm Performance Primitives (RPP) library is a comprehensive high-performance computer vision library for AMD processors with HIP/OpenCL/CPU back-ends.","archived":false,"fork":false,"pushed_at":"2025-04-09T18:41:07.000Z","size":122200,"stargazers_count":60,"open_issues_count":5,"forks_count":43,"subscribers_count":15,"default_branch":"develop","last_synced_at":"2025-04-09T18:41:41.522Z","etag":null,"topics":["agumentation","amd","bitwise","channel-extract","computer-vision","contrast","cpu","gpu","hip","histogram","hpc","mivisionx","opencl","openvx","radeon-performance-primitives","rocm","rpp","warp-affine"],"latest_commit_sha":null,"homepage":"https://rocm.docs.amd.com/projects/rpp/en/latest/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ROCm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-28T23:59:34.000Z","updated_at":"2025-04-09T17:31:51.000Z","dependencies_parsed_at":"2023-02-10T11:31:18.854Z","dependency_job_id":"433bc4dc-161f-45fc-aee3-ba680411d202","html_url":"https://github.com/ROCm/rpp","commit_stats":null,"previous_names":["rocm/rpp","gpuopen-professionalcompute-libraries/rpp"],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2Frpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2Frpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2Frpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ROCm%2Frpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ROCm","download_url":"https://codeload.github.com/ROCm/rpp/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248464265,"owners_count":21108238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agumentation","amd","bitwise","channel-extract","computer-vision","contrast","cpu","gpu","hip","histogram","hpc","mivisionx","opencl","openvx","radeon-performance-primitives","rocm","rpp","warp-affine"],"created_at":"2024-11-07T12:38:17.976Z","updated_at":"2025-04-11T18:51:41.664Z","avatar_url":"https://github.com/ROCm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![doc](https://img.shields.io/badge/doc-readthedocs-blueviolet)](https://gpuopen-professionalcompute-libraries.github.io/rpp/)\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"70%\" src=\"https://github.com/ROCm/rpp/raw/master/docs/data/AMD_RPP_logo.png\" /\u003e\u003c/p\u003e\n\n\n\u003e [!NOTE]\n\u003e The published documentation is available at [ROCm Performance Primitives (RPP)](https://rocm.docs.amd.com/projects/rpp/en/latest/index.html) 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](https://rocm.docs.amd.com/en/latest/contribute/contributing.html).\n\nAMD ROCm Performance Primitives (RPP) library is a comprehensive, high-performance computer\nvision library for AMD processors that have `HIP`, `OpenCL`, or `CPU` backends.\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"35%\" src=\"https://github.com/ROCm/rpp/raw/master/docs/data/rpp_structure_4.png\" /\u003e\u003c/p\u003e\n\n#### Latest release\n[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/GPUOpen-ProfessionalCompute-Libraries/rpp?style=for-the-badge)](https://github.com/ROCm/rpp/releases)\n\n## Supported functionalities and variants\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"90%\" src=\"https://github.com/ROCm/rpp/raw/master/docs/data/supported_functionalities.png\" /\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"90%\" src=\"https://github.com/ROCm/rpp/raw/master/docs/data/supported_functionalities_samples.jpg\" /\u003e\u003c/p\u003e\n\n### Supported 3D Functionalities Samples\n\nInput\u003cbr\u003e(nifti1 .nii medical image) | fused_multiply_add_scalar\u003cbr\u003e(brightened 3D image)\n:-------------------------:|:-------------------------:\n![](docs/data/niftiInput.gif)  |  ![](docs/data/niftiOutputBrightened.gif)\n\n## Supported audio functionalities and variants\n* Below are the list of audio functions supported\n  * Non Silent Region Detection (HOST and HIP)\n  * To Decibels (HOST and HIP)\n  * Downmixing (HOST and HIP)\n  * Preemphasis Filter (HOST and HIP)\n  * Resample (HOST and HIP)\n  * Mel Filter Bank (HOST and HIP)\n  * Spectrogram (HOST and HIP)\n\nSpectrogram kernel output represented as a image \u003cbr\u003e\u003cbr\u003e\n![](docs/data/spectrogramOutput.png)\n  \n## Prerequisites\n\n### Operating Systems\n* Linux\n  * Ubuntu - `22.04` / `24.04`\n  * RedHat - `8` / `9`\n  * SLES - `15-SP5`\n\n### Hardware\n* **CPU**: [AMD64](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html)\n* **GPU**: [AMD Radeon\u0026trade; Graphics](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) / [AMD Instinct\u0026trade; Accelerators](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html)\n\n\u003e [!IMPORTANT] \n\u003e * [ROCm-supported hardware required for HIP backend](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html)\n\u003e * `gfx908` or higher GPU required\n\n* Install ROCm `6.1.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html): **Required** usecase:`rocm`\n\u003e [!IMPORTANT]\n\u003e `sudo amdgpu-install --usecase=rocm`\n\n### Compiler\n* AMD Clang++ Version 18.0.0 or later - installed with ROCm\n\u003e [!NOTE]\n\u003e * For CPU only backend use Clang Version `5.0.1` and above\n\u003e   ```shell\n\u003e    sudo apt install clang\n\u003e   ```\n\n### Libraries\n* CMake Version `3.10` and above\n  ```shell\n  sudo apt install cmake\n  ```\n* [Half-precision floating-point](https://half.sourceforge.net) library - Version `1.12.0` or higher\n  ```shell\n  sudo apt install half\n  ```\n\n\u003e [!IMPORTANT]\n\u003e * Required compiler support\n\u003e   * C++17\n\u003e   * OpenMP\n\u003e   * Threads\n\u003e * On Ubuntu 22.04 - Additional package required: libstdc++-12-dev\n\u003e  ```shell\n\u003e  sudo apt install libstdc++-12-dev\n\u003e  ```\n\n\n\u003e[!NOTE]\n\u003e * All package installs are shown with the `apt` package manager. Use the appropriate package manager for your operating system.\n\n## Installation instructions\n\nThe installation process uses the following steps:\n\n* [ROCm-supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) install verification\n\n* Install ROCm `6.1.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html) with `--usecase=rocm`\n\n\u003e [!IMPORTANT]\n\u003e Use **either** [package install](#package-install) **or** [source install](#source-install) as described below.\n\n### Package install\n\nInstall RPP runtime, development, and test packages.\n* Runtime package - `rpp` only provides the rpp library `librpp.so`\n* Development package - `rpp-dev`/`rpp-devel` provides the library, header files, and samples\n* Test package - `rpp-test` provides CTest to verify installation\n\n\u003e [!NOTE]\n\u003e Package install will auto install all dependencies.\n\n#### Ubuntu\n\n```shell\nsudo apt install rpp rpp-dev rpp-test\n```\n\n#### RHEL\n\n```shell\nsudo yum install rpp rpp-devel rpp-test\n```\n\n#### SLES\n\n```shell\nsudo zypper install rpp rpp-devel rpp-test\n```\n\n### Source build and install\n\n* Clone RPP git repository\n\n  ```shell\n  git clone https://github.com/ROCm/rpp.git\n  ```\n\n\u003e [!NOTE]\n\u003e RPP has support for two GPU backends: **OPENCL** and **HIP**:\n\n#### HIP Backend\n\n  ```shell\n  mkdir build-hip\n  cd build-hip\n  cmake ../rpp\n  make -j8\n  sudo make install\n  ```\n\n  + Run tests - [test option instructions](https://github.com/ROCm/MIVisionX/wiki/CTest)\n\n  ```shell\n  make test\n  ```\n\n\u003e [!IMPORTANT]\n\u003e `make test` requires [test suite prerequisites](utilities/test_suite/README.md) installed\n\n#### OCL Backend\n\n  ```shell\n  mkdir build-ocl\n  cd build-ocl\n  cmake -DBACKEND=OCL ../rpp\n  make -j8\n  sudo make install\n  ```\n\n## Verify installation\n\nThe installer will copy\n\n* Libraries into `/opt/rocm/lib`\n* Header files into `/opt/rocm/include/rpp`\n* Samples, and test folder into `/opt/rocm/share/rpp`\n* Documents folder into `/opt/rocm/share/doc/rpp`\n\n### Verify with rpp-test package\n\nTest package will install CTest module to test rpp. Follow below steps to test package install\n\n```shell\nmkdir rpp-test \u0026\u0026 cd rpp-test\ncmake /opt/rocm/share/rpp/test/\nctest -VV\n```\n\u003e [!IMPORTANT]\n\u003e [Test suite prerequisites](utilities/test_suite#prerequisites) are required to run tests\n\n## Test Functionalities\n\nTo test latest Image/Voxel/Audio/Miscellaneous functionalities of RPP using a python script please view [AMD ROCm Performance Primitives (RPP) Test Suite](utilities/test_suite/README.md)\n\n## MIVisionX support - OpenVX extension\n\n[MIVisionX](https://github.com/ROCm/MIVisionX) RPP extension\n[vx_rpp](https://github.com/ROCm/MIVisionX/tree/master/amd_openvx_extensions/amd_rpp#amd-rpp-extension) supports RPP functionality through the OpenVX Framework.\n\n## Technical support\n\nFor RPP questions and feedback, you can contact us at `mivisionx.support@amd.com`.\n\nTo submit feature requests and bug reports, use our\n[GitHub issues](https://github.com/ROCm/rpp/issues) page.\n\n## Documentation\n\nYou can build our documentation locally using the following code:\n\n* Sphinx\n\n  ```bash\n  cd docs\n  pip3 install -r .sphinx/requirements.txt\n  python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html\n  ```\n\n* Doxygen\n\n  ```bash\n  doxygen .Doxyfile\n  ```\n\n## Release notes\n\nAll notable changes for each release are added to our [changelog](CHANGELOG.md).\n\n## Tested configurations\n\n* Linux distribution\n  * Ubuntu - `22.04` / `24.04`\n  * RedHat - `8` / `9`\n  * SLES - `15-SP5`\n* ROCm: rocm-core - `6.3.0.60300`\n* CMake - Version `3.16.3`+\n* AMD Clang++ - Version `18.0.0`\n* half - IEEE 754-based half-precision floating-point library - Version `1.12.0` / package V`1.12.0`\n* OpenCV - [4.6.0](https://github.com/opencv/opencv/releases/tag/4.6.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Frpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocm%2Frpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocm%2Frpp/lists"}