深層学習で計算速度を上げるために半精度（Half Precision）での計算を行いたいです．  
この[論文](https://arxiv.org/pdf/1806.00187.pdf)の 4.1 によると， NVIDIA Volta GPUs
というのが半精度での計算ができるようなのですが，具体的にどの種類のGPUが可能なのでしょうか．調べたところ， NVIDIA Tesla V100
がそれにあたるようなのですが，例えば GeForce GTX TITAN X や GeForce GTX 1080 Ti は半精度で計算できるますか？
CC BY-SA 4.0
2020-05-14T00:15:55.757
66582
2023-02-05T07:07:50.923
40135
question
深層学習 gpu
GPUで半精度（Half Precision）で計算できる NVIDIA Volta GPUs は NVIDIA Tesla V100 だけですか？
その[論文](https://arxiv.org/pdf/1806.00187.pdf)：

> NVIDIA Volta GPUs introduce Tensor Cores that enable efficient half
> precision floating point (FP) computations that are several times faster
> than full precision operations. (...) This can be mitigated by scaling
> values to fit into the FP16 range.

から確かに、Volta コアから導入された **FP16** というキーワードで示されるフィーチャーのようだということがわかります。

Volta コアの製品は、[wikipedia
(en)](https://en.wikipedia.org/wiki/Volta_\(microarchitecture\)) によると、

  * Tesla V100
  * Tesla V100S PCIe
  * Titan V
  * Titan V CEO Edition
  * Quadro GV100

となっており、データセンター向けのもののようで、リリースは 2017-12。

後継は [Turing コア](https://www.nvidia.com/content/dam/en-zz/Solutions/design-
visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-
Whitepaper.pdf)（現行の最新、リリースは 2018-09）で、こちらは全般に採用されているようです。

> **Turing Tensor Cores**  
>  Turing GPUs include an enhanced version of the Tensor Cores first
> introduced in the Volta GV100 GPU. The Turing Tensor Core design adds INT8
> and INT4 precision modes for inferencing workloads that can tolerate
> quantization. **FP16 is also fully supported** for workloads that require
> higher precision.

ということで、Volta 以降の Turing コアも含む新しい世代の GPU のものが FP16 をサポートしていることになると思います。[Turing
の製品一覧（wikipedia
(en)）](https://en.wikipedia.org/wiki/Turing_\(microarchitecture\)#Products_using_Turing)

> GeForce GTX TITAN X や GeForce GTX 1080 Ti

これらは Maxwell コアや Pascal コアなので、古くて駄目ですね。
CC BY-SA 4.0
2020-05-14T01:54:16.920
66584
2020-05-14T01:54:16.920
7290
66582
answer
理論演算性能 (FLOPS) がFP32のときの2倍となる **ダブルレートのFP16** 自体は、Voltaの前世代、Pascalアーキテクチャの
**GP100** コアにて最初に実現されています。  
具体的にはTesla P100やQuadro GP100が該当します。

  * [NVIDIA Tesla P100 PCIe 16 GB Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/tesla-p100-pcie-16-gb.c2888) (GP100)
  * [NVIDIA Quadro GP100 Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/quadro-gp100.c2994) (GP100)

ただし同じPascalアーキテクチャでも、GP102コアやGP104コアを採用するGPUではFP16の演算器を搭載せず、FP32の演算器を使ってエミュレートしているため、理論演算性能は逆にFP32のときよりも劣り、レートは1/64となります。これらは機械学習用途よりもゲーミング性能を重視した、Maxwellの改良に近い設計です。

  * [NVIDIA TITAN X Pascal Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/titan-x-pascal.c2863) (GP102)
  * [NVIDIA GeForce GTX 1080 Ti Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/geforce-gtx-1080-ti.c2877) (GP102)
  * [NVIDIA GeForce GTX 1080 Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/geforce-gtx-1080.c2839) (GP104)

MaxwellアーキテクチャではほとんどのコアでFP16に対応しておらず、ハイエンドのGM200でも演算自体をサポートしていませんが、モバイル向けのTegra
X1では例外的にダブルレートのFP16をサポートしています。

  * [NVIDIA GeForce GTX TITAN X Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/geforce-gtx-titan-x.c2632) (GM200)
  * [NVIDIA Tesla M40 Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/tesla-m40.c2771) (GM200)
  * [NVIDIA Jetson TX1 GPU Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/jetson-tx1-gpu.c3230) (GM20B)

TuringアーキテクチャではTensorコアを搭載しないゲーミング用の下位製品でもFP16演算器を搭載していて、ダブルレートのFP16をサポートしています。

  * [NVIDIA GeForce GTX 1650 Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/geforce-gtx-1650.c3366) (TU117)

AMDもVega (GCN 5th Gen) 以降でダブルレートのFP16をサポートするGPUを投入しています。

  * [AMD Radeon RX Vega 64 Specs | TechPowerUp GPU Database](https://www.techpowerup.com/gpu-specs/radeon-rx-vega-64.c2871) (Vega 10)

GPUがダブルレートのFP16をサポートするかどうかはスペックシートを確認してください。
CC BY-SA 4.0
2021-02-25T17:43:10.033
74280
2021-02-28T08:47:44.107
2021-02-28T08:47:44.107
15413
15413
66582
answer