RPP - V0.2
Pre-release
Pre-release
Radeon Performance Primitives Library
Radeon Performance Primitives (RPP) library is a comprehensive high-performance computer vision library for AMD (CPU and GPU) with HIP and OpenCL backend on the device side.
Release code checkout
git clone -b 0.2 https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp.git
Top level design
RPP is developed for Linux operating system.
Prerequisites
- Ubuntu
16.04
/18.04
- ROCm supported hardware
- ROCm
Functions Included
Image Augmentation Category
Enhancements
- Brightness modification
- Contrast modification
- Hue modification
- Saturation modification
- Color temperature modification
- Vignette effect
- Gamma Correction
- Histogram Balance
Self Driving Car Specs
- Exposure modifications
- Foggy
- Rainy
- Snowy
- RandomShadow
Geometric Distortion Nodes
- Rotate
- Warp-affine
- Flip (horizontally or vertically)
- Fish Eye Effect
- Lens correction
Other Augmentations
- Resize
- RandomResizeCrop
- Blending images
- Adding Occlusion
- Pixilation
- Adding Noise
- Blurring
- Adding Jitter
- RandomCropLetterBox
Vision Functions
- Absolute Difference
- Accumulate
- Accumulate Squared
- Accumulate Weighted
- Arithmetic Addition
- Arithmetic Subtraction
- Bilateral Filter
- Bitwise AND
- Bitwise EXCLUSIVE OR
- Bitwise INCLUSIVE OR
- Bitwise NOT
- Box Filter
- Canny Edge Detector
- Channel Combine
- Channel Extract
- Control Flow
- Convert Bit Depth
- Custom Convolution
- Data Object Copy
- Dilate Image
- Equalize Histogram
- Erode Image
- Fast Corners
- Gaussian Filter
- Gaussian Image Pyramid
- Harris Corners
- Histogram
- Integral Image
- LBP
- Laplacian Image Pyramid
- Magnitude
- MatchTemplate
- Max
- Mean and Standard Deviation
- Median Filter
- Min
- Min, Max Location
- Non-Linear Filter
- Non-Maxima Suppression
- Phase
- Pixel-wise Multiplication
- Reconstruction from a Laplacian Image Pyramid
- Remap
- Scale Image
- Sobel 3x3
- TableLookup
- Tensor Add
- Tensor Convert Bit-Depth
- Tensor Matrix Multiply
- Tensor Multiply
- Tensor Subtract
- Tensor TableLookUp
- Tensor Transpose
- Thresholding
- Warp Affine
- Warp Perspective
Variations
- Support for 3C(RGB) and 1C(Grayscale) images
- Planar and Packed
- Host and GPU
- Batch Processing with 26 variations
- ROI variations
- Padded Variations
Instructions to build the library
$ git clone https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp.git
$ cd rpp
$ mkdir build
$ cd build
$ cmake -DBACKEND=OCL .. #for OCL and HOST
or
$ cmake -DBACKEND=HIP -DCOMPILE=STATIC #for HIPSTATIC
or
$ cmake -DBACKEND=HIP -DCOMPILE=HSACOO #for HIPHSACOO
or
$ cmake -DBACKEND=HIP -DCOMPILE=HIPRTC #for HIPRTC
$ make -j4
$ sudo make install