On the Windows platform, the NVIDIA GPU has two modes: WDDM and TCC. WDDM is the graphics driver for video cards so that it can render desktops and applications. If the installed GPU is only used for computing, display rendering is useless overhead. In this situation, the NVIDIA GPU can switch to a mode that only focuses on computing. This mode is known as TCC mode.
WDDM allows the NVIDIA GPU to cooperate with Windows' WDDM driver, which serves displays. Supporting WDDM mode is a requirement for Windows graphics. On the other hand, TCC mode only works toward computing. Depending on your GPU products and configuration, the GPU's mode can be changed.
Operation mode follows four NVIDIA product classes, and its default mode can vary, as follows:
- GeForce: WDDM mode only.
- Quadro/Titan: WDDM mode by default, but can be used in TCC mode too.
- Tesla: Typically defaults to TCC mode.
- Tegra: Supports Linux only. No WDDM/TCC issues.
WDDM mode supports CUDA operations and debugging CUDA applications with Nsight, while also supporting the display. As a single host machine, you can do everything that the GPU can. However, TCC mode disables graphics on the graphics driver and enables GPU as a computing accelerator. In other words, this should be used when the graphics card does not have to serve displays.
TCC mode has some benefits over WDDM mode in CUDA processing, as follows:
- Serves large-scale computing
- Ignores Windows' display timeout interval (typically two seconds) to enable kernel operations that are longer than two seconds
- Reduces CUDA's kernel launch overhead on Windows
- Supports CUDA processing with Windows remote desktop service
- Enables the use of NVIDIA GPUs with non-NVIDIA integrated graphics so that you can save global memory
Therefore, TCC mode brings optimal configuration for GPUs as accelerators if they do not serve displays.