The Impact of SYCL Data Management on Performance Portability
摘要
SYCL programming model does not guarantee performance portability across different architectures. However, the HPC community severely needs platform-independent performance portable applications more than ever. Therefore, the main challenge of SYCL implementers and application developers is to look for direct or indirect solutions in order to improve the portability, performance, and performance portability of SYCL applications. In this paper we study and analyze the impact of the two main SYCL abstractions for data management, i.e., the unified shared memory and buffer-accessor approaches, on the three pillars of performance portability: portability, productivity, and performance. Experiments were carried out on state-of-the-art CPU and GPU platforms in order to shed light on the effect of different SYCL features on performance. The conclusions that emerged from this study show that by avoiding the use of SYCL performance portability inhibitors, it is possible to develop applications with a realistic level of performance portability.