GPU acceleration is a kind of hardware acceleration where the processing intensive workloads are offloaded to the graphics processing unit (GPU) while the remaining tasks are still carried out in CPU. GPU is a computer hardware chip designed for rapid calculations. It's able to process images faster than a CPU due to its parallel processing architecture. Developed by NVIDIA in 2007, GPU has evolved into a popular choice for resource-intensive tasks. By harnessing GPU capability, the video processing can be accelerated than CPU-only solutions. The power of GPU chips is widely used in processing 4K ultra HD, HD, and 3D videos on computers, game console, mobiles and other workstations.
Part 1: How Does GPU Video Transcoding Work?
What role does GPU acceleration play in the video processing? Though the heavy operations are offloaded to GPU, GPU alone can't finish the job. CPU is also involved in. To put it simply, it's kind of close cooperation between CPU and GPU which makes most of their advantages: CPU starts and ends the task, while GPU manages the heavy video decoding & encoding. Though there are two major GPU accelerated video transcoders- AMD and Nvidia NVENC hardware transcoding (see the last section), they work similarly.
The following figure may better illustrate the GPU transcode workfolow (Nvidia NVENC hardware transcoding):Step 1. After receiving the request from the software, CPU separates the compressed video files from the raw data and puts them into the system memory;
Step 2. Then the compressed video data will be transmitted to the graphic memory of GPU. The GPU comprises graphics, video, audio, and display capabilities, and it will carry out all the decoding, encoding and post-processing tasks. During this resource- and time-intensive process, CPU is freed up to provide sufficient compute capability for gaming or other tasks on computer.
Step 3. After the GPU video transcoder finishes the video processing, GPU sends the results back to CPU. Then CPU tells the software that the task is completed and the program outputs the transcoded file.
Part 2: Why Do You Need GPU Acceleration- GPU VS CPU Transcoding
We know how GPU acceleration works in transcoding, but there is one another question that may come up: why do we move the heavy tasks to GPU instead of CPU? That's the focus of this section.
1. Processing power
GPU and CPU are of significantly different architectures designed for different tasks.
A GPU. GPU has thousands of cores to offer massive parallel processing power for large amounts of data in many streams. It completes the video processing by performing simple operations on thousands of smaller, more efficient cores on GPU simultaneously. On the contrary, GPU is not good at dealing complicated tasks on a single or few streams of data. In other words, GPU is a special-purpose CPU which is mostly beneficial in high-resolution environments, especially for accelerating 2K or 4K UHD video processing.
B CPU. CPU has fewer cores than GPU, but each core is more efficient than that of GPU. It's much faster handling single or few streams of data, but not as good at handling multiple tasks simultaneously. In comparison, a CPU is like a worker who is fast for different jobs. A GPU is like a group of clone workers who are super fast in union, but created for the same tasks only.
2. GPU transcoding speed
Obiviously, GPU is faster than CPU for power-hungry workloads due to their respective architectures, but how fast is GPU hardware acceleration in video transcoding? It is reported that today's GPU is about 50 to 100 faster than CPU in parallel operations. What about GPU vs CPU video transcoding performance? Numbers paint a thousand words, let's check the test data.
A. GPU transcoding is much faster than CPU. Overall, GPU has a 2 to 3x faster speed under the same configurations. But that speed may vary on different computers. That being said, the higher the resolution, the greater the benefits will be realized from GPU-acceleration transcoding.
B. In GPU video transcoding, the CPU usage stays below 50%. While CPU usage shoots up to 80% to 100% when transcoding without GPU acceleration. The higher CPU load easily freezes the computer and leads to choppy results.
C. The video processing will utilize only a small part of GPU. Therefore, the performance difference between different GPUs is very small. Meanwhile, the impact of different CPU on GPU transcoding is not big either.
D. Upgrading CPU from 2 cores to 4 cores will see big performance boost. But if the CPU is not strong enough, or you can replace the CPU, GPU acceleration will always offer extra enhancements.
3. Advantages using GPU & CPU transcoding
The main differences between CPU and GPU acceleration in video transcoding are listed below. If you want to know more detailed information about the two methods, check GPU vs CPU encoding here.
- Faster video processing speed for H.264, H.265
- Less resource required
- More videos can be transcoded at the same time
- High-quality videos like 4K 8K HEVC videos can be processed smoothly
- The results will be sent to the display directly
Part 3: Acquiring GPU Accelerations - GPU Video Transcoders
Now there are many different GPU transcoding methods, and NVIDIA and AMD are the major players.
1. NVIDIA acceleration
NVIDIA GPUs are widely used by millions of programs for computationally-intensive tasks. It consists of three CUDA, NVENC, and NVDEC. NVIDIA acceleration supports GeForce, Tesla and Quadro graphics card series but different NVIDIA GPUs work with different codecs. The video decoding tech usedy by NVIDIA is called PureVideo, and the later PureVideo HD since GeForce 8 series. And since the introduction of NVIDIA's dedicated encode engine- NVENC in Kepler architecture, the 1080P video encoding speed is acceleratedy by 8x faster at real-time. Below is the video codec that different NVIDIA GPUs support:
For GTX 600 series or higher graphics cards, NVIDIA NVENC accelerates H.264 transcoding speed by 2-3 faster.
For GTX 950 series or higher graphics cards (Maxwell, GM20x), video processing gets a significant boost with NVIDIA GPUs processing H.264 and especially ultra HD 4K HEVC (h.265) videos. See details about NVDIA acceleration >>
2. Intel QSV
Both Nvidia and AMD offload the tasks to dedicated graphics card. However, Intel's hardware acceleration tech Quick Sync Video relies on its integrated graphics in the processor. The GPU hardware acceleration can be enabled on Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake and Kaby Lake models. All those generations accelerates H.264 encoding, and also vp8 (Haswell), H265 HEVC and VP9 (Skylake and later). By harnessing Intel's integrated graphics processing capability, Intel QSV is able to offload 50%-70% computation from CPU with 2-3x speedups when dealing with 4K HEVC H.265, HD 1080P H.264, 3D videos.
3. AMD APP
Unlike NVIDIA offloading most of the heavy work to GPU, AMD OpenCL™ Accelerated Parallel Processing (APP) makes GPU and CPU work together and accelerates the applications by utilizing the respective advantages of them. The video decoding module in AMD is called UVD (Universal Video Decoder) and the encoding module is VCE (Video Codec Engine ), which works like Intel's QuickSync acceleration. Till now, AMD UVD doesn't offer acceleration support for videos in 4K Ultra HD resolutions. The AMD APP Acceleration only support videos with H.264 codec on HD 7700 series or higher AMD graphics card.
Part 4: How to Gain GPU Accelerated Transcoding?
To enable the GPU acceleartions in video transcoding process, both the software and hardware should support the acceleration teches.
- Check your hardware- check if your processor is newer than the above mentioned model by Computer > Properties > System.
- Seek for a GPU transcoder that is able to ultilze GPU's power.
Look no further, here is the top-choice GPU accelerated video transcoder- MacX Video Converter Pro.
- It supports all the major GPU hardware acceleration teches, including Intel Quick Sync Video, Nvidia and AMD;
- It's the only program that support 3-Level hardware acceleration, namely HWDec, HW Processing and HWEnc;
- It's able to process videos of different resolutions from SD to 4K, 8K ultra HD, and different formats from HEVC, H.264 to MKV, MPEG, VP9 and more;
- Combination of hardware acceleration, high quality engine, Auto Copy, multi-core CPU (up to 8) and hyper-threading tech etc provides 5x faster speed.
Step 1: Download the GPU video transcoder on computer and launch it. Firstly, drage the source file into the interface, or click Add icon the load the source file. The transcoder will demux the file for further transcoding.
Step 2: Choose the output video format you'd like to have from the popup window. Make sure you have check the box of on the right lower corner of the interface.
Step 3: Simply hit Run botton. Then the GPU accelerated transcoder will automatically enable the hardware tech (Intel QSV, Nivida or AMD) to handle the video transcoding based on the operating syste, processor and video codecs. Optional editing features are also available if you need.
Step 4: After GPU processing is finished, the result file will be sent back to the transcoder for the final mux, which you don't need to know. Then it will tell you that the transcoding is done.