OSCAR自動並列化コンパイラ...OSCARコンパイラによる...
Transcript of OSCAR自動並列化コンパイラ...OSCARコンパイラによる...
OSCAR APIプログラム
API指示文入りPE0用プログラム
API指示文入りPE1用プログラム
API指示文入りPE n 用プログラム
OSCAR自動並列化コンパイラ
WASEDA UNIVERSITY 早稲田大学 笠原博徳・木村啓二研究室
マルチコアの自動高速化と電力削減http://www.kasahara.cs.waseda.ac.jp研究室ホームページ
Embedded Technology 2017
組込Cプログラムをマルチコア
(arm, ルネサス, Intel, IBM, Freescale,
Qualcomm)用に自動並列化及び
電力削減するソフト
<適用> 自動車, 医療, スマートフォン, ミドルウェア
早稲田大学OSCAR コンパイラ
マルチプラットフォーム対応 : OSCAR APIOSCAR 自動並列化コンパイラ
逐次C or Fortranアプリケーションプログラム
安藤和将白川智也仲田優哉清水勇希清水裕貴阿部佑人山本英雄島岡護見神広紀木村啓二笠原博徳
OpenMPコンパイラ
各社逐次コンパイラ
ルネサス (RP2, RH850)Intel (Haswell, Xeon Phi)IBM (Power, PowerPC)arm (32/64bit)Tilera AMD等
ET2017メンバー
ローカルメモリ管理
容量制限のあるローカルメモリに合わせてループを分割
データをメモリに乗せたまま再利用
ループ整合分割(単一次元) ループ整合分割(多次元) 速度向上率(対共有メモリ利用逐次実行)
0.00
5.00
10.00
15.00
20.00
25.00
1 2 4 8 1 2 4 8 1 2 4 8 1 2 4 8
AACenc MPEG2enc Tomcatv Swim
速度向上率
評価アプリケーションプログラム
共有メモリのみ使用
ローカルメモリ管理
27.61
39.24
21.0115.55
0
10
20
30
40
50
1 3
平均消費電力
[W]
コア数
電力制御なし 電力制御あり
OSCARコンパイラによるHaswellマルチコア上でのOpenCV顔認識処理の自動低消費電力化(Intel 4コアプロセッサ)
WASEDA UNIVERSITY
OSCARコンパイラ
Embedded Technology 2017
Intel Haswell
低消費電力化- 消費電力を2/5に削減 -
Intel Haswell 4コア上での顔認識処理並列化
Intel Haswell 4コアの電力測定
CPU : Intel Core i7 4770Kコア数 : 4周波数 : 3.5GHz〜0.8GHzマザーボード :ASUS H81M-A
PMICとCPU間に電力測定回路を作成
低消費電力化時の平均消費電力
約2/5に削減(-60.37%)約3/5に削減
(-40.68%)
93.06[msec]
48.80[msec]
38.08[msec]
0.00
0.50
1.00
1.50
2.00
2.50
3.00
1 2 3
速度向上率
コア数
約2.44倍に速度向上
最速実行処理時の速度向上率
コンパイラによる省電力化
顔認識処理プログラム
カメラからの入力画像内の顔を検出し、画像上に を描写
OSCARコンパイラによるMATLAB/Simulinkより生成された
アプリケーションの自動並列化 (Intel, arm,ルネサスチップ上)WASEDA UNIVERSITY
OSCARコンパイラ
Embedded Technology 2017
MATLAB/Simulink
マルチグレイン並列化
doall1
sb2 sb3 sb4 sb5 sb6 sb7 sb8 sb9
doall10
emt11
モデルベース開発(Simulink)により生成された血管検出プログラム入力画像における血管部分を抽出入力画像サイズ:512×512【出展】MATLAB CENTRAL
http://jp.mathworks.com/matlabcentral/fileexchange/24990-retinal-blood-vessel-extraction
OSCAR APIプログラムのタスクグラフ図血管検出Simulinkモデル
OSCARコンパイラによる
プログラムの並列性を抽出
中粒度並列化
中粒度並列化
粗粒度並列化
早稲田大学 笠原博徳・木村啓二研究室
自動コード生成ツール
OSCARコンパイラ
逐次コンパイラ(gcc, vc, …)
MATLAB/Simulink自動並列化の流れユーザーはCプログラミング及び手動並列化不要
マルチコア上で簡単に高速化
MATLABファイル
逐次Cプログラム
各コア用Cプログラム
並列実行形式ファイル
マルチグレイン並列化
バイナリ生成
Cプログラム自動生成
・arm・Intel・ルネサス(RH850等)
Simulinkモデル
MATLABファイル(MATLAB)により生成されたCT脳画像再構成プログラムフィルタ補正逆投影法を用いたCT画像の再構成【出展】MATLAB CENTRALhttps://jp.mathworks.com/matlabcentral/fileexchange/34608-ct-reconstruction-package
MATLABファイル 逐次Cプログラム
OSCARコンパイラによる
プログラムの並列性を抽出
MATLAB Coderによる
自動コード生成
OSCAR APIプログラムのタスクグラフ図
Simulinkアプリの4コア時速度向上率(対逐次)
MATLABアプリの4コア時速度向上率(対逐次)
粗粒度並列化
中粒度並列化
Embedded Coderによる
自動コード生成
2.292.84 2.73
3.56
2.03
2.753.2 3.12
1.972.33
2.923.48
0.00
1.00
2.00
3.00
4.00
Road Tracking Image Compression Color Edge Detection Vessel Detection
速度向上率
Intel Xeon E3-1240v3 arm Coretex A15 Renesas SH-4A
2.10 2.43
2.80 3.32
2.07 2.05 2.66
3.91
0.00
1.00
2.00
3.00
4.00
fdtd sobel ctReconstruction Range-DopplerResponse
速度向上率
Intel Xeon CPU E5-2699v3 arm Coretex-A53
早稲田大学 理工学術院 基幹理工学部 情報理工学科笠原博徳・木村啓二研究室
WASEDA UNIVERSITY
Embedded Technology 2016
連絡先〒162-0042 東京都新宿区早稲田町27(40号館)グリーン・コンピューティング・システム研究開発センターTEL: 03-3203-4485 FAX: 03-3203-4523 Eメールアドレス:[email protected]ホームページ:http://www.kasahara.cs.waseda.ac.jp
http://www.kasahara.cs.waseda.ac.jp研究室ホームページ