GPU-embedded systems have gained popularity across various domains due to their efficient power consumption. However, in order to meet the demands of real-time or time-consuming applications running on these systems, it is crucial for them to be tuned to exhibit high performance. This paper addresses the issue by developing and comparing two tuning methodologies on GPU-embedded systems, and also provides performance insights for developers and researchers seeking to optimize applications running on these architectures. We focus on parallel prefix operations, such as FFT, scan primitives, and tridiagonal system solvers, which are performance-critical components in many applications. The study introduces an analytical model-driven tuning methodology and a Machine Learning (ML)-based tuning methodology. We evaluate the performance of the two tuning methodologies for different parallel prefix implementations of the BPLG library in an NVIDIA Jetson system, and compare their performance to the ones achieved through an exhaustive search. The findings shed light on the best strategies for handling the open challenge of performance portability for major computational patterns among server and embedded devices, providing practical guidance for offline and online tuning. We also address the existing gap in performance studies for parallel computational patterns in GPU-embedded systems by comparing the BPLG performance against other state-of-the-art libraries, including CUSPARSE, CUB, and CUFFT.
翻译:GPU嵌入式系统因其高效能耗在各领域广受欢迎。然而,为满足这些系统上运行的实时或耗时应用的需求,必须对其进行调优以展现高性能。本文通过开发并对比两种针对GPU嵌入式系统的调优方法,为致力于优化此类架构上应用的开发者和研究人员提供性能洞见。我们聚焦于并行前缀运算(如FFT、扫描原语和三对角系统求解器),这些是众多应用中的性能关键组件。本研究引入了一种分析模型驱动的调优方法和一种基于机器学习(ML)的调优方法。我们在NVIDIA Jetson系统中评估了这两种调优方法对BPLG库不同并行前缀实现的性能影响,并将其性能与穷举搜索所得结果进行了对比。研究结果揭示了应对计算模式在服务器与嵌入式设备间性能可移植性这一开放性挑战的最佳策略,为离线与在线调优提供了实践指导。此外,通过将BPLG性能与其他最新库(包括CUSPARSE、CUB和CUFFT)进行对比,本文填补了GPU嵌入式系统中并行计算模式性能研究领域的现有空白。