首页> 外文会议>IEEE International Symposium on Parallel Distributed Processing >Object-oriented stream programming using aspects
【24h】

Object-oriented stream programming using aspects

机译:面向对象的流编程使用方面

获取原文

摘要

High-performance parallel programs that efficiently utilize heterogeneous CPU+GPU accelerator systems require tuned coordination among multiple program units. However, using current programming frameworks such as CUDA leads to tangled source code that combines code for the core computation with that for device and computational kernel management, data transfers between memory spaces, and various optimizations. In this paper, we propose a programming system based on the principles of Aspect-Oriented Programming, to un-clutter the code and to improve programmability of these heterogeneous parallel systems. Specifically, we use standard C++ to describe the core computations and aspects to encapsulate all other support parts. An aspect-weaving compiler is then used to combine these two pieces of code to generate a final program. The system modularizes concerns that are hard to manage using conventional programming frameworks such as CUDA, has a small impact on existing program structure as well as performance, and as a result, simplifies the programming of accelerator-based heterogeneous parallel systems. We also present an options pricing and an n-body simulation example program to demonstrate that programs written using this system can be successfully translated to CUDA programs for NVIDIA GPU hardware and to OpenCL programs for multicore CPUs with comparable performance. For both examples, the performance of the translated code achieved ~80% of the hand-coded CUDA programs.
机译:有效地利用异构CPU + GPU加速器系统的高性能并行程序需要在多个程序单元之间进行调谐协调。但是,使用当前编程框架(如CUDA)导致纠结的源代码,将核心计算代码与用于设备和计算内核管理,存储空间之间的数据传输以及各种优化之间的数据传输。在本文中,我们提出了一种基于方面方向编程原理的编程系统,以取消杂交代码并提高这些异构并行系统的可编程性。具体地,我们使用标准C ++来描述核心计算和封装所有其他支持部件的方面。然后,织造编译器将用于将这两条代码组合以生成最终程序。系统模块化难以使用诸如CUDA的传统编程框架难以管理的问题,对现有程序结构以及性能具有很小的影响,因此,简化了基于加速器的异构并行系统的编程。我们还提供了一个选项定价和N-Modion仿真示例程序,以演示使用该系统编写的程序可以成功转换为NVIDIA GPU硬件的CUDA程序,以及具有可比性的多核CPU的OpenCL程序。对于这两个示例,转换代码的性能达到了〜80%的手工编码的CUDA程序。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号