Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
GPUの基礎知識
アーキテクチャと歴史
2016/12/15
株式会社パソナテック
エンジニアリング事業部
夏谷
1
Imagination,
Action,
and to the Creation!
アジェンダ
 自己紹介
 GPUとは
 ベクターと行列
 実際のアーキテクチャ比較
 PR
2
自己紹介
 夏谷実
 株式会社パソナテック
 株式会社パソナテック
 エンジニアリング事業部
 エンジニアマネージメントグループ
 最近は半導体関連の仕事が多い
 FPGAが好き
 プログラミングも好き
 Deep Learningも好き ←New!
3
パソナテック公認キャラ
自己紹介
4
5
GPUとは
GPUはCUDAのD
6
NVIDAが提供するGPU向けの開発環境
CUDA(Compute Unified Device Architecture)
http://4k.com/gaming/gtx-1080-review-amazing-new-nvidia-geforce-4k-gpu-for-gaming/
この中にGPU
・1つの命令で複数のデータを処理できる
SIMD:single instruction multiple data
・ベクトルの計算に強い
典型的なベクトル問題
a×X + Y
SAXPY(Single-precision real Alpha X Plus Y)
コンピューターアーキテクチャから見たGPU
7
・ベクトル計算に強いマシーン(GPUの仲間)
CRAY-1
http://jpn.nec.com/hpc/sx9/https://ja.wikipedia.org/wiki/Cray-1
SX-9
https://ja.wikipedia.org/wiki/PlayStation_3
PS3
NVIDIAの用語が強い
8
コンピュータアーキテクチャ p306
本書で使用して
いる名称
CUDA/NVID
Aの公式用語
本書の定義とAMD社や
OpenCLの用語
CUDA/NVIDAの
公式の定義
ベクター化ループ グリッド GPUで実行されるベクター化
ループは、1以上の「スレッド
ブロックを」・・・・
グリッドは平行、逐次
的、あるいはそれらの
混成で実行可能な
スレッドブロック
ベクター化ループ
の本体
スレッドブロック ベクター化ループはマルチスレ
ッドSIMDプロセッサで実行さ
れ、1以上の個数のSIMD
命令のスレッドからな
る。・・・・
スレッドブロックは、
CUDAの配列で、互
いに並列に実行され、
共有メモリやバリア同
期で強調したり・・・
SIMDレーン
演算の列
CUDAスレッド SIMD命令のスレッドを、1
つのSIMDレーンで実行され
る1つの要素に沿って・・・・
CUDAスレッドは逐次
プログラムを実行し、
GPUの得意分野
9
・GPUはベクトル型の計算に強い
→行列計算が強い
10
ベクトルと行列
スカラー、ベクトル、テンソル
 スカラーは1つの値
 35とか0.5
 ベクトル
 スカラーを並べた物
 {1,2,3,5,6,2}
 テンソル
 ベクトルと計算してベクトルになるのがテンソル
11
全て行列で表せる
ある一定の世代以上は高校数学でテンソルを習っている
12
ベクトル ベクトル
テンソル
ある座標(x, y)をθ回転させたときの座標を求める。
VR、ARではこういう計算がいっぱいでてきます。
13
回転 回転、拡大、
縮小
ホモグラフィー行列
H
𝑥′
𝑦′
= 𝑓 ∙
𝑥
𝑦
スカラーも実はテンソル
投影行列
3次元の画像処理では行列計算が大量に発生するため、行列計算を専用に行うための
GPUが活躍する。
数値計算で行列を勉強するときのNGワード
 物理の世界に迷い込む
 テンソル場、光速
 数学の世界に迷い込む
 公理、○○の性質を持っている物を○○と定義する
 コンピュータサイエンスの世界に迷い込む
 行列の要素が文字列
14
15
実際のアーキテクチャ比較
GPUの基本構造
16
スカラープロ
セッサ
GPUメモリ
グローバルメモリ
ローカルメモリ
プライベートメモリ
レジスタファイル
ALU ALU ALU
ALUALU ALU
ALUALU ALU
ALU
ALU
ALU
大容量DRAM
ベクトル計算用ALU
登場するベクトル型プロセッサ
17
名前 開発時期 性能 備考
Cray X-MP 1984年 400MFLOPS
SX-9 2007年 1.6TFLOPS
(シングルノード)
NECのスパコン
Cell Broadband
Engine
2006年 218GFLOPS
(CELL単体)
PS3
Nvidia GTX 1080 2016年 8.9TFLOPS
Tensilica Vision
DSP P5
2015年 32GFLOPS 半導体の中で使われるDSP
Adreno225 2011年 25GFLOPS SnapDragon
Adreno530 2015年 519GFLOPS SnapDragon
Cray X-MP and SX-9
18
http://jpn.nec.com/hpc/sx9/hardware_s01.html?スカラープロセッ
サ
ローカルメモリ
プライベートメモリ
レジスタファイル
ベクトル計
算用ALU
ローカルメモリは無く、レジスタファイルのみ。
CELL and Tensilica Vision DSP P5
19
https://ja.wikipedia.org/wiki/Cell_Broadband_Engine
PPE
SPE×8
http://ip.cadence.com/ipportfolio/tensilica-ip/image-vision-
processing?CMP=pr100615_VisionP5
スカラープロセッ
サ
ローカルメモリ
プライベートメモリ
レジスタファイル
ベクトル計
算用ALU
Nvidia GTX 1080
20
http://images.nvidia.com/content/pdf/tesla/whitepaper/pascal-architecture-whitepaper.pdf
スカラープロセッサは?
ローカルメモリ
プライベートメモリ
レジスタファイル
ベクトル計
算用ALU
PTX(Parallel Thread
Execution)のデコード
Adreno530 and Adreno225
21
http://arstechnica.com/gadgets/2015/08/snapdragon-820-is-official-a-look-at-its-gpu-and-how-much-the-chip-matters/
http://www.anandtech.com/show/4940/qualcomm-new-snapdragon-s4-msm8960-krait-architecture
情報が全く無い
GPUの基本構造
22
スカラープロ
セッサ
GPUメモリ
グローバルメモリ
ローカルメモリ
プライベートメモリ
レジスタファイル
ALU ALU ALU
ALUALU ALU
ALUALU ALU
ALU
ALU
ALU
大容量DRAM
ベクトル計算用ALU
23
PR
一緒に働く人を募集中
24
■職務内容
画像処理に関するアルゴリズムの検討と、組込システムへの実装
を行います。OpenCV等を用いて、Windows環境で画像処理アル
ゴリズムの検討、評価を行います。アルゴリズムの評価終了後、C
言語による組込プログラミングやVerilog-HDLによるハードウェア
実装を行います。
■必須条件
(1)幾何学変換や画像フィルターなどの基本的な画像処理の知識
(2)組込Cプログラミングによるアルゴリム実装、評価
(3)Verilog-HDLによるアルゴリズム実装、検証
上記3点のうち、最低1点の経験を有すること
■歓迎条件
・DSPプログラミング経験
・FPGA開発経験
・機械学習、Deep Learningに関する知識
・マネージャ、チームリーダー経験
25
お勧めの本

More Related Content

なにわTech20161215

Editor's Notes

  1. フリンの分類
  2. DSPだけどGPU