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
期刊:
影响因子:
--
通讯作者:
Jaejin Lee
中科院分区:
文献类型:
--
作者:
Junghyun Kim;Yong;Jungho Park;Jaejin Lee
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.