SoftLayer ベアメタル の Tesla K80 の実力ってどんなもの? と気になるので、性能を計ってみました。
単にベンチマークしても、結果の評価が難しいので、比較のために、デスクトップPC用 アキバで1〜2万円で売っている GPU を比較しながら、GPUのベンチマークをしてみます。ベンチマークのツールは、CUDA Toolkit のサンプルコードにある nbody を利用します。
結果
簡単なスペックと結果を次の表にまとめました。
モデル | Tesla K80 | GTX 750Ti |
---|---|---|
GPU数 | 2 | 1 |
総コア数 | 4992 | 640 |
GPUクロック | 824MHz | 1110MHz |
総グローバルメモリ | 23GB | 2GB |
CUDA Capability | 3.7 | 5 |
nbody 結果 | 3134 GFLOP/s | 962 GFLOP/s |
測定方法
Tesla K80 には、GPUが2個入っているので、 -numdevices=2 をセットして、2個のGPUに負荷がかかる様にします。
root@server1:~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody# ./nbody --benchmark --numbodies=256000 -numdevices=2
<中略>
number of CUDA devices = 2
> Windowed mode
> Simulation data stored in system memory
> Single precision floating point simulation
> 2 Devices used for simulation
GPU Device 0: "Tesla K80" with compute capability 3.7
> Compute 3.7 CUDA device: [Tesla K80]
> Compute 3.7 CUDA device: [Tesla K80]
number of bodies = 256000
256000 bodies, total time for 10 iterations: 4182.238 ms
= 156.701 billion interactions per second
= 3134.016 single-precision GFLOP/s at 20 flops per interaction
GeForce GTX 750Ti の場合は、 --device=0 を指定します。
root@rei:~/nvidia/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody# ./nbody --benchmark --numbodies=256000 --device=0
<中略>
> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
gpuDeviceInit() CUDA Device [0]: "GeForce GTX 750 Ti
> Compute 5.0 CUDA device: [GeForce GTX 750 Ti]
number of bodies = 256000
256000 bodies, total time for 10 iterations: 13613.112 ms
= 48.142 billion interactions per second
= 962.836 single-precision GFLOP/s at 20 flops per interaction
まとめ
Tesla K80 は、 発表から4年が経過しているが、23GBの搭載メモリ量と4992コア数もあり、月額で300ドル台で利用できるので、GPGPUを短期間試したいケースには適していると思う。
参考資料
(1) Qiita CUDA で GPU の 戦闘力の差 を 実感する...
(2) GPU搭載のベアメタル で CUDA が使えるって?