Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CUDA & OpenCL
GPUコンピューティングって何?
薦田 登志矢
@toshiya_komoda
2015/02/24 1
自己紹介
• 2008 – 2014
– 東京大学大学院情報理工学研究科目で博士号取得
• 日本学術振興会特別研究員(2011-13)
– HPCシステムの低電力化
• 2014 –
– DeNAでエンジニアやってます
• Mobage Ope...
大学院時代
GPUいじったり
MIPS プロセッサ
作ったり
電力測ってみたり…
海外の学会行ったり
2015/02/24 3
大学院時代
GPUいじったり
MIPS プロセッサ
作ったり
電力測ってみたり…
海外の学会行ったり
2015/02/24 4
GPUコンピューティング
• GPU
– 画像処理専用のコプロセッサ
– クライアントサイドでは利用が当たり前
• スマホ・PCに標準搭載
• ゲームでは高度な3D表現の実現に欠かせない
• 今日の話
– HPC・スパコン等サーバサイドでのGP...
なぜCPUじゃダメなのか
2015/02/24 6
スパコンの総消費電力
• システム大規模化に伴い総消費電力が増大
• 世界一のスパコンは17MW消費する (2014年11月)
電力供給系と冷却システムが建設費・運用費を圧迫.
List release
Averagepower
0
100
2...
*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 ...
並列処理に特化した構造
• 低周波数コアによる並列処理は電力効率が良い
– 電力は周波数に対して3乗で増大.
– 一方で並列に2つ並べる場合は線形で済む.
大きくて高周波
数のプロセッサ
低周波数でシンプ
ルなプロセッサ
電力効率↑
2015/...
スパコン 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,NVIDIA
ARM)
FPGA
(Altera)NVIDIA GPU
基本的にはCUDA or...
GPUプログラミング
2015/02/24 14
CUDA SDK OpenCL SDK
GPU
(AMD,NVIDIA
ARM)
FPGA
(Altera)NVIDIA GPU
基本的にはCUDA or OpenCLの二択
○ 書きやすく、 ...
プログラミングモデル
• ホスト – デバイス型
– CPU: データ転送およびGPUの制御
– GPU: 実際に処理を行う
2015/02/24 15
CPU
GPU
Memory
Main
Memory
GPU
Input
並列処理
out...
カーネル関数
• C/C++の拡張記法で並列処理を記述
– CPU側のコードでカーネル関数を呼び出す
2015/02/24 16
CUDA : 配列の足し算を実現するカーネル関数
CUDA, OpenCL以外の方法
• ソフトウェアツールへの組み込み
– Photoshop, Matlab, R
• PyCUDA
– PythonからCUDAのカーネル関数を呼び出せる
• OpenACC
– C 言語に指示文を追加してG...
最近の話題
• 自動車 : Audi Self-Piloted Car
– http://blogs.nvidia.com/blog/2015/01/06/audi-tegra-
x1/
• Deep Learning
– Facebook :...
興味を持ったら
2015/02/24 19
https://developer.nvidia.com/cuda-zone
Upcoming SlideShare
Loading in …5
×

CUDA & OpenCL GPUコンピューティングって何?

Web界隈の方々向けにGPUコンピューティングについて紹介した資料です.

  • Be the first to comment

CUDA & OpenCL GPUコンピューティングって何?

  1. 1. CUDA & OpenCL GPUコンピューティングって何? 薦田 登志矢 @toshiya_komoda 2015/02/24 1
  2. 2. 自己紹介 • 2008 – 2014 – 東京大学大学院情報理工学研究科目で博士号取得 • 日本学術振興会特別研究員(2011-13) – HPCシステムの低電力化 • 2014 – – DeNAでエンジニアやってます • Mobage Open Platform APIチーム所属 • 内外のゲーム開発者が利用するAPIを開発・運用 2015/02/24 2
  3. 3. 大学院時代 GPUいじったり MIPS プロセッサ 作ったり 電力測ってみたり… 海外の学会行ったり 2015/02/24 3
  4. 4. 大学院時代 GPUいじったり MIPS プロセッサ 作ったり 電力測ってみたり… 海外の学会行ったり 2015/02/24 4
  5. 5. GPUコンピューティング • GPU – 画像処理専用のコプロセッサ – クライアントサイドでは利用が当たり前 • スマホ・PCに標準搭載 • ゲームでは高度な3D表現の実現に欠かせない • 今日の話 – HPC・スパコン等サーバサイドでのGPUの利用 2015/02/24 5
  6. 6. なぜCPUじゃダメなのか 2015/02/24 6
  7. 7. スパコンの総消費電力 • システム大規模化に伴い総消費電力が増大 • 世界一のスパコンは17MW消費する (2014年11月) 電力供給系と冷却システムが建設費・運用費を圧迫. List release Averagepower 0 100 200 300 400 500 600 700 2007_11 2008_02 2008_06 2008_11 2009_06 2009_11 2010_06 2010_11 2011_06 2011_11 700 600 500 400 300 200 100 0 電力 (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
  8. 8. *Internet Data Centerも事情は同じ • 節電のためにIDCを寒冷地に作ったりは有名 – 冷却システムのコストを下げるため 2015/02/24 8 Facebook スウェーデン さくら 石狩DC
  9. 9. 高い電力効率を持つ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
  10. 10. 並列処理に特化した構造 • 低周波数コアによる並列処理は電力効率が良い – 電力は周波数に対して3乗で増大. – 一方で並列に2つ並べる場合は線形で済む. 大きくて高周波 数のプロセッサ 低周波数でシンプ ルなプロセッサ 電力効率↑ 2015/02/24 10 CPU GPU
  11. 11. スパコン Top5 (1位, 2位はGPU型のアーキテクチャを採用.) 2015/02/24 11
  12. 12. AWS GPU Instance 2015/02/24 12 AWSでもGPUサーバはすでに利用可能.
  13. 13. GPUプログラミング 2015/02/24 13 CUDA SDK OpenCL SDK Intel Xeon Phi, CPU GPU (AMD,NVIDIA ARM) FPGA (Altera)NVIDIA GPU 基本的にはCUDA or OpenCLの二択
  14. 14. GPUプログラミング 2015/02/24 14 CUDA SDK OpenCL SDK GPU (AMD,NVIDIA ARM) FPGA (Altera)NVIDIA GPU 基本的にはCUDA or OpenCLの二択 ○ 書きやすく、 ライブラ リ・ ツールがそろっている × NVIDIA社のGPUで しか動かない ○ いろいろなデバイス上で動作する × 記法がよりめんどくさく、いろいろ そろっていない Intel Xeon Phi, CPU
  15. 15. プログラミングモデル • ホスト – デバイス型 – CPU: データ転送およびGPUの制御 – GPU: 実際に処理を行う 2015/02/24 15 CPU GPU Memory Main Memory GPU Input 並列処理 output
  16. 16. カーネル関数 • C/C++の拡張記法で並列処理を記述 – CPU側のコードでカーネル関数を呼び出す 2015/02/24 16 CUDA : 配列の足し算を実現するカーネル関数
  17. 17. CUDA, OpenCL以外の方法 • ソフトウェアツールへの組み込み – Photoshop, Matlab, R • PyCUDA – PythonからCUDAのカーネル関数を呼び出せる • OpenACC – C 言語に指示文を追加してGPUを利用 – ちな、自分のD論はこれを拡張してごにょごにょしたよって話 2015/02/24 17
  18. 18. 最近の話題 • 自動車 : 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
  19. 19. 興味を持ったら 2015/02/24 19 https://developer.nvidia.com/cuda-zone

×