July 14, 2024 Hana Trieu

How to render with multiple GPUs in Redshift efficiently?

Redshift, a powerful GPU-accelerated renderer, can significantly speed up rendering times by utilizing multiple GPUs. But to get the most out of this powerful feature, you need to know the secrets of efficient multi-GPU rendering. In this article, we’ll explore the best way to render with multiple GPUs efficiently in Redshift, helping you reduce rendering times and boost productivity.

Redshift uses multiple GPUs for rendering

Redshift was developed by Nicolas Burtnyk, Panagiotis (Panos Zompolas), and Rob Slater of Redshift Rendering Technologies Inc., a California-based tech company founded in 2012. Initially released in 2014, Redshift was a biased production render engine designed to utilize NVIDIA GPUs. In 2019, Maxon, a German 3D software company – the developer of Cinema 4D acquired Redshift along with all the rights to its software product.

Redshift is a powerful GPU-accelerated render engine. It is built to meet the specific demands of contemporary high-end production rendering.

Circus by Tavo 

Redshift can be configured to utilize all compatible GPUs on your machine (the default) or any subset of those GPUs. It’s even possible to mix and match GPUs of different generations and memory configurations. Redshift supports a maximum of 8 GPUs per session.

Redshift multi-GPU scaling

When rendering in Redshift with multiple GPUs, there are two options:

    • Rendering a single frame by using all your GPUs
    • Rendering multiple frames at once by using a combination of GPUs

In some cases, rendering a single frame by using all available GPUs can’t produce a linear performance gain. For example, 4 GPUs can’t render an image 4 times faster than using 1 GPU. They can sometimes render about 3,6x faster.

Redshift 3.5.09 rendering performance scales across multi-RTX 4090 configurations (Source: Puget Systems)

Redshift does scale as additional GPUs are added to the system. However, the scaling is not linear; there are some levels of diminishing returns as more GPUs are added to a single system. The reason is that there is a certain amount of per-frame CPU processing involved that cannot be sped up by adding additional GPUs.

Let’s break it down to better understand:

Generally, a rendering process in Redshift consists of 3 phases after you hit the render button:

    1. Preparing the scene
    2. Render the scene
    3. Save the finished results and AOVs to storage

The second phase (the actual rendering phase) usually takes up the most time. A great thing about this phase is that it is easily parallelized, which means that Redshift makes great use of all the GPU cores to run through this phase. 

However, the first phase here – preparing the scene is the one that underutilizes the hardware. This phase is very dependent on the single-core performance of your CPU. Most of the calculations in this phase are single-threaded, meaning they can only be run on a single-core (CPU with many cores wouldn’t help). During this phase, the rest of your PC’s performance just sits and waits idly until it is done so it can ramp up and utilize the full potential of its resources.

An important note is that this preparation time is a fixed amount of time per frame. It doesn’t get longer if your overall rendering time is longer. As a result, if your frames take hours to render, a minute of preparation time is not much. But, if they just take a few minutes, a minute of preparation time will waste a lot of resources.

Rendering with multiple GPUs in Redshift the most efficiently

Instead of rendering a single frame using all the GPUs, we can render multiple frames at once to speed up the preparation time per GPU. If you have a computer with 8 GPUs, you can render 4 frames simultaneously, each frame using 2 GPUs. This method helps because when rendering multiple frames at once, you are forcing your CPU to do more work (for example, extracting multiple frames at once). This often improves the CPU-GPU performance ratio.

We can render multiple frames at once by using render managers, such as DeadlineDeadline supports this Redshift rendering option out of the box. In Deadline, there is a feature called “GPU affinity”. 

Source: docs.thinkboxsoftware.com

These GPU affinity settings can be used by Deadline’s application plugins to set the GPUs to use for the render if the job’s render engine supports it. GPU affinity settings are used by many plugins such as the Maya and Softimage plugins when a GPU-based render engine such as Redshift is being used. 

For example, if you have 3 Workers running on a machine with 6 GPUs, you can set their affinity so that Worker 1 uses GPUs 0 and 1, Worker 2 uses GPUs 2 and 3, and Worker 3 uses GPUs 4 and 5. When these Workers render Redshift jobs, they will pass the GPUs they want to use to Redshift so that each render only uses 2 GPUs.

Conclusion

What we usually render with Redshift in a multi-GPU computer is rendering a single frame by using all the available GPUs. For example, if you have an 8-GPU rig, you will have 8 GPUs working together to render one frame and then move on to the next frame in the frame sequence until the entire sequence is rendered. This method is not wrong, but it’s not the most efficient, especially, when the overall rendering time is just in a few minutes. Within the scene preparation time by the CPU, all of those 8 GPUs will sit idly, which wastes a lot of resources. 

A solution to this problem is to render multiple frames simultaneously. On a computer with 8 GPUs, we can use a render manager (like Deadline) to run 4 or 8 jobs at a time. Each of these jobs renders a frame in our image sequence, and each of these jobs has been assigned one of the GPUs so they don’t interfere. This way will help us utilize multiple GPUs efficiently to get the best multi-GPU scaling in Redshift.

iRender - The best render farm to speed up Redshift rendering

iRender powers up your creativity with unlimited GPU rendering resources. Our GPU render farm houses the most powerful 3D rendering machines. Configure from 1 to 8 GPU with top-tier RTX 4090/RTX 3090, Threadripper Pro CPUs, 256GB RAM and 2TB SSD storage – iRender’s machines can handle any Redshift project demands. 

Once you rent our machines, you will use them as your personal private workstations. Therefore, you can use Redshift with any software and plugin versions you want. 

As an official partner of Maxon, we currently provide pre-installed Cinema 4D and Redshift machines to streamline your pipeline further! Let’s explore how our service works:

Wondering how to estimate the rendering cost for your projects? This video will clarify:

This July, we are offering an attractive 100% Bonus Program for our new users making the first deposit within 24 hours of registration. As a result, you can effectively double your recharged credits.

Enjoy our FREE TRIAL to try our RTX 4090 machines and boost your Redshift rendering now!

For further information, please do not hesitate to contact us at [email protected] or mobile: +84915875500

 

iRender – Thank you & Happy Rendering!

Reference source: maxon.net, pugetsystems.com, thinkboxsoftware.com 

Related Posts

The latest creative news from Redshift Cloud Rendering.

, , , , , , , , , , , , , , , , , ,

Hana Trieu

iRender - Happy Rendering, Happy Training!
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Daz Studio
Maxwell
Omniverse
Nvidia Iray
Lumion
KeyShot
Unreal Engine
Twinmotion
Redshift
Octane
V-Ray
And many more…

iRENDER ECOSYSTEM

iRender Core – GPU Render Engine
Rynus – AI & Render Network
Chip Render Farm

iRENDER TEAM

MONDAY – SUNDAY
Hotline: (+84) 912-785-500
Skype: iRender Support
Email: [email protected]
Address 1: 68 Circular Road #02-01, 049422, Singapore.
Address 2: No.22 Thanh Cong Street, Hanoi, Vietnam.

Contact
[email protected]