arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1809.09387cs.PL
收藏

HSTREAM:面向异构流计算的基于指令的语言扩展

HSTREAM: A directive-based language extension for heterogeneous stream computing

Suejb Memeti, Sabri Pllana

AI总结:

本文提出HSTREAM,一种基于指令的异构流计算语言扩展,通过编译器自动生成目标代码和运行时负载分配,在保持OpenMP级编程简易性的同时,实现超越纯CPU或纯GPU的执行性能。

摘要:

大数据流应用需要利用异构并行计算系统,这些系统可能包含多个多核CPU以及诸如NVIDIA GPU和Intel Xeon Phi等多核加速设备。对此类系统进行编程需要深入了解多种硬件架构和特定于设备的编程模型,包括OpenMP和CUDA。本文提出HSTREAM,一种基于编译器指令的语言扩展,用于支持异构并行计算系统上的流计算应用编程。HSTREAM源到源编译器旨在通过使程序员能够标注用于异构执行的并行区域并生成目标特定代码来提高编程生产力。HSTREAM运行时自动在CPU和加速设备之间分配工作负载。我们使用STREAM基准中的各种应用展示了HSTREAM语言扩展的实用性。实验评估结果表明,HSTREAM可以保持与OpenMP相同的编程简易性,并且生成的代码能够提供超越仅CPU和仅GPU执行所能达到的性能。

英文摘要:

Big data streaming applications require utilization of heterogeneous parallel computing systems, which may comprise multiple multi-core CPUs and many-core accelerating devices such as NVIDIA GPUs and Intel Xeon Phis. Programming such systems require advanced knowledge of several hardware architectures and device-specific programming models, including OpenMP and CUDA. In this paper, we present HSTREAM, a compiler directive-based language extension to support programming stream computing applications for heterogeneous parallel computing systems. HSTREAM source-to-source compiler aims to increase the programming productivity by enabling programmers to annotate the parallel regions for heterogeneous execution and generate target specific code. The HSTREAM runtime automatically distributes the workload across CPUs and accelerating devices. We demonstrate the usefulness of HSTREAM language extension with various applications from the STREAM benchmark. Experimental evaluation results show that HSTREAM can keep the same programming simplicity as OpenMP, and the generated code can deliver performance beyond what CPUs-only and GPUs-only executions can deliver.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑