Optimization of fusion kernels on accelerators with indirect or strided memory access patterns
間接メモリアクセスおよびストライドメモリアクセスを含む核融合カーネルの演算加速器における最適化
朝比 祐一* ; Latu, G.*; 伊奈 拓也; 井戸村 泰宏 ; Grandgirard, V.*; Garbet, X.*
Asahi, Yuichi*; Latu, G.*; Ina, Takuya; Idomura, Yasuhiro; Grandgirard, V.*; Garbet, X.*
セミ・ラグランジュ法における間接メモリアクセス、有限差分法におけるストライドメモリアクセスといった複雑なメモリアクセスパターンを有する核融合プラズマ乱流コードの高次元ステンシル計算をGPGPUやXeon Phiプロセッサ等の演算加速器上で最適化した。どちらのデバイスでも、Array of Structure of Array (AOSOA)データレイアウトが連続的なメモリアクセスに有効である。Xeon Phiでは時空間データ局所性の向上によるローカルキャッシュの効率的利用が必要不可欠である。GPGPUではテクスチャメモリの利用がセミ・ラグランジュ法の間接メモリアクセス性能を向上する。これらの最適化により、アクセラレータ用核融合カーネルはCPU用カーネルに比べてSandy Bridge (CPU)用最適化コードに比べて1.4x - 8.1x高速化した。
High-dimensional stencil computation from fusion plasma turbulence codes involving complex memory access patterns, the indirect memory access in a Semi-Lagrangian scheme and the strided memory access in a Finite-Difference scheme, are optimized on accelerators such as GPGPUs and Xeon Phi coprocessors. On both devices, the Array of Structure of Array (AoSoA) data layout is preferable for contiguous memory accesses. It is shown that the effective local cache usage by improving spatial and temporal data locality is critical on Xeon Phi. On GPGPU, the texture memory usage improves the performance of the indirect memory accesses in the Semi-Lagrangian scheme. Thanks to these optimizations, the fusion kernels on accelerators become 1.4x - 8.1x faster than those on Sandy Bridge (CPU).