OptCL: A Middleware to Optimise Performance for High Performance Domain-Specific Languages on Heterogeneous Platforms.

Xiao, Jiajian and Andelfinger, Philipp and Cai, Wentong and Eckhoff, David and Knoll, Alois (2022) OptCL: A Middleware to Optimise Performance for High Performance Domain-Specific Languages on Heterogeneous Platforms. In: 21th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP 2021), 03-05 Dec 2021, Xiamen, China. Proceedings, published by Springer International Publishing, Cham, pp. 772-791.

Full text not available from this repository.
Official URL: https://link.springer.com/chapter/10.1007/978-3-03...

Abstract

Programming on heterogeneous hardware architectures using OpenCL requires thorough knowledge of the hardware. Many High-Performance Domain-Specific Languages (HPDSLs) are aimed at simplifying the programming efforts by abstracting away hardware details, allowing users to program in a sequential style. However, most HPDSLs still require the users to manually map compute workloads to the best suitable hardware to achieve optimal performance. This again calls for knowledge of the underlying hardware and trial-and-error attempts. Further, very often they only consider an offloading mode where compute-intensive tasks are offloaded to accelerators. During this offloading period, CPUs remain idle, leaving parts of the available computational power untapped. In this work, we propose a tool named OptCL for existing HPDSLs to enable a heterogeneous co-execution mode when capable where CPUs and accelerators can process data simultaneously. Through a static analysis of data dependencies among compute-intensive code regions and performance predictions, the tool selects the best execution schemes out of purely CPU/accelerator execution or co-execution. We show that by enabling co-execution on dedicated and integrated CPU-GPU systems up to 13× and 21× speed-ups can be achieved.

Item Type: Conference or Workshop Item (Paper)
Additional Information: Part of the Lecture Notes in Computer Science book series (LNCS, volume 13157)
Projects: MoSiLLDe