NVIDIA Performance Primitives


The NVIDIA Performance Primitives (NPP) is a library of over 5,000 primitives for image and signal processing, with this library you can easily perform tasks such as color conversion, image compression, filtering, thresholding, and image manipulation. NPP provides GPU-accelerated image, video, and signal-processing functions that perform up to 30X faster than CPU-only implementations.


Download Now

Decorative image showing an example of Euclidean Distance Transform (EDT) function

NPP example: Euclidean Distance Transform (EDT)

Use Cases

Industrial Inspection

Enhance industrial inspection efficiency and accuracy by rapidly processing high-volume imaging data to detect defects, ensure quality control, and streamline maintenance operations.

Medical Imaging

Help clinicians perform faster and more precise diagnostics with GPU-accelerated processing of complex imaging data for early detection and treatment planning.

Robotics

Enable real-time, GPU-accelerated image and signal processing for enhanced autonomous decision-making, precision in object recognition, and rapid environmental analysis

NPP Benefits

Scalable Performance

The NPP library optimizes the use of available computing resources so your application achieves maximum performance across data center, workstation, and embedded platforms. NPP can also handle highfidelity 10-bit or 12-bit HDR video (i.e. cooled sensor astrophotography).

Simple Setup

Ready-to-use, domain-specific, high-performance primitives feature a rich set of functions supporting a large variety of image formats. Drop-in replacement for the Intel Integrated Performance Primitives (IPP) CPU library. NPP accepts raw uncompressed image or signal data and supports multiple RGB and YUV image and video formats.

Flexible Design

Use as a stand-alone library to add GPU acceleration to your application in a matter of hours, or as a cooperative library for interoperating efficiently with your existing GPU code. It includes both low-level primitives and high-level capabilities.

Comparative Performance

A comparative performance chart of NVIDIA Performance Primitives (NPP) vs IPP
Test Setup
IPP 2018 running on an Intel Xeon Gold 6240@2GHz 3.9GHz Turbo (Cascade Lake) server with HT on; Ubuntu18.04 OS
GPU — Tesla T4(TU104) 1*16097 MiB 1*40 SM
Tesla V100-SXM2-32GB(GV100) 1*32510 MiB 1*80 SM
A100-SXM4-40GB(GA100) 1*40557 MiB 1*108 SM
CUDA Driver — 445.33 (r445_00), CUDA Toolkit 11.0
Speedup represents average bandwidth increase over all routines

NPP Operations and Functions

A comparative performance chart of NVIDIA Performance Primitives (NPP) vs IPP A comparative performance chart of NVIDIA Performance Primitives (NPP) vs IPP

NPP offers a broad range of over 5,000 operations and functions. Key categories include image color conversion, signal filtering, and image linear transforms. All categories of operations and functions:


  • Image Arithmetic and Logical Operations
  • Image Color Conversion Functions
  • Image Data Exchange and Initialization Functions
  • Image Filtering Functions
  • Image Geometry Transforms Functions
  • Image Linear Transforms Functions
  • Image Morphological Operations
  • Image Statistics Functions
  • Image Threshold and Compare Operations
  • Image Memory Management Functions
  • Signal Arithmetic and Logical Operations
  • Signal Conversion Functions
  • Signal Filtering Functions
  • Signal Initialization Functions
  • Signal Statistical Functions
  • Signal Memory Management Functions

Additional NPP Operations

If NPP isn’t the right library for your use case, check out other data processing libraries like CV-CUDA, DALI, VPI, or Optical Flow SDK.


Videos and Webinars

Get started with NVIDIA 2D Image and signal processing performance primitives (NPP).


Download