Installation#

This chapter provides information about the installation of RPP and related packages.

Prerequisites#

  • Linux distribution

    • Ubuntu 20.04 or 22.04

    • CentOS 7

    • RedHat 8 or 9

    • SLES 15-SP4

  • ROCm supported hardware

  • 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 (use ROCm 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
      
  • 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#

The installation process uses the following steps:

Package install#

Install RPP runtime, development, and test packages.

  • Runtime package - rpp only provides the rpp library librpp.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 installation will auto install all dependencies.

On Ubuntu#

sudo apt install rpp rpp-dev rpp-test

On RHEL#

sudo yum install rpp rpp-devel rpp-test

On SLES#

sudo zypper install rpp rpp-devel rpp-test

Source build and install#

The process for installing is as follows:

  • 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
    
  • 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

Installation of test suite prerequisites is required to run tests

Verify with rpp-test package#

Test package will install ctest module to test rpp. Use the following steps to test the installation:

mkdir rpp-test && cd rpp-test
cmake /opt/rocm/share/rpp/test/
ctest -VV

Test RPP 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