English

IPMACC: Open Source OpenACC to CUDA/OpenCL Translator

Programming Languages 2014-12-04 v1 Distributed, Parallel, and Cluster Computing

Abstract

In this paper we introduce IPMACC, a framework for translating OpenACC applications to CUDA or OpenCL. IPMACC is composed of set of translators translating OpenACC for C applications to CUDA or OpenCL. The framework uses the system compiler (e.g. nvcc) for generating final accelerator's binary. The framework can be used for extending the OpenACC API, executing OpenACC applications, or obtaining CUDA or OpenCL code which is equivalent to OpenACC code. We verify correctness of our framework under several benchmarks included from Rodinia Benchmark Suit and CUDA SDK. We also compare the performance of CUDA version of the benchmarks to OpenACC version which is compiled by our framework. By comparing CUDA and OpenACC versions, we discuss the limitations of OpenACC in achieving a performance near to highly-optimized CUDA version.

Keywords

Cite

@article{arxiv.1412.1127,
  title  = {IPMACC: Open Source OpenACC to CUDA/OpenCL Translator},
  author = {Ahmad Lashgar and Alireza Majidi and Amirali Baniasadi},
  journal= {arXiv preprint arXiv:1412.1127},
  year   = {2014}
}

Comments

14 pages, 2 figures

R2 v1 2026-06-22T07:18:36.256Z