Pascal (microarchitecture)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Nvidia Pascal
History
Predecessor Maxwell
Successor Volta

Pascal is the codename for a GPU microarchitecture developed by Nvidia as the successor to the Maxwell microarchitecture. The Pascal microarchitecture was introduced April 2016 with the GP100 chip and on May 27, 2016 with the GP104 chip to be found on the GeForce GTX 1080 and 1070 labeled graphics cards, as part of the GeForce 10 series which incorporate TSMC's 16 nm FinFET technology.[1][2]

The architecture is named after Blaise Pascal, the 17th century mathematician.

In March 2014, Nvidia announced that the successor to Maxwell would be the Pascal microarchitecture; announced on the 6th May 2016 and released on the 27th May 2016. Architectural improvements include the following:[3][4]

  • In Pascal, an SM (streaming multiprocessor) consists of 64 CUDA cores. Maxwell packed 128, Kepler 192, Fermi 32 and Tesla only 8 CUDA cores into an SM; the GP100 SM is partitioned into two processing blocks, each having 32 single-precision CUDA Cores, an instruction buffer, a warp scheduler, 2 texture mapping units and 2 dispatch units.
  • GDDR5X – New memory standard supporting 10Gbit/s data rates, updated memory controller.[5]
  • High Bandwidth Memory 2 – some cards feature 16 GiB HBM2 in four stacks with a total of 4096bit bus with a memory bandwidth of 720 GB/s
  • Unified memory – A memory architecture, where the CPU and GPU can access both main system memory and memory on the graphics card with the help of a technology called "Page Migration Engine".
  • NVLink – A high-bandwidth bus between the CPU and GPU, and between multiple GPUs. Allows much higher transfer speeds than those achievable by using PCI Express; estimated to provide between 80 and 200 GB/s.[6][7]
  • 16-bit (FP16) floating-point operations (colloquially "half precision") can be executed at twice the rate of 32-bit floating-point operations ("single precision")[8] and 64-bit floating-point operations (colloquially "double precision") executed at half the rate of 32-bit floating point operations.[9]

Overview

New Features in GP10x :

  • CUDA Compute Capability 6.0(GP100 only), 6.1(GP104)
  • DisplayPort 1.4
  • HDMI 2.0b
  • Fourth generation Delta Color Compression
  • Half precision FP16 operations executed at twice the rate of FP32, while FP64 operations run at 1/2(GP100 only) or 1/32 the speed respectively[10]
  • PureVideo Feature Set G hardware video decoding HEVC Main10(10bit), Main12(12bit) & VP9 hardware decoding(GM200 & GM204 did not support HEVC Main10/Main12 & VP9 hardware decoding)
  • HDCP 2.2 support for 4K DRM protected content playback & streaming(Maxwell GM200 & GM204 lack HDCP 2.2 support, GM206 supports HDCP 2.2)[11]
  • NVENC HEVC Main10 10bit hardware encoding
  • GPU Boost 3.0
  • Simultaneous Multi-Projection
  • New memory controller with GDDR5X & GDDR5 support

Graphics Processor Cluster

A chips is partitioned into Graphics Processor Clusters (GPCs). For the GP104 chips, a GPC engulfs 5 SMs.

Streaming Multiprocessor "Pascal"

A "Streaming Multiprocessor" corresponds to AMD's Compute Unit. An SMP encompasses 128 single-precision ALUs ("CUDA cores") on GP104 chips and 64 single-precision ALUs on GP100 chips.

What AMD calls a CU (compute unit) can be compared to what Nvidia calls an SM (streaming multiprocessor). While all CU versions consist of 64 shader processors (i.e. 4 SIMD Vector Units (each 16-lane wide)= 64), Nvidia (regularly calling shader processors "CUDA cores") experimented with very different numbers:

  • one Tesla SM combines 8 single-precision (FP32) shader processors
  • one Fermi SM combines 32 single-precision (FP32) shader processors
  • one Kepler SM combines 192 single-precision (FP32) shader processors and also 64 double-precision units (at least the GK110 GPUs)
  • one Maxwell SM combines 128 single-precision (FP32) shader processors
  • one Pascal SM on the GP100 combines 64 single-precision (FP32) shader processors and also 32 double-precision (FP64) (at least the GP100 GPUs) providing a 2:1 ratio of single- to double-precision throughput. On the GP104 an SM combines 128 single-precision ALUs and probably 4 double-precision ALUs providing a 1:32 ratio. The GP100 chips also seems to have some dedicated half-precision (FP16) ALUs which the GP104 is lacking. Nvidia intends to address the calculation of algorithms related to deep learning with those.

Polymorph-Engine 4.0

The brand Polymorph-Engine denotes the unit responsible for Tessellation. It corresponds functionally with AMD's Geometric Processor. Pascal features version 4.0.

NVENC

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

PureVideo

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Chips

  • GP100
  • GP104

On the GP104 chip an SM consists of 128 single-precision ALUs ("CUDA cores"), on the GP100 of 64 single-precision ALUs. Due to different organization of the chips, like number of double precision ALUs, the theoretical double precision performance of the GP100 is half of the theoretical one for single precision; the ratio is 1/32 for the GP104 chip.

Caption: Comparison table of some Kepler, Maxwell and Pascal chips
GK104 GM204 GP104
L1 cache per SM 48 KiB 48 KiB N/A
L2 cache per chip 512 KiB 2084 KiB 2048 KiB

Performance

The theoretical single-precision processing power of a Pascal GPU in GFLOPS is computed as 2 (operations per FMA instruction per CUDA core per cycle) × number of CUDA cores × core clock speed (in GHz).

The theoretical double-precision processing power of a Pascal GPU is 1/2 of the single precision performance on GP100, and 1/32 on GP104.

The theoretical half-precision processing power of a Pascal GPU is 2x of the single precision performance.[9]

Successor

After Pascal, the next architecture will be codenamed Volta.[12] Nvidia has announced that the Pascal GPU will feature High Bandwidth Memory, Unified Memory, and NVLink.[12]

See also

References

  1. Talks of foundry partnership between NVIDIA and Samsung(14nm) didn't succeed, and the GPU maker decided to revert to TSMC's 16nm process. http://www.techpowerup.com/216080/nvidia-pascal-gpus-to-be-built-on-16-nm-tsmc-finfet-node.html
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. http://www.geforce.com/hardware/10series/geforce-gtx-1080
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. 12.0 12.1 Lua error in package.lua at line 80: module 'strict' not found.