NVIDIA Rivermax SDK
Optimized networking SDK for media and data streaming applications.
NVIDIA® Rivermax® offers a unique IP-based solution for any media and data streaming use case. Rivermax together with NVIDIA GPU accelerated computing technologies unlocks innovation for a wide range of applications in Media and Entertainment (M&E), Broadcast, Healthcare, Smart Cities and more.
Rivermax leverages NVIDIA ConnectX® and BlueField® DPU hardware-streaming acceleration technology that enables direct data transfers to and from the GPU, delivering best-in-class throughput and latency with minimal CPU utilization for streaming workloads.
Rivermax is the only fully-virtualized streaming solution that complies with the stringent timing and traffic flow requirements of the SMPTE ST 2110-21 specification. Rivermax enables the future of cloud-based software-defined broadcasting.
Get Started
Performance Boost
Minimal dependency on CPU strength—frees up CPU cycles for application usage.
Learn More
Powerful & Flexible SDK
Unified streaming SDK glues together the NIC and GPU to enable interconnect, orchestration, and SMPTE ST 2110 specification compliance.
Learn More
Right On Time
It’s all about timing—utilizing ConnectX or the DPU family of nano-seconds accurate PTP.
Learn More
Performance Boost
- Kernel bypass technology – Hardware-based direct copy between an application’s user-space memory and the network interface
- Packet handling offloads by hardware
- GPUDirect—zero memory copy to GPU, reducing PCIe transactions, CPU usage, jitter and latency
- Hardware packet pacing for any data stream
- Single CPU core receives or sends 8 UHD 2160p60 or 32 FHD 1080p60 streams
- Performance scales linearly both in terms of CPU loading and network bandwidth
Achieving Higher Performance & Reducing CPU Utilization
Rivermax Vs. Linux Kernel - Transmit - Jetson Xavier [Arm]
10x better throughput
3x reduction CPU usage
Rivermax Vs. Linux Kernel - Transmit - x86 Server
15x better throughput
6x reduction CPU usage
Rivermax Vs. Windows Kernel - Receive - x86 Server
17x better throughput
Rivermax Vs. Linux Kernel - Receive - Xavier [Arm]
6x better throughput
4x reduction CPU usage
Enhances GPU Capabilities Through GPUDirect
Rivermax’s GPUDirect utilizes the high speed PCIe interface to pass the data directly to and from the GPU without burdening the CPU cores
- Rivermax with GPUDirect supports 8 streams of UHD 2160p60 with one CPU Core
- Saves CPU cycles and increases GPU processing capacity
- Zero Memory Copy to/from GPU
- 65% CPU reduction (for 10Gbps)
- Reduces PCIe transactions
- Reduces PCIe transactions
- Cuts processing latency
- Less CPU Cores = Lower overall power requirements
- Supported on Linux and Windows
* CPU Load for Receiving the Packets, MemCopy (for non GPUDirect) and RTP examination |
The novelty of RoCE/RDMA UDP/IP Multicast for media and data streaming
- Header Data Split with GPUDirect:
- Payload is received in GPU memory
- Headers are received in host memory
- GPU performs Color Space Conversion
- Video rendering on GPU memory
- Up to line rate - 8 X 2160p60
- Performance
- 1 PCIe transactions
- 0 Copy Operation
- 60FPS
- ~10.5Gbps
- CPU Load – 11%
Maximize GPU Capacity
Classic
Network handled by CPU and CPU-Memory
GPUDirect
Network goes directly to GPU memory
Powerful & Flexible SDK
- Same standardized cross-platform SDK for Linux and Windows, x86 and Arm CPU architectures
- Slim set of APIs to transmit and receive flows
- Provides a slim set of APIs to transmit and receive flows
- Straightforward API that meets the needs of any data streaming application
- Reference code for fast integration
- Data abstraction—API can be used to represent data in terms of frames/lines rather than individual network packets
- Cloud-ready—supports container and virtualization
- Easy integration with any PTP stack
- Reference examples include NMOS integration for management orchestration
- Compliance with SMPTE ST 2110 and ST 2022
- Seamless reconstruction in hardware of SMPTE ST 2022-7 redundant streams
Get Started
Right On Time
Advanced Timing and Synchronization
Rivermax leverages the Best-In-Class PTP solution for COTS network adapters
- Time-triggered scheduling
- PTP-based packet pacing
- PTP Features:
- IEEE 1588v2 (any profile)
- PTP Hardware Clock (PHC) (UTC format)
- 16 nsec accuracy
- Full line rate hardware timestamp (UTC format)
- 1 PPS In and configurable N PPS Out
- DOCA Firefly—DPU Time and Scheduling Service:
- Accurate timing for Windows, Linux bare metal and Virtualized environments
- Enable OS-agnostic PTP offloading
- Now available on NGC
Learn More
Our Partners
As our partners roll out new Rivermax-based full IP solutions rigorously tested in their labs, we’re excited to share the fruits of these collaborative investments with our customers and the market at large.
Latest Product News
Discover the Future of Broadcast With AI and Accelerated Computing
RivermaxDisplay Early Access
Turn any PC into a SMPTE ST 2110-compliant source with NMOS support.
Get Early AccessKAIROS | Panasonic
Ground-breaking software to maximize the CPU and GPU capacities for video processing.
Learn MoreSpectrum-X | Harmonic
The easy-to-deploy server that combines ingest with integrated channel playout capabilities for baseband and IP source.
Learn Morerx | disguise
Dedicated system for hosting third party render engines, enabling new possibilities for scale out rendering. Engineered for the future of virtual production.
Learn MoreRX1 | MediaKind
A multi-codec, multi-service, flexibly deployable professional receiver decoder specifically developed to meet the needs of the contribution market.
Learn MoreMedical AI | NVIDIA
Powering Ultra-High Speed Frame Rates in AI Medical Devices with the NVIDIA Clara Holoscan SDK
Learn MoreTITAN Edge | ateme
Low latency software solution - enables operators to compose multiple processing (Decoder, Gateway, Encoder) in a unique multi-connectivity software.
Learn MoreAlchemist Live | Grass Valley
Motion-compensated Frame rate Conversion for Live Media Streams. Leveraging NVIDIA GPU, ConnectX and Rivermax.
Learn MoreFlowCaster | Drastic
FlowCaster Rivermax Software SMPTE ST2110 for Adobe, Avid and Resolve.
Learn More8K IP Camera | Red Digital Cinema
NVIDIA and RED produce a live 8K R3D broadcast stream over SMPTE ST2110.
Learn MoreGTC Sessions
Thomas True & Nir Nitzani | NVIDIA
Ultra-High Performance Video Streaming Meets the GPU with NVIDIA Rivermax
Learn MoreMathias Blake | NVIDIA
Using Ethernet to Stream High-Throughput, Low-Latency Medical Sensor Data
Learn MoreJean-Baptiste Lorent | intoPIX
Introduction to the New JPEG XS Standard for Low-Latency, Visually Lossless Streaming in HD, 4K, and 8K
Learn MoreJack Dowd | 7th Sense Steve Hart | RT Software Nir Nitzani | NVIDIA
Accelerating Customers' Media Streaming Solutions on Windows Mar-2022
Learn MoreMichael Bergeron | Panasonic
KAIROS - Scalable software-defined real-time Production With ST 2110 Mar-2022
Learn MoreGeneral FAQ
Rivermax is a licensed closed-source library. An SDK is provided which includes example reference code and the API layer.
Rivermax supports Linux, Windows and Containerized/Virtualized environments like VMware and OpenStack. Rivermax can run on x86 or Arm architectures. ConnectX-6 Dx and Bluefield-2 are the main supported platforms.
The Rivermax SDK can be used by any data streaming application. Rivermax provides very high bandwidth, low latency, GPU-Direct and zero memory copy. Applications that need to support IP-Enabled TV Studio Media (SMPTE ST 2110) is a good example use case for the Rivermax SDK. Some popular use cases are: video broadcasting, video wall-display, high BW camera ingest, retail camera input analytics, healthcare DICOM-RTV and H264/5 compressed data.
Yes. Using Rivermax, each frame must be committed with a time parameter set to a system time value (in nanosecond resolution) stating when it must be sent.
The system time gets synchronized to a PTP GrandMaster using third party software. PTP time synchronization is supported for Linux, Windows over bare metal and virtualized environments.
Rivermax version 1.8 introduces accurate timing for Windows and virtualized environments using the BlueField-2 DPU.
Yes. Rivermax supports GPU-Direct over Ethernet IP/UDP.
This solution is highly optimized to move data between the NIC and the GPU directly without CPU intervention nor the need to transfer it via host memory.
Rivermax supports splitting and reconstructing headers and payload. This can be used to place headers in host memory while placing only the payload in GPU memory should an application choose to do so.
This enables having the payload contiguous in GPU memory and at the same time reduces CPU processing to a minimum.
GPU-Direct is supported on Linux and beginning with Rivermax version 1.8 on Windows.
Rivermax is “JT-NM Tested”. It has been tested for SMPTE ST 2110-20/30/40, 2022-7 compliance. Rivermax also supports ST2022-6 and ST 2110-31. The full report can be downloaded from the JT-NM.org:
https://jt-nm.org/jt-nm_tested/index.shtml
.
.
.
Resources
Technical Specifications
- NVIDIA Rivermax Datasheet [UPDATED] - The future of Media and Entertainment
- Full FAQ Document [updated 7-Dec-21]
Reference Designs
- Reference Design Guide: Rivermax Openstack SMPTE ST 2110 Media Streaming Cloud with Hardware Offload
Videos
- BC 2019 - PTP in virtualized media environment (by Alex Vainman)
- Eye on Rivermax- ConnectX & Rivermax Streaming UHD IP Video Has Never Been Easier
- Eye on Rivermax - Redefining Media in the cloud with Mellanox Rivermax
- NMOS - Ready, Steady, Go! Video Tutorial
- NMOS - Getting Started
IBC 2022 Highlights
- AI-Enabled IP-Based Workflows with NVIDIA Rivermax and NVIDIA Jetson
- Broadcast 8k video over ST 2110 in Real Time with RED Connect and NVIDIA Rivermax
Other
- Rivermax Linux Tuning Guide
- Rivermax Windows Tuning Guide
- AMD Tuning Guide
- JT-NM Tested - May-2020
- Rivermax License Generation Guidelines
Other
- Rivermax Linux Tuning Guide
- Rivermax Windows Tuning Guide
- AMD Tuning Guide
- JT-NM Tested - May-2020
- Rivermax License Generation Guidelines
Demos
Build any data stream solution using Rivermax SDK.