2020
DOI: 10.1016/j.future.2020.02.016
|View full text |Cite
|
Sign up to set email alerts
|

EngineCL: Usability and Performance in Heterogeneous Computing

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 … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
21
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 23 publications
(21 citation statements)
references
References 38 publications
0
21
0
Order By: Relevance
“…However, it is well known that static scheduling cannot adapt to the irregular behavior of many applications, leading to significant load imbalances [16]. In these applications, the processing time of a data set depends not only on its size, but also on the nature of the data.…”
Section: Motivationmentioning
confidence: 99%
See 2 more Smart Citations
“…However, it is well known that static scheduling cannot adapt to the irregular behavior of many applications, leading to significant load imbalances [16]. In these applications, the processing time of a data set depends not only on its size, but also on the nature of the data.…”
Section: Motivationmentioning
confidence: 99%
“…However, hardware heterogeneity complicates the development of efficient and portable software, especially when specialized components require their own programming models. In this context, some of the hot topics being researched are: supporting single source programming, improving the usability and efficiency of memory space, distributing computation and data among different devices, and load balancing [3,[16][17][18][19][20][21]25].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…EngineCL is a runtime acting as an OpenCL C++ wrapper to simplify the programming of heterogeneous devices and squeeze their performance out [21]. It is specially designed to be used in large data-parallel applications and provides three load balancing algorithms.…”
Section: Enginecl Descriptionmentioning
confidence: 99%
“…EngineCL is a high-level framework that provides scheduling and data management primitives on top of OpenCL, easing the programmability of heterogeneous systems [21]. While EngineCL has been successful in systems coupling a CPU with either a GPU or Xeon Phi device, it does not yet provide support for FPGAs.…”
Section: Introductionmentioning
confidence: 99%