並列計算への道 2015年版
TRANSCRIPT
![Page 1: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/1.jpg)
並列計算への道 2015 年版The Road of Parallel Computing
シンビー2015/5/1
![Page 2: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/2.jpg)
コンピュータの比較1976 TK-80 2015 iPad
89,500 円コンピュータ博物館および Apple 社 HP より引用
![Page 3: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/3.jpg)
ゲーム機比較1979 TVブロックゲーム 2013 PlayStation 4
<="">
13,500 円akiba.geocities.yahoo.co.jp Playstation.com から引用
![Page 4: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/4.jpg)
初歩のラジオ 1980 8 月号
taiyoyaro.ocnk.net から引用
![Page 5: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/5.jpg)
ラジオだけにアンプ作成の記事とかもある フィードバックがあるのが特徴
noritsugu.at.webry.info から引用
![Page 6: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/6.jpg)
ないものは作る (1980 頃 )
noritsugu.at.webry.info から引用
![Page 7: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/7.jpg)
拡大
★ 競馬ゲーム”ダービー” ★ TV タンク戦争ゲーム
![Page 8: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/8.jpg)
1980 年頃の最新ゲーム機
http://www.areiz6.com から引用
![Page 9: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/9.jpg)
ないから作る
http://www.geocities.jp/shoranosekai/Game-1.html から
![Page 10: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/10.jpg)
中身はこう
C-MOS の IC が 3 個使ってあります (4017B×2 、 4093B×1)
http://www.geocities.jp/shoranosekai/Game-2.html から
![Page 11: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/11.jpg)
4017B
![Page 12: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/12.jpg)
4093B
![Page 13: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/13.jpg)
AND + NOT(NAND) 回路
![Page 14: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/14.jpg)
状態遷移マシン
http://www.geocities.jp/shoranosekai/Game-1.html から状態遷移マシン
入力
出力
![Page 15: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/15.jpg)
CMOS NAND ゲート中身は MOSFETでアナログ
![Page 17: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/17.jpg)
トランジスタと FET
バイポーラ・トランジスタはスイッチや増幅といった働きを入力電流で制御しているのに対して、 MOSFET は入力電圧による電界で制御している。 (Wikipedia から )
![Page 18: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/18.jpg)
トランジスタには増幅作用はない??
ベースに貧弱な電流を入れると、入れた電流に応じて本流の大きな電流を調節できる のがトランジスタです
![Page 19: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/19.jpg)
トランジスタを使った回路
![Page 20: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/20.jpg)
自己バイアスをかけると安定フィードバックをかけると安定
![Page 22: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/22.jpg)
いろいろなゲート
![Page 23: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/23.jpg)
加算回路 ( ハーフアダー )
A B C S0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
XOR
AND
![Page 24: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/24.jpg)
加算回路 ( フルアダー )
前の位からの繰上
![Page 25: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/25.jpg)
加算回路 ( フルアダー )
前の位からの繰上
![Page 26: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/26.jpg)
複数ビットの加算器
AND/OR 回路の組み合わせで加算器ができる
![Page 27: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/27.jpg)
乗算器
idlef54a.blog.fc2.com から引用
![Page 28: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/28.jpg)
2 の補数• 2 の補数を使うと
– 足し算だけで引き算ができる• 4bit の引き算 : 0100 – 0011 を考える (4-3)• 0100 – 0011 • 0100 + (0011 の 2 の補数 )• 0100 + (1100 + 1)• 0100 + 1101• 0100 + 1101 => 10001 => 0001
![Page 29: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/29.jpg)
除算器
www.geocities.jp/hiroyuki0620785/intercomp/logic/adder/Divider.htm から引用
![Page 30: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/30.jpg)
AND/OR → 加減ジョジョ加減
乗算 除算
![Page 31: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/31.jpg)
1979 の電卓時計機能付手帳電卓
8 桁液晶表示7,900 円
casio.ledudu.com から引用
![Page 32: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/32.jpg)
RS フリップフロップ出力が入力へフィードバック
![Page 33: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/33.jpg)
AND/OR → 加減乗除 + 記憶加減
乗算 除算
FF
![Page 34: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/34.jpg)
Dフリップフロップ
![Page 35: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/35.jpg)
AND/OR → 加減乗除 + 記憶 + クロック加減
乗算 除算
FF
![Page 36: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/36.jpg)
Intel 4004
1971 年発表、 4 ビットマイクロプロセッサである。クロック周波数は、 500kHz から 741kHz
![Page 37: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/37.jpg)
ムーアの法則
集積回路上のトランジスタ数は「 18 か月( =1.5 年)ごとに倍になる」Intel HP から引用 (?)
![Page 39: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/39.jpg)
実際のリコンウエハ
d.hatena.ne.jp/SuperPC_JUNS から引用
![Page 40: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/40.jpg)
コンピュータの比較1976 TK-80• 8bit CPU• 2.4576MHz• ROM:256 B• RAM:128 B
2015 NEC PC• 64bit CPU• 3.6 GHz(4.0GHz)• HDD:1T• RAM:16G
![Page 41: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/41.jpg)
科学技術計算例void matrixmultiply(double a[N][N],double b[N][N],double c[N][N]) { int i,j,k;
for(i=0;i<N;i++) { for(j=0;j<N;j++) {
for(k=0;k<N;k++) { c[i][j]+=a[i][k]*b[k][j];
} }
} }
![Page 42: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/42.jpg)
1976→2010
1976 TK-80• 8bit CPU• 2.4576MHz• ROM:256 B• RAM:128 B
2010 NEC PC• 64bit CPU• 3.6 GHz(4.0GHz)• HDD:1T• RAM:16G
void matrixmultiply(double a[N][N],double b[N][N],double c[N][N]) { int i,j,k;
for(i=0;i<N;i++) { for(j=0;j<N;j++) {
for(k=0;k<N;k++) { c[i][j]+=a[i][k]*b[k][j];
} }
} }
勝手に1000倍以上早くなる
![Page 43: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/43.jpg)
クロック周波数は頭打ち
acm.org から引用
![Page 44: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/44.jpg)
1976→2010→2015
1976
• 2.5MHz
2010
• 3.0MHz
2015
• 4.0MHz
勝手に1000倍以上早くなる 勝手にはそうそう早くならない
![Page 45: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/45.jpg)
2010→2015
2010 Core i7 (Lynnfield)• 3.06GHz• コア数 4(8)
2015 Core i7 Extreme(Haswell)
• 3.0GHz(3.5GHz)• コア数 8(16)
2010 Xeon (Lynnfield)• 3.06GHz• コア数 4(8)
2015 Xeon E5-2699 v3(Haswell)
• 2.3GHz(3.6GHz)• コア数 18(36)
![Page 47: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/47.jpg)
積和演算 ( 行列演算 )
並列計算が可能
![Page 48: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/48.jpg)
こう書いても早くならないvoid matrixmultiply(double a[N][N],double b[N][N],double c[N][N]) { int i,j,k;
for(i=0;i<N;i++) { for(j=0;j<N;j++) {
for(k=0;k<N;k++) { c[i][j]+=a[i][k]*b[k][j];
} }
} }
![Page 49: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/49.jpg)
それぞれを独立して計算すれば早くなる
![Page 50: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/50.jpg)
それぞれを独立して計算すれば早くなる
![Page 51: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/51.jpg)
処理を各コアに割り当てる( スレッド対応 )
![Page 52: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/52.jpg)
並列化の方法• スレッド• OpenMP• MPI• Intel Threading Building Blocks(TBB)• GPGPU
– OpenCL– CUDA
• Parallella (Epiphany)• FPGA で専用ハードを作る
![Page 53: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/53.jpg)
Agenda
• GPGPU– OpenCL– CUDA
• Parallella (Epiphany)• FPGA で専用ハードを作る• 何を計算させるか?
![Page 54: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/54.jpg)
GPGPU を使う方法• GPU = Graphics Processing Unit
16,480 円3D のゲームに強い
msi.com から引用 (?)
![Page 55: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/55.jpg)
GTX 750i
CUDA コア 640
クロック 1.02 GHz(1.085G)
メモリインタフェース
128-bit GDDR5
Processing Power 1306GFlops(Single float)
Wikipedia より
Intel Xeon E5-2699 v3(Haswell)
16 ~ 18 コア569,915 円
VS?? Intel Xeon??
16,480 円
547.2Gflops
![Page 56: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/56.jpg)
16,480 円
GTX 750i vs スパコン ??
CUDA コア 640
クロック 1.02 GHz(1.085G)
メモリインタフェース
128-bit GDDR5
Processing Power 1306GFlops(Single float)
Wikipedia よりPRIMEHPC FX102014 理研が購入
384 ノードx 16 コア =6144
2億円~90.8TFLOPS
69 倍以上の性能差 ?
![Page 57: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/57.jpg)
GTX750i (Maxwell) の本当の姿5 基の Maxwellストリーミング・プロセッサ( SMM )
nvidia.com から引用
![Page 58: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/58.jpg)
SMM の中身
4つのインストラクションバッファ 細かいところは企業秘密らしいインストラクションバッファが4つということは CPU的な CORE が4つ ?メモリサイズは?不明キャッシュサイズも不明
CORE がいっぱいCORE = 演算ユニット
CPU ではない
![Page 59: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/59.jpg)
GTX 750i vs Intel XeonGTX750i Xeon E5-2699
CPU 的コア 20? 36
クロック 1.02 GHz(1.085G)
2.3GHz(3.6GHz)
計算用 Core 640 8?x36=288理論 GFLOPS から逆算
GFLOPS 1306 547.2
569,915 円16,480 円
GPU に特化したプロセッサー OS も載る汎用プロセッサー
CUDA コアが 640 あるがそれを効率的に生かせるかどうかは対象となるアプリしだいスパコンの FLOPS と比べるのはおそらくナンセンスでしょう
![Page 60: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/60.jpg)
GPU が強みを発揮する分野
一つ一つの処理の関連性が薄いポリゴンの計算=Graphic Processing
![Page 61: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/61.jpg)
GPGPU
科学技術計算とかにつかえるのでは?2001プログラマブル GPU 「 GeForce3 」General-purpose computing on graphics processing units
2001業界初のプログラマブルGPU「GeForce3」を発表DirectX 8対応、Vertexシェーダ/Pixelシェーダ搭載
This example performs an NBody simulation which calculates a gravity field and corresponding velocity and acceleration contributions accumulated by each body in the system from every other body. This example also shows how to mitigate computation between all available devices including CPU and GPU devices, as well as a hybrid combination of both, using separate threads for each simulator
![Page 62: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/62.jpg)
CUDA開発環境 1/2
NVIDIA が提供する GPU向けの C言語の統合開発環境であり、コンパイラ (nvcc) やライブラリなどから構成されている。
![Page 63: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/63.jpg)
CUDA開発環境 2/2
![Page 65: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/65.jpg)
OpenCL
khronosu.org から引用
![Page 66: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/66.jpg)
OpenCL vs CUDA
CUDA• nVIDIA という企業の技術• C/C++ を使う
OpenCL• KHRONOS という団体が推奨している一般技術• C ライクな言語を使う
Intel や AMD の製品では CUDA は使えない
amd.com から引用
![Page 67: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/67.jpg)
まとめ :CPU vs GPU
CPU• 2.0 ~ 4.0 GHz• 4 ~ 36 コア• 汎用的なコア• ~ 288 の演算器
GPU(GTX750i)• 1GHz 程度• 20(程度 ) の CPU的コア• GPU に特化したコア• 640 の CUDA コア
あくまで CPU を補助する特定分野に強い計算機CPU と GPU を比べるのはおそらくナンセンスでしょう
![Page 68: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/68.jpg)
参考 :Tesla K80nVIDIA 社のサーバ用
GPGPU
グラフィックスプロセッサ NVIDIA® GK210 × 2
CUDA コアプロセッサ 4992 コア (1GPU あたり 2496 コア )
倍精度浮動小数点性能 2.91 TFlops (GPU Boost Clocks)1.87 Tflops (Base Clocks)
単精度浮動小数点性能 8.74 Tflops (GPU Boost Clocks)5.6 Tflops (Base Clocks)
グラフィックカードではないので表示をする機能がない
![Page 69: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/69.jpg)
参考 :TSUBAME (つばめ)東京工業大学に設置された大規模クラスター型スーパーコンピュータの名称。Linpackベンチマークで 38.18TFLOPS を達成し、 2006 年 6 月の世界のスーパーコンピュータ性能ランキング TOP500 において、7 位にランクインした
TSUBAME 2.5"THIN" ノード (1408 ノード ) -- HP SL390s G7, Xeon X5670 2つ , NVIDIA Tesla K20X 3つ , メモリ 54GiB or 96GiB"Medium" ノード (24 ノード ) -- HP DL580 G7, Xeon 7550 4つ , NVIDIA Tesla S1070 or S2070, メモリ 128GiB"Fat" ノード (10 ノード ) -- HP DL580 G7, Xeon 7550 4つ , NVIDIA Tesla S1070, メモリ 256GiB or 512GiB
Amazon で\78,800
Amazon で¥ 492,156
![Page 70: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/70.jpg)
参考 : スパコン TOP500(2014 Nov.)
既製品をつかっていて、意外とすごみがない価格 com で \345,275780 億円 !!
\83,807 * 35040 = 28 億円 !!
![Page 71: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/71.jpg)
ベンチマーク早くても意味なし• どんな計算をさせるかの方が重要 !!
![Page 72: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/72.jpg)
早稲田大学のスパコン事情2011 年 3 月 3日早稲田大学の「グリーン・コンピューティング・システム研究開発センター」に先行納入8 コア POWER7® プロセッサーを用いた世界最大級の空冷 128 コアSMP(Symmetric Multi-Processor) システム1 ノードあたり約 8.2TFLOPS の理論ピーク性能
2007 年 12 月 25日日本 SGI が 早稲田大学・笠原研究室にミッドレンジサーバ「 Altix 450 」を納入「デュアルコア Itanium 2 」を、 1 システム当たり 16 コアを搭載SGI Altix 450 1Node 0.24TFLOPS = 13GFLOPS×18CPUs(36cores)CPU : Intel Itanium 9140M 1.66GHz dual-coreMemory : 512GB/nodes
![Page 73: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/73.jpg)
Agenda
• GPGPU– OpenCL– CUDA
• Parallella (Epiphany)• FPGA で専用ハードを作る• 何を計算させるか?
![Page 74: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/74.jpg)
Parallella について• Parallella は Adapteva 社が販売をしている
– Epiphany というマルチコアチップ– 並列コンピューティングをターゲット–名刺サイズのコンピュータ
\17,318 ~ \34,493
![Page 75: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/75.jpg)
Parallella の中身
マルチコア(Epiphany)
![Page 76: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/76.jpg)
コアが高速ネットワーク ( メッシュ ) でつながれているネットワークでつながれている
![Page 77: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/77.jpg)
コアの中身メモリ
演算器が2つ
![Page 78: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/78.jpg)
GPU vs Parallella
GPU(GTX750i)• 1.02GHz• 20(程度 ) の CPU的コア• GPU に特化したコア• 640 の CUDA コア• 詳細スペック未公開
– PTX コードと呼ばれる仮想的なコードだけ公開• 1306 GFLOPS(Peak Performance)
– 640 * 2 * 1.02GHz
Parallella(Epiphany)• 1GHz• 16 個の Epiphany( 拡張可能 )
• 汎用 CPU• 演算器 2つ• 32K バイトのローカルメモリ• DMA エンジン• 32 GFLOPS (Peak Performance)
– 16 x 2 x 1 GHz
GPU と Parallella を比べるのはおそらくナンセンスでしょう
![Page 79: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/79.jpg)
Parallella タワー128 GFLOPS!!
![Page 80: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/80.jpg)
おまけ :8192 GFLOPS!!
![Page 81: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/81.jpg)
Parallella について、詳しくは
細かい話は記事を読んでください。
![Page 82: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/82.jpg)
Parallella まとめ• Parallella をつかうと“なにか”できそう。
– C/C++ でプログラミングができる
![Page 83: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/83.jpg)
Agenda
• GPGPU– OpenCL– CUDA
• Parallella (Epiphany)• FPGA で専用ハードを作る• 何を計算させるか?
![Page 84: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/84.jpg)
FPGA とはなにか?• Field Programmable Gate Array の略
自分の好きな回路を書ける
xilinx.com から引用 (?)
![Page 85: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/85.jpg)
L チカ (LED チカチカ )
SW
![Page 87: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/87.jpg)
クロックに同期した処理が得意
![Page 88: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/88.jpg)
FPGA で画像処理の例
1920×1080@60P なら150MHz のスピードの入力
メモリにためることなくリアルタイムで出力
![Page 89: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/89.jpg)
FPGA の特徴• 自分で回路を組むことができる
– 並列処理で特殊処理を組むことが可能• ソフトウェアでは達成できないタイミングの処理、とりわけクロックに同期する処理を可能とする
– 処理時間が一定しない処理は苦手• 動作スピードは 100MHz ~ 200MHz
– 中には特殊な機能を積んであるチップで 1G Hz を超える入出力も可能なものもある。その場合でも、内部は 100MHz ~ 200MHz
![Page 90: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/90.jpg)
Agenda
• GPGPU– OpenCL– CUDA
• Parallella (Epiphany)• FPGA で専用ハードを作る• 何を計算させるか?
![Page 91: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/91.jpg)
比較動作クロック
クロックに同期した処理
並列処理
整数演算
(浮動 )小数点演算
階層のある処理
柔軟性
PC(intel) 3G~ × ▽ ○ ○ ◎ ◎GPGPU 1 ~ 2G × ◎ ○ ◎ ▽ ○
FPGA 100M ~200M
◎ ◎ ○ ▽ ▽ ▽
動作クロックを考えると PCが圧倒的に早いクロック同期をするような処理は FPGA が断然得意
並列処理は GPGPU も FPGAも得ルートの計算や割り算は PC が
GPGPU が得意。積和演算ならFPGA も得意
階層のある (再帰処理のある ) 処理は PC が得意
![Page 92: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/92.jpg)
何を計算させるか?• マンデンブロ集合?
– 並列処理のデモとして格好の対象• それぞれの計算が独立• 分割が用意
– 入力がない• 入力データがなく、結果は出力だけ
![Page 93: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/93.jpg)
並列計算の流れ処理
分割 割り振り
結果を集約
![Page 94: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/94.jpg)
おさらい
CUDA での処理 Parallella の内部構造
ネットワークを通してデータのやり取りネットワークで繋がれている
![Page 95: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/95.jpg)
並列処理のコスト• 計算のコスト• ネットワークのコスト
– 処理を割り振るときにネットワークを使用する– 処理結果を得るときにネットワークを使用する
![Page 96: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/96.jpg)
並列計算 ( 例 1)
60
10
10
10
10
10
10
5
入力のコスト 出力のコスト
5
トータルの時間 =5 + 10 + 5
![Page 97: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/97.jpg)
並列計算 ( 例 2)
60
1010
10
10
1010
5
入力のコスト 出力のコスト
5
トータルの時間 =5 + 10 + 10 + 5
計算に順序性がある
![Page 98: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/98.jpg)
並列計算 ( 例 3)
60
5
5
入力のコスト 出力のコスト
5
トータルの時間 =5 + 5 + 5 + 5 + 5 + 5 + 5 + 5
パイプライン化粒度が細かければ効果的
5 55 5 5
5
5 5 5 55
![Page 99: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/99.jpg)
最適な手段はケースバイケース• 4GHz CPU で単純に計算した方が早い• 1GHz の GPGPU で並列計算した方が早い• 100MHz の FPGA で並列計算した方が早い
• 関連する項目– 並列の粒度– 順序性– ネットワークのスピード– ノード計算能力
![Page 100: 並列計算への道 2015年版](https://reader035.vdocuments.mx/reader035/viewer/2022062901/58f23a561a28abca698b45dd/html5/thumbnails/100.jpg)
力尽きたのでこの辺で終わり
メッシュ分割 領域分割 - FrontISTR · 2015. 9. 11. · FrontISTRにおける 並列計算のしくみ <領域分割に基づく並列FEM> FEMの主な演算 剛性マトリックスの作成
Femtet 2017...並列逐次スイープの並列数自動設定機能を追加 10 並列逐次スイープの並列数が、自動設定できるようになりました •InCoreメモリで計算できる最大の並列数を、Femtet®