oscar自動並列化コンパイラ...oscarコンパイラによる...

4
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 API OSCAR 自動並列化コンパイラ 逐次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 速度向上率 評価アプリケーションプログラム 共有メモリのみ使用 ローカルメモリ管理

Upload: others

Post on 04-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OSCAR自動並列化コンパイラ...OSCARコンパイラによる MATLAB/Simulinkより生成された アプリケーションの自動並列化(Intel, arm,ルネサスチップ上)

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

速度向上率

評価アプリケーションプログラム

共有メモリのみ使用

ローカルメモリ管理

Page 2: OSCAR自動並列化コンパイラ...OSCARコンパイラによる MATLAB/Simulinkより生成された アプリケーションの自動並列化(Intel, arm,ルネサスチップ上)

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倍に速度向上

最速実行処理時の速度向上率

コンパイラによる省電力化

顔認識処理プログラム

カメラからの入力画像内の顔を検出し、画像上に を描写

Page 3: OSCAR自動並列化コンパイラ...OSCARコンパイラによる MATLAB/Simulinkより生成された アプリケーションの自動並列化(Intel, arm,ルネサスチップ上)

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

Page 4: OSCAR自動並列化コンパイラ...OSCARコンパイラによる MATLAB/Simulinkより生成された アプリケーションの自動並列化(Intel, arm,ルネサスチップ上)

早稲田大学 理工学術院 基幹理工学部 情報理工学科笠原博徳・木村啓二研究室

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研究室ホームページ