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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

The Impact of SYCL Data Management on Performance Portability

  • Ami Marowka

摘要

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.