首页> 外文学位 >Object-oriented stream programming using aspects: A high-productivity programming paradigm for hybrid platforms.
【24h】

Object-oriented stream programming using aspects: A high-productivity programming paradigm for hybrid platforms.

机译:使用方面的面向对象的流编程:混合平台的高生产率编程范例。

获取原文
获取原文并翻译 | 示例

摘要

The move to massively parallel hybrid platforms, such as multicore CPUs accelerated with heterogeneous GPU co-processing systems, is significantly impacting software programmers because existing programs have to be properly parallelized before they can take advantage of these advanced processing architectures. 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 research, 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 a standard Object-Oriented language to describe the core computations and aspects to encapsulate all other support functions, such as parallelization granularity and memory access optimization. An aspect-weaving compiler is then used to combine the core OO program with these aspects to generate parallelized programs. This approach 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. Studies on example programs suggest that programs written using this system can be successfully translated to CUDA programs for execution on a CPU + GPU co-processing system with comparable performance. The performance of the translated code achieved ∼80% of the hand-coded CUDA programs.;We also introduce a performance model based on Bulk Synchronous Parallel (BSP) to help with quick identification of performance bottlenecks and tuning programs for better performance. This model defines a machine parameter (Machine Characteristic Ratio) and an application parameter (Application Characteristic Ratio) to identify the principle factors that can be used to bound application performance for the hierarchical parallel execution in the GPU co-processing device.
机译:迁移到大规模并行混合平台,例如使用异构GPU协处理系统加速的多核CPU,对软件程序员产生了重大影响,因为在使用这些高级处理架构之前,必须对现有程序进行适当的并行化处理。但是,使用当前的编程框架(如CUDA)会导致源代码混杂,这些源代码将用于核心计算的代码与用于设备和计算内核管理的代码,存储器空间之间的数据传输以及各种优化组合在一起。在这项研究中,我们提出了一种基于面向方面编程原理的编程系统,以使代码混乱并提高这些异构并行系统的可编程性。具体来说,我们使用标准的面向对象语言来描述核心计算和方面,以封装所有其他支持功能,例如并行化粒度和内存访问优化。然后使用方面编织编译器将核心OO程序与这些方面组合在一起以生成并行化程序。这种方法将使用常规编程框架(例如CUDA)难以解决的问题模块化,对现有程序结构和性能影响不大,因此简化了基于加速器的异构并行系统的编程。对示例程序的研究表明,使用该系统编写的程序可以成功转换为CUDA程序,以便在具有可比性能的CPU + GPU协处理系统上执行。转换后的代码的性能达到了手工编码的CUDA程序的80%左右。我们还引入了基于批量同步并行(BSP)的性能模型,以帮助快速识别性能瓶颈和调整程序以获得更好的性能。该模型定义了机器参数(机器特征比率)和应用程序参数(应用程序特征比率),以识别可用于限制应用程序性能的主要因素,以实现GPU协同处理设备中的分层并行执行。

著录项

  • 作者

    Wang, Mingliang.;

  • 作者单位

    Rutgers The State University of New Jersey - New Brunswick.;

  • 授予单位 Rutgers The State University of New Jersey - New Brunswick.;
  • 学科 Engineering Computer.;Computer Science.
  • 学位 Ph.D.
  • 年度 2011
  • 页码 107 p.
  • 总页数 107
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号