Translating OpenMP Device Constructs to OpenCL Using Unnecessary Data Transfer Elimination

Translating OpenMP Device Constructs to OpenCL Using Unnecessary Data Transfer Elimination
复制标题

使用消除不必要的数据传输将 OpenMP 设备结构转换为 OpenCL

DOI:
--
复制
发表时间:
2016
期刊:
International Conference for High Performance Computing, Networking, Storage and Analysis
影响因子:
--
通讯作者:
Jaejin Lee
Jaejin Lee
中科院分区:
--
文献类型:
--
作者:
Junghyun Kim;Yong;Jungho Park;Jaejin Lee

文献摘要

被引文献

相似文献

在本文中,我们提出了一个框架,翻译的OpenMP 4.0加速器指令OpenCL。通过将OpenMP程序转换为OpenCL程序,该程序可以在任何支持OpenCL的硬件平台上执行。我们还提出了一个运行时优化技术,自动消除主机和目标加速器之间不必要的数据传输。它利用页面错误机制来检测内存对象的副本是否已经驻留在加速器中,并且该副本尚未被主机修改。为了评估该框架,我们开发了17个OpenMP 4.0基准测试应用程序,分为两个版本:基本和手动调整。通过在三种不同的GPU上使用原始OpenCL和OpenMP程序进行评估,我们展示了框架的有效性。为了显示该框架的实用性,我们生成的OpenCL程序的性能与商业PGI编译器编译的等效OpenACC程序进行比较。
In this paper, we propose a framework that translates OpenMP 4.0 accelerator directives to OpenCL. By translating an OpenMP program to an OpenCL program, the program can be executed on any hardware platform that supports OpenCL. We also propose a run-time optimization technique that automatically eliminates unnecessary data transfers between the host and the target accelerator. It exploits the page-fault mechanism to detect if a copy of the memory object already resides in the accelerator and the copy has not been modified by the host. To evaluate the framework, we develop 17 OpenMP 4.0 benchmark applications in two versions: basic and hand-tuned. By evaluating them on three different GPUs with the original OpenCL and OpenMP programs, we show the effectiveness of the framework. To show the practicality of the framework, we compare the performance of generated OpenCL programs with that of equivalent OpenACC programs compiled by the commercial PGI compiler.