Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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


Section
Column
width60%

V-Ray offers two rendering engines - V-Ray and V-Ray GPU.

GPU rendering allows V-Ray to perform the raytracing calculations on the GPU cards 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. V-Ray GPU uses NVidia CUDA or RTX device(s) to perform the raytracing calculations.

In addition, you can also use CUDA in combination with your CPU device. This is the so-called Hybrid rendering – when CUDA 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.

UI Text Box
typenote

The supported features of V-Ray GPU running on CUDA and RTX are the same.

Although CUDA and RTX share 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 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, from V-Ray Asset Editor → Settings tab → Render rollout, select  CUDA or RTX engine. You can use it with both Progressive and Bucket Sampler types.

Column
width5%

 

Column
width35%


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 (CUDA only) 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 and RTX platforms.

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

Fancy Bullets
typecircle
  • NVIDIA – The CUDA engine is supported only in 64-bit builds of V-Ray for Maxwell-, Pascal-, Turing-, Volta-, or Ampere-based NVIDIA cards. Rendering on multiple GPUs is also supported. See here if your card has the minimum required compute capability.
  • NVIDIA RTX – Choosing RTX GPU mode works with RTX 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, Interactive rendering for GPU uses all available GPU devices. See the sections below to learn how to choose devices on which to run IR GPU.

If V-Ray GPU cannot find a supported CUDA device on the system, it silently falls back to CPU code. If V-Ray GPU cannot find a supported RTX device on the system, the process stops.

To see if the V-Ray render server is really rendering on the GPU, check out its console output.

UI Text Box
typeinfo

When rendering, the output window 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.

UI Text Box
typeinfo

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

 

Anchor
nvlink
nvlink

UI Text Box
typetip

Т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.

For more information, see the OptiX and NVLink FAQ page.

UI Text Box

Though GPU rendering with CUDA on macOS devices is no longer supported, the old behavior can be brought back 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.

Environment variables can be set specifically for V-Ray for SketchUp on macOS by editing the config file located at: /Applications/ChaosGroup/V-Ray/V-Ray\ for\ SketchUp/extensions/config.json .

UI Text Box
typewarning

The RTX engine type is not supported on macOS.

The RTX engine type only works with NVidia RTX cards.

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.

UI Text Box

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.


Section
Column
width5%
 
Column
width45%

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

Windows Start Menu > Chaos Group > GPU Device Selection

Column
width45%

Asset Editor > Settings > Render > GPU device list dropdown

Column
width5%

 

UI Text Box
typetip

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

Hybrid Rendering with CPUs and the CUDA Engine
Anchor
#Hybrid
#Hybrid


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.

 

Notes


Memory usage can be viewed from the Stats section of the new V-Ray Frame Buffer.

 

References


Fancy Bullets
typecircle