# Turing (microarchitecture)

Turing is the codename for a graphics processing unit (GPU) microarchitecture developed by Nvidia. It is named after the prominent mathematician and computer scientist Alan Turing. The architecture was first introduced in August 2018 at SIGGRAPH 2018 in the workstation-oriented Quadro RTX cards, and one week later at Gamescom in consumer GeForce 20 series graphics cards. Building on the preliminary work of Volta, its HPC-exclusive predecessor, the Turing architecture introduces the first consumer products capable of real-time ray tracing, a longstanding goal of the computer graphics industry. Key elements include dedicated artificial intelligence processors ("Tensor cores") and dedicated ray tracing processors ("RT cores"). Turing leverages DXR, OptiX, and Vulkan for access to ray tracing. In February 2019, Nvidia released the GeForce 16 series GPUs, which utilizes the new Turing design but lacks the RT and Tensor cores.
Turing is manufactured using TSMC's 12 nm FinFET semiconductor fabrication process. The high-end TU102 GPU includes 18.6 billion transistors fabricated using this process. Turing also uses GDDR6 memory from Samsung Electronics, and previously Micron Technology.

## Details

The Turing microarchitecture combines multiple types of specialized processor core, and enables an implementation of limited real-time ray tracing. This is accelerated by the use of new RT (ray-tracing) cores, which are designed to process quadtrees and spherical hierarchies, and speed up collision tests with individual triangles.
Features in Turing:
* CUDA cores (SM, Streaming Multiprocessor)
** Compute Capability 7.5
** traditional rasterized shaders and compute
** concurrent execution of integer and floating point operations (inherited from Volta)
* Ray-tracing (RT) cores
** bounding volume hierarchy acceleration
** shadows, ambient occlusion, lighting, reflections
* Tensor (AI) cores
** artificial intelligence
** large matrix operations
** Deep Learning Super Sampling (DLSS)
* Memory controller with GDDR6/HBM2 support
* DisplayPort 1.4a with Display Stream Compression (DSC) 1.2
* PureVideo Feature Set J hardware video decoding
* GPU Boost 4
* NVLink Bridge with VRAM stacking pooling memory from multiple cards
* VirtualLink VR
* NVENC hardware encoding
The GDDR6 memory is produced by Samsung Electronics for the Quadro RTX series. The RTX 20 series initially launched with Micron memory chips, before switching to Samsung chips by November 2018.

### Rasterization

Nvidia reported rasterization (CUDA) performance gains for existing titles of approximately 30–50% over the previous generation.

### Ray-tracing

The ray-tracing performed by the RT cores can be used to produce reflections, refractions and shadows, replacing traditional raster techniques such as cube maps and depth maps. Instead of replacing rasterization entirely, however, the information gathered from ray-tracing can be used to augment the shading with information that is much more photo-realistic, especially in regards to off-camera action. Nvidia said the ray-tracing performance increased about 8 times over the previous consumer architecture, Pascal.

### Tensor cores

Generation of the final image is further accelerated by the Tensor cores, which are used to fill in the blanks in a partially rendered image, a technique known as de-noising. The Tensor cores perform the result of deep learning to codify how to, for example, increase the resolution of images generated by a specific application or game. In the Tensor cores' primary usage, a problem to be solved is analyzed on a supercomputer, which is taught by example what results are desired, and the supercomputer determines a method to use to achieve those results, which is then done with the consumer's Tensor cores. These methods are delivered via driver updates to consumers. The supercomputer uses a large number of Tensor cores itself.

## Turing dies

Comparison of Turing dies :
| Die | TU102 | TU104 | TU106 | TU116 | TU117 |
| Die size | 754 mm$^2$ | 545 mm$^2$ | 445 mm$^2$ | 284 mm$^2$ | 200 mm$^2$ |
| Transistors | 18.6B | 13.6B | 10.8B | 6.6B | 4.7B |
| Transistor density | 24.7 MTr/mm$^2$ | 25.0 MTr/mm$^2$ | 24.3 MTr/mm$^2$ | 23.2 MTr/mm$^2$ | 23.5 MTr/mm$^2$ |
| Graphics processing clusters | 6 | 6 | 3 | 3 | 2 |
| Streaming multiprocessors | 72 | 48 | 36 | 24 | 16 |
| CUDA cores | 4608 | 3072 | 2304 | 1536 | 1024 |
| Texture mapping units | 288 | 192 | 144 | 96 | 64 |
| Render output units | 96 | 64 | 64 | 48 | 32 |
| Tensor cores | 576 | 384 | 288 | — | — |
| RT cores | 72 | 48 | 36 | — | — |
| L1 cache | 6.75 MB | 4.5 MB | 3.375 MB | 2.25 MB | 1.5 MB |
| 96 KB per SM |||||
| L2 cache | 6 MB | 4 MB | 4 MB | 1.5 MB | 1 MB |

## Development

Turing's development platform is called RTX. RTX ray-tracing features can be accessed using Microsoft's DXR, OptiX, as well using Vulkan extensions (the last one being also available on Linux drivers). It includes access to AI-accelerated features through NGX. The Mesh Shader, Shading Rate Image functionalities are accessible using DirectX 12, Vulkan and OpenGL extensions on Windows and Linux platforms.
Windows 10 October 2018 update includes the public release of DirectX Raytracing.

## Products using Turing

* GeForce MX series
** GeForce MX450 Laptop
** GeForce MX550 Laptop
* GeForce 16 series
** GeForce GTX 1630
** GeForce GTX 1650 Laptop
** GeForce GTX 1650
** GeForce GTX 1650 Super
** GeForce GTX 1650 Ti Laptop
** GeForce GTX 1660
** GeForce GTX 1660 Super
** GeForce GTX 1660 Ti Laptop
** GeForce GTX 1660 Ti
* GeForce 20 series
** GeForce RTX 2060 Laptop
** GeForce RTX 2060
** GeForce RTX 2060 Super
** GeForce RTX 2070 Laptop
** GeForce RTX 2070
** GeForce RTX 2070 Super Laptop
** GeForce RTX 2070 Super
** GeForce RTX 2080 Laptop
** GeForce RTX 2080
** GeForce RTX 2080 Super Laptop
** GeForce RTX 2080 Super
** GeForce RTX 2080 Ti
** Titan RTX
* Nvidia Quadro
** Quadro RTX 3000 Laptop
** Quadro RTX 4000 Laptop
** Quadro RTX 4000
** Quadro RTX 5000 Laptop
** Quadro RTX 5000
** Quadro RTX 6000 Laptop
** Quadro RTX 6000
** Quadro RTX 8000
** Quadro T1000 Laptop
** Quadro T2000 Laptop
** T400
** T400 4GB
** T500 Laptop
** T600 Laptop
** T600
** T1000
** T1000 8GB
** T1200 Laptop
* Nvidia Tesla
** Tesla T4
** Tesla T10
** Tesla T40