5. まとめ

本ドキュメントでは、 A64FX向けチューニング技術検討会 で発表されたチューニング事例をもとに、他のアプリケーションプログラムにも共通して応用可能な施策を説明しました。 これらの施策は、対象ループにおいて、例えば以下のような速度向上が得られるものです。

目的

施策

対象ループの速度向上率

SIMD化の促進

データ依存最内ループのループ交換

3.04倍

少回転最内ループのループ交換

2.02倍

不完全入れ子ループのループ分割

1.19倍

演算待ち時間の削減

巨大ループのループ分割

1.78倍

少回転最内ループのループストライピング

1.37倍

キャッシュアクセス待ち時間の削減

非連続アクセス最内ループのフルアンローリング

3.35倍

AoS型多次元配列の次元入れ替え

1.51倍

配列ポインタへのcontiguous属性追加

1.79倍

アプリケーションプログラムの速度向上を検討されている読者には、CPU性能解析レポートなどの性能プロファイラの結果を参考としつつ、これらの施策の中から適用可能なものの有無を確認することをお勧めします。