Accelerating DreamWorks MoonRay on Azure using H-series VMs

This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Community Hub.

Authored by: Aimee Garcia, PM AI Benchmarking, Rick Shahid, Azure HPC Rendering Specialist, and Jon Shelley, Principal TPM Manager 

 

MoonRay is an open-source Monte Carlo Ray Tracing (MCRT) renderer that was developed by DreamWorks and has been utilized in all in-house feature films since How to Train Your Dragon: The Hidden World, including the recently released Puss In Boots: The Last Wish, as well as future titles. MoonRay has the capability to deliver a broad range of images while maintaining a focus on efficiency and scalability and includes a robust library of shaders and features, as well as a distributed computation framework which provides multi-machine rendering and is used to integrate MoonRay into applications. MoonRay is in continuous active development at DreamWorks.

 

H-series virtual machines (VMs) are designed to deliver leadership-class performance, scalability, and cost efficiency for various real-world workloads. The VM offerings are enabling our customers to accelerate their innovation by using the latest AMD CPU and NVIDIA Quantum InfiniBand network offerings (100 to 200 GB/s depending on VM type).

 

One of the capabilities that sets the HBv3-series VMs apart is the AMD EPYCTM 7v73X (codename: Milan-X) processors. The HBv3 delivers 1.5GB of L3 v-Cache per VM. This along with the additional memory bandwidth enables HPC applications to deliver faster run times at a reduced cost.

 

table.jpg

Table 1: Configuration of each HB-series VM benchmarked.

 

Obtaining MCRT (ray tracing) time on different scenes using Azure  

To obtain the benchmarking results, The kitchen and bathroom are physically based ray tracer (scenes that were introduced by the book Physically Based Rendering – they are designed to render modern realistic images. ALab was created by Animal Logic as a production scene for exploration. This scene was developed to be used in different environments, such as demonstrations and training materials.

 

table2.jpg

Table 2: Configuration of each model benchmarked.

 

To obtain the performance gains across the HB, HBv2 and HBv3 VM offerings, we looked at the MCRT (ray tracing) total render time in the output logs.

 

Scene rendering on a single socket versus a full machine

During benchmarking, we identified that the performance was significantly better when running on a single socket. To run on a job on a single socket we used numactl, which limits the cores and memory available. You could also achieve this by using containers or cgroups. By running the jobs on a single socket, we achieved more than 2x the throughput versus running a single job across the entire machine. We also saw similar behavior when rendering the kitchen pbrt and ALab scene. The results for the bathroom scene can be seen in Figure 1.

 

Bathroom 1 socket vs full machine.png

 

Figure 1: Performance comparison of HBv2 VM with 1 socket vs the full machine when rendering the bathroom scene using MoonRay on Azure.

 

Using MoonRay to render scenes on Azure

The graphs below show the average time to render results for HB, HBv2 and HBv3 VM offerings across the three scenes. For each rendered scene, we collected the MCRT (ray tracing) total render time in the output logs to gauge the performance on the different VMs when running two jobs consecutively on different sockets.

 

Kitchen pbrt graph 2.png

Figure 2: Performance and relative price comparison of HB, HBv2 and HBv3 series VMs when rendering the bathroom pbrt scene using MoonRay on Azure.

 

When rendering the kitchen pbrt scene (43.8 MB), we saw the performance on HBv3 decrease the average time to render by ~57% and lower the cost by ~41% when compared to the HB-series VM offering (3-4 year-old hardware).

 

Bathroom pbrt graph 2.png

Figure 3: Performance and relative price comparison of HB, HBv2 and HBv3 series VMs when rendering the bathroom pbrt scene using MoonRay on Azure.

 

When rendering the bathroom pbrt scene (67.5 MB), we saw the performance on HBv3 decrease the average time to render by ~57% and lower the cost by ~41% when compared to the HB-series VM offering (3-4 year-old hardware).

 

Alab.jpg

 

Figure 4: Performance and relative price comparison of HBv2 and HBv3 series VMs when rendering ALab using MoonRay on Azure.

 

For ALab, we compared the performance of HBv2 and HBv3. When rendering ALab (39 GB), we saw the performance on HBv3 decrease the average time to render by ~70% and lower the cost by ~83% when compared to the HB-series VM offering (3-4 year-old hardware).

 

Cutting edge rendering capabilities with new H-series technology

Using Azure’s H-series VMs, customers can reduce the time to render per MoonRay MCRT time simulation. When compared to 3–4 year-old technology (HB VMs), the HBv3-series VMs provide the fastest time-to-solution at the lowest cost per simulation. These performance gains on the HBv3 are due to additional memory bandwidth and performance improvements to the CPUs. The benchmarks show HBv3 VMs deliver between a 57-70% reduction in time and 41-83% reduction in cost when compared to HB VMs.

 

To learn how Azure can accelerate your image rendering simulations we invite you to check out the links below and contact your Microsoft account manager.

 

Additional Information

Resources

Note

  • The cost calculated was for spot instances. The price used in the calculations was the spot instance price on March 6th, 2023, in East US.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.