NVIDIA hardware acceleration can affect video processing in surprising ways. NVIDIA's CUDA-accelerated Adobe® Premiere® Pro CC offers up to 56x faster performance on video rendered exports - the speed also depends on your computer system and software version. Just take full advantages of NVIDIA GPU acceleration whether you are playing 3D content, transcoding HEVC video, or editing 4K UHD/8K HDR video. This page is all about NVIDIA hardware acceleration - CUDA, NVENC and NVDEC basics and performance comparison tests.
Fast Convert Videos with NVIDIA GPU Accelerated
MacX Video Converter Pro benefits a lot from NVIDIA CUDA/NVENC based hardware acceleration, which delivers average 5x video processing speedups and enhanced performance in 4K UHD HEVC videos trancoding, compression and editing.
Part 1. Popular NVIDIA GPU-accelerated Applications
Different from Intel's leading on HW accelerated performance, NVIDIA targets GPU-accelerated computing, which is vital for a wide range of compute-intensive tasks. Click GPU acceleration vs CPU acceleration to get a better understanding of GPU acceleration pros and cons if you have no idea about it. And most popular multimedia video processing applications that support both NVIDIA CUDA and NVENC acceleration include Adobe Premiere Pro, Adobe Media Encode, Photoshop, Autodesk 3ds Max, Media Composer, MacX Video Converter Pro, Final Cut Pro, and more.
Open source multimedia manipulation tool FFmpeg used by VLC Player and Plex Media Server is also intergraded with NVIDIA GPU hardware accelerated video processing.
Part 2. Video Encoding and Decoding with NVIDIA Hardware Acceleration
CUDA, NVENC, and NVDEC are the main technologies used by NVIDIA GPU. NVCUVENC for older video cards and drivers is deprecated and replaced by NVENC.
CUDA® was introduced in 2006 as a computing platform and programming. CUDA is used to deliver the merits of GPU acceleration and thus computing performance is dramatically improved. However, power consumption is increased if we use high-speed CUDA cores to process video encoding. CUDA-enabled products cover CUDA Toolkit, CUDA C/C++ programming language, and more. There are thousands of CUDA GPU accelerated applications, ranging from Adobe's Premiere Pro to Apple's Final Cut Pro.
- Supported codecs: H.264
- Operating system support: Windows (10, 801, 7), Mac (10.12), Linux
- Supported GPU: NVIDIA GeForce, Quadro, Tesla GPUs, and NVIDIA GRID solutions. Here's a full list of CUDA GPUs.
CUDA applications on NVIDIA GPUs deliver 2-5X faster performance than CPUs. Below is the test result from NVIDIA CUDA official report. Performance can be influenced by the computer system, applications versions etc. noted by NVIDIA.
- GPU: NVIDIA Tesla K80 and P100 (SXM2), Base locks, cube mesh topology (DGX-1)
- CUDA 8 GA with r361.79 (K80) and r361.96 (P100)
- CPU: Intel Xeon Broadwell dual socket 22-core with Ubuntu 14.04.3x86-64 and 256GB Memory.
The fastest CUDA-based video converter, MacX Video Converter Pro transcodes 3846x2160 4K video with up to 150fps on iMac of 2013 (16G 1600MHz memory, and NVIDIA GeForce GT755M 1GB graphics).
NVENC introduced in 2012 is one of the key features of NVIDIA's Video Codec SDK. It performs video hardware encoding. NVENC hardware accelerated encoder, the specialized circuitry for video encoding, is up to four times faster than CUDA encoding for newer graphics cards and consumes less power at the same time. Meantime, the quality of NVENC is the same as CUDA. According to NVIDIA's test, NVENC-based H.264 encoding is 5x faster than CPU-based x264 encoding by offloading compute-intensive task from CPU. Note that system, configuration and others may influence the performance result.
Supported codecs: H.264, H.265
Operating system support: Windows and Linux
Which graphics cards support NVENC: Quadro K420 and higher, GRID K1/K2/GRID K340/GRID K520, Tesla K10 and higher. Note that Quadro GP100 and Tesla P100 don't support NVENC-accelerated HEVC 8K encoding. NVENC hardware accelerated H.265 (HEVC) 4K lossless/8K encoding is only available on Quadro P400 and later and Tesla P4 and higher. NVENC-based H.264 hardware encoding works on all gens of NVIDIA GPUS.
NVENC-based Video Encoding Performance
From the H.264 video encoding performance table below, we get to know that NVENC hardware accelerated H.264 encoding is much faster than CPU based x264 encoding, and the former delivers little performance loss. But we can see that GPU accelerated encoder NVENC can be inefficient in quality per bitrate. If you have powerful enough CPU or multiple cores, x264 encoding would be better for stable recording and streaming.
In terms of H.265 encoding, the 2nd generation Maxwell GPU (Maxsun MS-GTX 960 2G graphics card) offers up to 480fps NVENC accelerated HEVC video encoding. FFmpeg with GPU featuring accelerated HEVC encoder gets 90fps speed increase, compared to encoding 4K UHD HEVC 10-bit video via CPU.
NVDEC (formally named as NVCUVID), a newer NVIDIA's VDPAU-successor, was initially part of the CUDA toolkit and then moved to the CUDA-based NVIDIA Video Codec SDK. NVDEC engine on NVIDIA GPUs decodes the input video bitstream in supported formats. Libav picked up NVDEC support first, then FFmpeg and GStreamer followed in 2017.
Supported codecs: MPEG-2, H.264, H.265, VP9, VP8, VC-1
The codec support depends on GPU architecture.
Operating system support: Windows and Linux
Which graphics cards support NVENC: Quadro K2000 and higher, GRID K1/K2/GRID K340/GRID K520, Tesla K10 and higher, the same as NVENC GPUs. Tesla V100/P100/M40/M60/M6/M4, Quadro M2000 and higher GPUs feature NVDEC HEVC decoding.
NVDEC GPU-accelerated Video Decoding
NVDEC hardware-based decoder offers much faster video decoding for MPEG-2, H.264, H.265 and VP9, VP8, as mentioned before. NVDEC is widely used for video processing applications, especially video transcoding and playback applications. Telsa P40 decode with up to 340 fps in 2560x1440 and 160fps in 3840x2160 thanks to NVDEC accelerated H.264 decoder. However, NVDEC HEVC decoding may fail to work as expected. Many users complain that NVDEC creates artifacts when decoding HEVC 10-bit video streams.
Part 3. NVIDIA GPU Acceleration Support
1. How do I know if my computer has CUDA or NVENC-accelerated GPU
First, find out which GPU your have on your computer. You have several ways to do this. The easiest way is shared below.
On Windows: If you have an NVIDIA GPU, you would see NVIDIA Control Center or NVIDIA Display after you right click on desktop. Click it and find GPU Info.
On macOS: Click Apple Menu > About this Mac > More Info > Contents > Graphics/Displays.
Then, Check the full list of CUDA GPUs, NVENC, and NVDEC support matrix and you should know whether you can enjoy NVIDIA hardware acceleration or not.
2. NVIDIA hardware acceleration crashes. What should I do?
Many users report Chrome/Firefox/NVIDIA drivers crash, freeze when NVIDIA GPU hardware acceleration is turned on.
The problem is properly caused older graphics cards or video cards that don't support hardware acceleration. Try the following steps to solve the issue.
1. Disable hardware acceleration.
2. Download and install the right NVIDIA drive.
3. I cannot enable NVIDIA hardware acceleration. What to do?
The reasons to "couldn't enable NVIDIA GPU acceleration" are properly incompatible/damaged or old graphics cards or out-of-date video cards. If you can't turn NVIDIA acceleration on, check if your GPU supports hardware acceleration or not by following steps above. If it does support, update to the latest video driver.