Automatically Avoiding Memory Access Conflicts on SX-Aurora TSUBASA

Naoki Ebata, Ryusuke Egawa, Yoko Isobe, Ryoji Takaki, Hiroyuki Takizawa · 2020

This paper presents a method for automatically avoiding performance degradation due to memory access conflicts on Vector Engines (VEs) of NEC SX-Aurora TSUBASA. Although VEs have the world's top-class theoretical memory bandwidth, the sustained memory bandwidth is significantly decreased if frequent memory access conflicts occur. In order to fully utilize the potential memory bandwidth of VEs, programmers need to optimize codes manually to avoid the conflicts. However, optimizing all applications executed on VEs is a very time-consuming and cumbersome task for programmers. Therefore, we propose a method to automatically avoid memory access conflicts. First, we introduce a metric that can predict memory memory access conflicts based on memory addresses. Then, based on the metric, we implement an array-like C++ class that automatically avoids memory access conflicts. We evaluate the performance gain by our approach using a simple benchmark and kernel codes of a computational fluid dynamics application. The evaluation results demonstrate that the proposed method can successfully reduce the negative effects of memory access conflicts on performance.

Read the paper · More papers on PaperTik