首页> 外文会议>2011 17th IEEE International Conference on Parallel and Distributed Systems >CU2CL: A CUDA-to-OpenCL Translator for Multi- and Many-Core Architectures
【24h】

CU2CL: A CUDA-to-OpenCL Translator for Multi- and Many-Core Architectures

机译:CU2CL:适用于多核和多核架构的CUDA到OpenCL转换器

获取原文

摘要

The use of graphics processing units (GPUs) in high-performance parallel computing continues to become more prevalent, often as part of a heterogeneous system. For years, CUDA has been the de facto programming environment for nearly all general-purpose GPU (GPGPU) applications. In spite of this, the framework is available only on NVIDIA GPUs, traditionally requiring reimplementation in other frameworks in order to utilize additional multi- or many-core devices. On the other hand, OpenCL provides an open and vendor-neutral programming environment and runtime system. With implementations available for CPUs, GPUs, and other types of accelerators, OpenCL therefore holds the promise of a "write once, run anywhere" ecosystem for heterogeneous computing. Given the many similarities between CUDA and OpenCL, manually porting a CUDA application to OpenCL is typically straightforward, albeit tedious and error-prone. In response to this issue, we created CU2CL, an automated CUDA-to-OpenCL source-to-source translator that possesses a novel design and clever reuse of the Clang compiler framework. Currently, the CU2CL translator covers the primary constructs found in CUDA runtime API, and we have successfully translated many applications from the CUDA SDK and Rodinia benchmark suite. The performance of the automatically translated applications via CU2CL is on par with their manually ported counterparts.
机译:在高性能并行计算中,图形处理单元(GPU)的使用不断普及,通常作为异构系统的一部分。多年来,CUDA一直是几乎所有通用GPU(GPGPU)应用程序的事实上的编程环境。尽管如此,该框架仅在NVIDIA GPU上可用,传统上需要在其他框架中重新实现才能利用其他多核或多核设备。另一方面,OpenCL提供了一个开放的,与供应商无关的编程环境和运行时系统。因此,有了可用于CPU,GPU和其他类型加速器的实现,OpenCL有望为异构计算提供“一次编写,随处运行”的生态系统。鉴于CUDA与OpenCL之间有许多相似之处,因此手动将CUDA应用程序移植到OpenCL通常很简单,繁琐且容易出错。为解决此问题,我们创建了CU2CL,这是一种自动化的CUDA至OpenCL源到源转换器,具有新颖的设计和对Clang编译器框架的巧妙重用。当前,CU2CL转换器涵盖了CUDA运行时API中的主要构造,并且我们已经成功转换了CUDA SDK和Rodinia基准套件中的许多应用程序。通过CU2CL自动翻译的应用程序的性能与手动移植的应用程序相当。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号