cuda & opencl gpuコンピューティングって何?
Post on 04-Aug-2015
139 Views
Preview:
TRANSCRIPT
CUDA & OpenCLGPU コンピューティングって何?
薦田 登志矢@toshiya_komoda
2015/02/24 1
自己紹介• 2008 – 2014– 東京大学大学院情報理工学研究科目で博士号取
得• 日本学術振興会特別研究員 (2011-13)
– HPC システムの低電力化
• 2014 – – DeNA でエンジニアやってます
• Mobage Open Platform API チーム所属• 内外のゲーム開発者が利用する API を開発・運用
2015/02/24 2
大学院時代
GPU いじったり
MIPS プロセッサ作ったり
電力測ってみたり…
海外の学会行ったり
2015/02/24 3
大学院時代
GPU いじったり
MIPS プロセッサ作ったり
電力測ってみたり…
海外の学会行ったり
2015/02/24 4
GPU コンピューティング• GPU– 画像処理専用のコプロセッサ– クライアントサイドでは利用が当たり前
• スマホ・ PC に標準搭載• ゲームでは高度な 3D 表現の実現に欠かせない
• 今日の話– HPC ・スパコン等サーバサイドでの GPUの利用
2015/02/24 5
なぜ CPU じゃダメなのか
2015/02/24 6
スパコンの総消費電力
• システム大規模化に伴い総消費電力が増大• 世界一のスパコンは 17MW 消費する (2014 年 11
月 )
電力供給系と冷却システムが建設費・運用費を圧迫 .
7006005004003002001000
電力(Kwatt)
年 - 月07-11 07-6 08-11 08-6 09-11 09-6 09-11 10-6 10-11 11-6
性能 1~500 位のスパコンの平均消費電力の推移 (Data from Green 500 List)
2015/02/24 7
*Internet Data Center も事情は同じ
• 節電のために IDC を寒冷地に作ったりは有名– 冷却システムのコストを下げるため
2015/02/24 8
Facebook スウェーデン さくら 石狩 DC
高い電力効率を持つ GPU
Haswell EP (CPU) Tesla K40 (GPU)
コア数 18 コア 2880 コア
周波数 3.1 GHz 745Hz
消費電力 160W 235W
理論性能 ( 単精度 ) 992 GFLOPS 4290 GFLOPS
GFLOPS/Watt 6.2 GFLOPS/W 18.3 GFLOPS/W
2015/02/24 9
並列処理に特化した構造
• 低周波数コアによる並列処理は電力効率が良い– 電力は周波数に対して3乗で増大 .– 一方で並列に 2 つ並べる場合は線形で済む .
大きくて高周波数のプロセッサ
低周波数でシンプルなプロセッサ
電力効率↑
2015/02/24 10
CPU GPU
スパコン Top5
(1位 , 2位は GPU型のアーキテクチャを採用 .)2015/02/24 11
AWS GPU Instance
2015/02/24 12
AWSでも GPUサーバはすでに利用可能 .
GPU プログラミング
2015/02/24 13
CUDA SDK OpenCL SDK
Intel Xeon Phi, CPU
GPU(AMD,NVIDIAARM)
FPGA (Altera)NVIDIA GPU
基本的には CUDA or OpenCL の二択
GPU プログラミング
2015/02/24 14
CUDA SDK OpenCL SDK
GPU(AMD,NVIDIAARM)
FPGA (Altera)NVIDIA GPU
基本的には CUDA or OpenCL の二択
○ 書きやすく、 ライブラリ・ ツールがそろっている× NVIDIA 社の GPU で しか動かない
○ いろいろなデバイス上で動作する
× 記法がよりめんどくさく、いろいろ そろっていない
Intel Xeon Phi, CPU
プログラミングモデル• ホスト – デバイス型– CPU: データ転送および GPU の制御– GPU: 実際に処理を行う
2015/02/24 15
CPU
GPUMemory
Main Memory
GPUInput
並列処理
output
カーネル関数• C/C++ の拡張記法で並列処理を記述– CPU 側のコードでカーネル関数を呼び出す
2015/02/24 16
CUDA : 配列の足し算を実現するカーネル関数
CUDA, OpenCL 以外の方法• ソフトウェアツールへの組み込み– Photoshop, Matlab, R
• PyCUDA– Python から CUDA のカーネル関数を呼び出せ
る
• OpenACC– C 言語に指示文を追加して GPU を利用– ちな、自分の D 論はこれを拡張してごにょごにょしたよって話
2015/02/24 17
最近の話題• 自動車 : Audi Self-Piloted Car– http://blogs.nvidia.com/blog/2015/01/06/audi-tegra-x1/
• Deep Learning – Facebook : Torch (Deep Learning Library)
• http://torch.ch/
• 検索サーバ– Microsoft : Bing サーバでの FPGA 利用
A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Service, ISCA 2014
2015/02/24 18
興味を持ったら
2015/02/24 19
https://developer.nvidia.com/cuda-zone
top related