EngineCL: Usability and Performance in Heterogeneous Computing
Ra\'ul Nozal, Jose Luis Bosque, Ram\'on Beivide (Universidad de, Cantabria)

TL;DR
EngineCL is a new runtime system that simplifies programming and improves performance portability for heterogeneous systems by managing device coordination and workload scheduling with minimal overhead.
Contribution
It introduces EngineCL, an OpenCL-based runtime that enhances usability and performance portability across diverse heterogeneous computing devices.
Findings
Maximum 2.8% overhead compared to native OpenCL
Achieves an average efficiency of 0.89 in load balancing
Excellent usability with minimal overhead for short and long tasks
Abstract
Heterogeneous systems have become one of the most common architectures today, thanks to their excellent performance and energy consumption. However, due to their heterogeneity they are very complex to program and even more to achieve performance portability on different devices. This paper presents EngineCL, a new OpenCL-based runtime system that outstandingly simplifies the co-execution of a single massive data-parallel kernel on all the devices of a heterogeneous system. It performs a set of low level tasks regarding the management of devices, their disjoint memory spaces and scheduling the workload between the system devices while providing a layered API. EngineCL has been validated in two compute nodes (HPC and commodity system), that combine six devices with different architectures. Experimental results show that it has excellent usability compared with OpenCL; a maximum 2.8% of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Cloud Computing and Resource Management
