• ヘテロジニアスプロセッサ向けにコア割当された BLXML から RTOS + Linux + FPGA で動作するランタイムの生成を実現
Simulink システムモデル
A B C
E
D F
G RT
RT RT
10m 10m 1m 1m 10m 100μ 100μ
RT
HW/SW協調設計用コード
C E
D F
m1 1 m 100μ 100μ CP2
CP1 CP4 CP3
SW(1) = C SW(2) = D HW = E,F B ch1 C
G ch2 D
OS間通信 情報
A B G
10m 10m 10m
POSIXスレッド 化コード
SW/HW IF生成 ソフトウェア
コンパイル ハードウェア 合成 コンフィギュ 高位合成
レーション
ランタイム合成 ソフトウェア
コンパイル
APU1-4Linux
A E
RPU1ATK2 F
G 1mC
Task 100u
HW 100u RPU2 HW
1mD 10m Task
Thread B
HS協調設計
MBP
MDCOM
VivadoHLS
実機実行 可視化・
性能解析 シミュレーション実行QEMU
Yamamoto[APRIS2020]
G on Jan 18, 2021. Copyright © 2021
Nagoya University. All Rights Reserved.
サイバーチャンネル
Parallel & Distributed Systems Lab. 34
目次
• どうしてモデルレベルでの並列化なのか
• 課題と研究状況
– 並列化 – 性能見積 – 検証
• 組込みマルチコアコンソーシアムについて
G on Jan 18, 2021. Copyright © 2021
Nagoya University. All Rights Reserved.
サイバーチャンネル
SHIMとは
Software-Hardware Interface for Multi-many-core
• 多様なマルチコアチップを抽象化したXML記述
–
コア種類・数、メモリ配置、アドレスマップ、通信、コア→メモリ性能情報等が、数百 ページの説明書を読まずとも、機械的に読める–
性能情報の例:コアAからメモリ番地Xにアクセスしたときの(best, typ, worst)レイテ ンシ(右下図参照)、LLVM-IR命令ごとのプロセッサ性能情報–
ツール群、OS等がSHIM対応することにより、多様なマルチコアチップを共通的に扱 えるようにすることが目的SHIM2.0はIEEE 2804-2019として標準化
Open SHIM Github https://github.com/openshim/shim
コア→メモリ性能情報
SHIM記述例
IEEE 2804 SHIM対応ツール群
並列化支援 システム
解析 ・・・
SHIM対応マルチコアOS マルチコアチップ
国際標準化
仕様検討
SHIM WG SHIM コア、メモリ、
性能情報
. Copyright © 2021 Embedded Multicore Consortium. All Rights Reserved.
SHIMのユースケースとメリット
•
マルチコアにおけるアプリケーション実行性能見積•
マルチコア選定時のアプリケーション実行性能比較•
異なるマルチコアへのアプリケーション移植の際の性能見積•
複数マルチコアをターゲットとしたソフトウェア部品開発•
特定アプリケーション向けに特化したマルチコアを企画する際の性能評価•
マルチコア向け開発支援を行う各種ツールの開発コスト低減とSHIM対応 ツールエコシステム• システム性能見積
• ハードウェアモデリング/複数 HWの対応
• ツールコンフィギュレーション
見積誤差±20%が目標
Copyright © 2021 Embedded Multicore Consortium. All Rights Reserved.
Parallel & Distributed Systems Lab. 37
モデルレベルでどう性能評価するのか?
モデル(内の各ブロッ ク)に対応するコードを LLVM 中間表現に変換し、
SHIM で性能見積を行う
G on Jan 18, 2021. Copyright © 2021
Nagoya University. All Rights Reserved.
サイバーチャンネル
Parallel & Distributed Systems Lab. 38