A Portable High-Productivity Approach to Program Heterogeneous Systems
Citations Over Time
Abstract
The exploitation of heterogeneous resources is becoming increasingly important for general purpose computing. Unfortunately, heterogeneous systems require much more effort to be programmed than the traditional single or even multi-core computers most programmers are familiar with. Not only new concepts, but also new tools with different restrictions must be learned and applied. Additionally, many of these approaches are specific to one vendor or device, resulting in little portability or rapid obsolescence for the applications built on them. Open standards for programming heterogeneous systems such as OpenCL contribute to improve the situation, but the requirement of portability has led to a programming interface more complex than that of other approaches. In this paper we present a novel library-based approach to programming heterogeneous systems that couples portability with ease of use. Our evaluations indicate that while the performance of our library, called Heterogeneous Programming Library (HPL), is on par with that of OpenCL, the current standard for portable heterogeneous computing, the programming effort required by HPL is 3 to 10 times smaller than that of OpenCL based on the authors` implementation of five benchmarks.
Related Papers
- → Exploiting heterogeneous parallelism with the Heterogeneous Programming Library(2013)32 cited
- → Performance Portability of a GPU Enabled Factorization with the DAGuE Framework(2011)31 cited
- → Enhancing the Performance Portability of Heterogeneous Circuit Analysis Programs(2022)11 cited
- → A Hybrid Programming Model for Compressible Gas Dynamics Using OpenCL(2010)10 cited
- → Performance Portability of an SpMV Kernel Across Scientific Computing and Data Science Applications(2021)3 cited