Generating memory efficient program for SX-ACE in parallel code generator Flint

 

Authors:Masao Okita, Yuichiro Ishida and Kenichi Hagihara

Affiliation:Graduate School of Information Science and Technology, Osaka University

Abstract:Flintは生体機能を表現する数理モデルを入力として,並列実行可能なシミュレーションコードを生成する.多様な並列環境に応じた実行効率の高いシミュレーションの実現を目指している.本研究の目的は,SX-ACE上で実行効率の高いコードを生成するようFlintを拡張することである.Flintは不規則な参照パターンを含むプログラムに対するベクトル化効率を最大化するため,配列の間接参照を多用したコードを生成する.依存関係を明示することで間接参照のベクトル化が可能であるが,直接参照と比較するとメモリ参照のコストが大きい.
そこで本研究では,参照パターンを解析し不必要な間接参照を自動的に削減する手法を提案する.さらに,間接参照が減少するようにデータ配置とベクトル化されるループ内の参照順を最適化する.
心筋細胞の膜電位モデルから生成したコードに対して,提案手法はSX-ACE上の実行時間を最大25%削減した.手法の適用前後で,メモリバンド幅ピーク性能比は15%から20%に向上した.

 




Posted : March 01,2018