Page Contents ×

This page will help you configure V-Ray for GPU rendering. For help with common questions, please see the V-Ray GPU Frequently Asked Questions page.

 

Overview


V-Ray GPU is a render engine on its own. It is specifically designed to take advantage of your GPU device(s) to boost the speed and performance of the renderer. GPU rendering allows V-Ray to perform the raytracing calculations on the GPUs installed in the system, rather than the CPU. Since GPUs are specifically designed for massively parallel calculations, they can speed up the rendering process by an order of magnitude.

In addition, you can also use it in combination with your CPU device. This is the so called Hybrid rendering – when the V-Ray GPU engine performs raytracing calculations with the CPU, or simultaneously with both the CPU and GPU devices of your computer.

V-Ray GPU supports a variety of features and even more features are added with time. Although it shares the same user interface as the V-Ray engine, V-Ray GPU differs from the regular V-Ray engine in the way it performs certain calculations. Comparing the results of both engines will never come to a one-to-one match, although it may look quite close. Furthermore, it is not the goal for them to be the same.

This is why, it is strongly recommended to not switch between engines in the middle of your project - if you start setting up a scene with the regular V-Ray engine, use it for the entire project. The render settings will only show the available options and your scene will be optimized for GPU rendering.

V-Ray GPU can be used as a production render or in interactive mode to quickly preview scene changes. It also supports both the Progressive and Bucket Image Samplers.

To enable GPU rendering, select the GPU Engine option in the Renderer rollout of the V-Ray Asset Editor's Settings tab. You can use it with both Progressive and Bucket Sampler types.

 


Why V-Ray GPU?


V-Ray GPU has a number of advantages:

  • Graphics cards often outperform CPU devices when it comes to processing parallel tasks, such as raytracing;
  • A single machine can host multiple GPU devices but in most cases only a single CPU;
  • Hybrid rendering allows maximum hardware utilization by harnessing the computing power of both GPU and CPU devices;
  • V-Ray GPU has all the required features to be production ready;

V-Ray CPU advantages:

  • Allows rendering complex scenes requiring a substantial amount of memory;
  • Supports all V-Ray features;
  • Does not pre-occupy single-GPU machines during rendering

Supported Hardware and Drivers


V-Ray GPU offers rendering with NVIDIA CUDA platform.

Below is a list of tests we have performed and the results:

  • NVIDIA – For NVIDIA GPUs always prefer using CUDA, since it runs faster and has more supported features. The CUDA engine is supported only in 64-bit builds of V-Ray for Maxwell-, Pascal-, Turing- or Volta-based NVIDIA cards.
  • Hybrid Rendering (running CUDA on GPU and CPU): Starting with V-Ray 3.6, V-Ray GPU CUDA rendering can be performed on CPUs and NVIDIA GPUs at the same time. Using the Select Devices for V-Ray GPU Rendering you can enable your CPUs as CUDA devices and allow the CUDA code to combine your CPUs and GPUs to utilize all available resources.

Rendering on multiple GPUs is supported and by default IPR for GPU will use all available CUDA devices. See the sections below how to choose devices to run IPR GPU on.

 

If V-Ray GPU cannot find a supported GPU device on the system, it will silently fall back to CPU code. To see if the V-Ray render server is really rendering on the GPU, check out its console output.

When rendering, the V-Ray progress log provides information about your current driver version. If the version is not compatible with V-Ray GPU, you will find a message with the recommended version.

 

Unsupported driver version and recommendation to upgrade

 

Тo use NVLINK on supported hardware, NVLINK devices must be set to TCC mode. This is recommended for Pascal, Volta and Turning-based Quadro models. For GeForce RTX cards, a SLI setup is sufficient. Also note that to prevent performance loss, not all data is shared between devices.

Though GPU rendering with CUDA on MacOS devices is no longer supported, the advanced users can bring back the old behavior by using the following environment variable: VRAY_APPSDK_UNHIDE_DEVICES=1. Chaos Group does not guarantee the functionality and quality of the GPU engine if you choose to proceed with using this environment variable. 

Choosing Which Devices to Use for Rendering


You may not want to use all available GPU devices for rendering, especially if you have multiple GPUs and you want to leave one of them free for working on the user interface or you may want to combine your CPU and GPU together (see the Hybrid Rendering section below).

There are two ways to do this: by using the supplied standalone device selection tool, accessible from both the V-Ray Tools menu and the Start menu search, or from the Asset Editor's GPU device dropdown list.

When selecting devices from the standalone tool, that will set the default setup for the work station. After changing this option, you need to restart SketchUp and/or any Standalone DR servers (if any are running) for the changes to take effect. If the Standalone DR server is running as a service, you may need to restart it.

The GPU Device Selection tool is not available on Mac OS X.

When choosing the devices from the Asset Editor - it is done only for the current session in SketchUp.


 

SketchUp menu Extensions > V-Ray > Tools > GPU Device Selection

Windows Start Menu > Chaos Group > GPU Device Selection

Asset Editor > Settings > Render > GPU device list dropdown

 

If you see your CPU listed twice, choose the option with "C++/CPU " in the name.

Hybrid Rendering with CPUs and the CUDA Engine


Starting in 3.60, V-Ray GPU can perform hybrid rendering with the CUDA engine utilizing both the CPU and NVIDIA GPUs. V-Ray can now execute the CUDA source on the CPU, as though the CPU was another CUDA device. To enable the hybrid rendering mode, simply enable the C++/CPU device from the list of CUDA devices.

The hybrid rendering mode does not require any special drivers. Furthermore, you can use the CPU as a CUDA device even if you don't have an NVIDIA GPU and/or NVIDIA drivers installed. Meaning, this mode can be used on computers that don't even have GPUs. The hybrid render engine running on a CPU supports the same features as the regular V-Ray GPU CUDA engine.

More info about the nature of Hybrid rendering is available at the blog post Understanding V-Ray Hybrid rendering.

 

References