Upload
natsutani-minoru
View
66
Download
0
Embed Size (px)
Citation preview
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/NVIDAの公式用語
本書の定義と 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年 400MFLOPSSX-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
お勧めの本