Proceedings of the 29th International Conference on Compiler Construction 2020
DOI: 10.1145/3377555.3377891
|View full text |Cite
|
Sign up to set email alerts
|

Mixed-data-model heterogeneous compilation and OpenMP offloading

Abstract: Heterogeneous computers combine a general-purpose host processor with domain-specific programmable many-core accelerators, uniting high versatility with high performance and energy efficiency. While the host manages ever-more application memory, accelerators are designed to work mainly on their local memory. This difference in addressed memory leads to a discrepancy between the optimal address width of the host and the accelerator. Today 64-bit host processors are commonplace, but few accelerators exceed 32-bi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
4
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(5 citation statements)
references
References 33 publications
0
4
0
Order By: Relevance
“…Certain notable architectural examples that are easily accessible for prototyping are the 32-bit RI5CY microcontroller core and the 64-bit Ariane microprocessor core [21]. Furthermore, the online community offers multi-core architectures, such as OpenPULP HERO (RI5CY), and OpenPiton (Ariane) [22,23].…”
Section: Risc-v Backgroundmentioning
confidence: 99%
“…Certain notable architectural examples that are easily accessible for prototyping are the 32-bit RI5CY microcontroller core and the 64-bit Ariane microprocessor core [21]. Furthermore, the online community offers multi-core architectures, such as OpenPULP HERO (RI5CY), and OpenPiton (Ariane) [22,23].…”
Section: Risc-v Backgroundmentioning
confidence: 99%
“…To address mixed-data-width compilation in HEROv2, the Clang frontend has been extended to generate LLVM IR with automatically assigned address spaces. We adopt the techniques of [24], where OpenMP offloading entry points are used to infer that pointers passed to a device kernel from the host are 64-bit wide. The use of such pointers are then tracked throughout the application, such that any pointer that cannot be guaranteed to never hold a 64-bit host address is promoted to the host address space.…”
Section: Interoperability Between Host and Acceleratorsmentioning
confidence: 99%
“…Unlike in HEROv2, accelerators are not programmable with a fullfeatured standard ISA, and there is thus no OpenMP offloading support and no heterogeneous API, runtime libraries, and toolchain that span across host processors and accelerators. HEROv1 [19], [54] does provide the components that enable the evaluation of heterogeneous applications on a mixed-ISA computer, but its toolchain is fundamentally limited to 32-bit hosts and accelerators [24]. Additionally, it has no API that unifies programming over multiple accelerators; it features one host and one accelerator architecture, and hardware and software are tailored to those instead of being modular; and its on-chip network is limited to simple configurations (e.g., fixed 64-bit data width) and topologies (e.g., central crossbar), which do not meet the demands of modern heterogeneous computers.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations