• 検索結果がありません。

MacCormackスキームを用いた吸排気管シミュレーションのOpenMPによる並列化

N/A
N/A
Protected

Academic year: 2021

シェア "MacCormackスキームを用いた吸排気管シミュレーションのOpenMPによる並列化"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)2017年ハイパフォーマンスコンピューティングと計算科学シンポジウム High Performance Computing Symposium 2017. HPCS2017 2017/6/5. MacCormack スキームを用いた吸排気管シミュレーションの OpenMP による並列化 胡濱 良樹,石崎 大智,窪田 昌史,谷川 一哉,弘中 哲夫 広島市立大学大学院 情報科学研究科. 1. はじめに. 表 1: データセットの一覧 データセット名 管数 セル数 合計セル数.  昨今,自動車の開発領域においてモデルベース開発 (MBD;. Model Based Development) の重要性が増している [1]. MBD の目的は短期間かつ低コストで自動車を開発する ことである.MBD ではコンピュータによる数値の計算を. model1. 100. 3∼31. 1719. model2. 1000. 3∼31. 18674. 行い実空間の現象をコンピュータ上で再現するため,計算 時間が問題となる場合がある.  本研究では自動車開発で用いられる,吸排気管内の物理 量の推定を行う「吸排気管シミュレーション」を対象とし て高速化を図る.高速化手法として OpenMP による並列 化を用いる.OpenMP はマルチスレッドプログラミング を可能にする API であり,OpenMP 指示文を挿入するこ とでプログラムのスレッド化を行う [2].. 2. 吸排気管シミュレーション.  本研究では 1 次元の吸排気管モデルを対象とする.吸排 気管は複数に分割され,各管はセルと呼ばれる領域に分割 図 2: シミュレーション 1000 回あたりの実行時間. されている.管内の物理量の計算には有限差分法の一つで ある MacCormack スキーム [3] を使用する.図 1 にスキー ムの計算順序を示す. 図 1 より,このスキームは「予測. 4. 評価.  本研究では吸排気管シミュレーションを 1000 回反復し た際の MacCormack スキーム部にかかる処理時間を評価 する.比較対象として並列化前のベースプログラムの実行 時間を使用する.データセットは図 1 に示す 2 種類を使用 し,以下の環境で評価を行う..    図 1: MacCormack スキームの計算順序 段階」と「修正段階」の 2 段階構成であり,各セルでは並 列計算が可能である.吸排気管シミュレーションの内,ス キーム部にかかる演算時間が多く,高速化の必要性がある ため OpenMP による並列化を行う.. 3. OpenMP コードの最適化. • CPU:Intel(R) Xeon(R) [email protected] • コア数:8 • 最大スレッド数:16(ハイパースレッディング時) • コンパイラ:GCC 4.4.7(最適化オプション:-O3)  図 2 よりスレッド数 16 の時,ベースプログラムに比べ て model1 では 2.09 倍,model2 では 5.64 倍高速だった. model1 が model2 と同等の倍率で高速化できなかった要因 として,セル数が少ない場合はスレッド制御にかかるオー バヘッドの割合が大きいためだと推測できる.. 5. おわりに.  吸排気管シミュレーションでは「(3 ×管の本数) 回」の.  本研究では OpenMP を用いて吸排気菅シミュレーショ. スレッド分岐が発生する.したがって,OpenMP 指示文を. ンにおける MacCormack スキームの並列化を行った.コー. 挿入したコードに対し,スレッド制御にかかるオーバヘッ. ドの最適化ではスレッド制御にかかるオーバヘッドの削減. ド削減のための最適化を行った.. を目的として,1)MacCormack スキームの呼び出し回数の. 1. MacCormack スキームの呼び出し回数の削減 吸排気管は複数に分割され各管に対してスキームを. 削減と 2) ループ融合を行った.スレッド数・データセット. 適用するため,その度にスレッド分岐が発生する.そ. 達成できた.今後は MacCormack スキーム部以外の領域. こで,分割された管を連結し擬似的に一本の管とし. を対象とした高速化を検討する.. て見なすことで,シミュレーション 1 回当たりのス. 参考文献. レッド分岐回数を「3 回」に削減した.. [1] 窪田昌史,國光修司,寺岡陽一,矢野康英,北村俊明:自動車のモデル ベース開発におけるシミュレーションの GPGPU における高速化,情 報処理学会研究報告,Vol.2015-HPC-148,No.14,pp.1-6(2015).. 2. ループ融合 初期化,予測段階,修正段階の 3 つのループから成. を変更して評価を行った結果,最大で 5.64 倍の高速化が. るスキームをループ融合により 1 つにすることで,. [2] 菅原清文:C/C++プログラマーのための OpenMP 並列化プログ ラミング,株式会社カットシステム (2009).. シミュレーション 1 回当たりのスレッド分岐回数を. [3] 藤井孝藏:流体力学の数値計算法,財団法人東京大学出版会 (1994).. 「1 回」に削減した. ⓒ 2017 Information Processing Society of Japan. 8.

(2)

参照

関連したドキュメント

攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな

テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。

推計方法や対象の違いはあるが、日本銀行 の各支店が調査する NHK の大河ドラマの舞 台となった地域での経済効果が軒並み数百億

議論を深めるための参 考値を踏まえて、参考 値を実現するための各 電源の課題が克服さ れた場合のシナリオ

子どもが、例えば、あるものを作りたい、という願いを形成し実現しようとする。子どもは、そ

・少なくとも 1 か月間に 1 回以上、1 週間に 1

駐車場  平日  昼間  少ない  平日の昼間、車輌の入れ替わりは少ないが、常に車輌が駐車している

1.3で示した想定シナリオにおいて,格納容器ベントの実施は事象発生から 38 時間後 であるため,上記フェーズⅠ~フェーズⅣは以下の時間帯となる。 フェーズⅠ 事象発生後