2013
DOI: 10.1016/j.jpdc.2013.07.013
|View full text |Cite
|
Sign up to set email alerts
|

Exploiting heterogeneous parallelism with the Heterogeneous Programming Library

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
47
0

Year Published

2014
2014
2020
2020

Publication Types

Select...
6
2
1

Relationship

4
5

Authors

Journals

citations
Cited by 31 publications
(49 citation statements)
references
References 20 publications
2
47
0
Order By: Relevance
“…This has led to the development of libraries that simplify the use of this paradigm by automating many of tasks it requires and hiding from the developer several of its related concepts, while usually providing minimal overheads with respect to the straight use of OpenCL. We have developed our parallelization using one of these libraries, namely, the Heterogeneous Programming Library (HPL) [4], which has shown to provide excellent programmability for heterogeneous applications while incurring in negligible overheads. Although HPL supports writing the kernels in OpenCL C [5] our implementation relies on the embedded language introduced in [4], which is translated at runtime into OpenCL C by the library.…”
Section: Opencl Parallelizationmentioning
confidence: 99%
“…This has led to the development of libraries that simplify the use of this paradigm by automating many of tasks it requires and hiding from the developer several of its related concepts, while usually providing minimal overheads with respect to the straight use of OpenCL. We have developed our parallelization using one of these libraries, namely, the Heterogeneous Programming Library (HPL) [4], which has shown to provide excellent programmability for heterogeneous applications while incurring in negligible overheads. Although HPL supports writing the kernels in OpenCL C [5] our implementation relies on the embedded language introduced in [4], which is translated at runtime into OpenCL C by the library.…”
Section: Opencl Parallelizationmentioning
confidence: 99%
“…Unfortunately, the OpenCL API is too low level [72], resulting in code verbosity and low productivity of programmers, who need to manually perform buffer allocations, data transfers, synchronizations etc. High level annotations [81,2] or embedded languages [97] built on top of OpenCL that automate these tasks and hide their complexity are a better approach. Several authors have considered the programmability of accelerators on top of OpenCL across a cluster [7,35]; however, existing solutions only abstract away some complexities of OpenCL but still expose other low-level details or restrict the non-accelerator part of an application to a single node.…”
Section: Advancing the Programming Environmentsmentioning
confidence: 99%
“…In order to exploit all the available hardware in exascale systems, we need to extend and evolve the highlevel programming of accelerators (e.g., [81,97,2]) into high-productivity seamless approaches, for instance, through the natural integration with the ADT previously described.…”
Section: Advancing the Programming Environmentsmentioning
confidence: 99%
“…Vinas et al [204] propose a high-level programming library with OpenCL code generation facility whereas KFusion [134] can help fusing multiple OpenCL kernel calls for performance reasons. Benkner et al [31] propose high level constructs (in the form of pragmas) for modeling pipeline patterns in an application; underneath, they generate StarPU code for making decisions at runtime.…”
Section: Other Approaches For Gpu-based Systemsmentioning
confidence: 99%