[论文解读] Programming Massively Parallel Architectures using MARTE: a Case Study
本文提出一种基于UML和MARTE配置文件的模型驱动工程方法,用于自动生成GPU加速信号处理应用的优化OpenCL代码。通过在模型到文本的代码生成过程中应用性能感知转换,该框架相较于串行CPU代码实现了最高10倍的加速,相较于非优化GPU代码提升了25%,证明了MDE在大规模并行架构上高性能计算的可行性。
Nowadays, several industrial applications are being ported to parallel architectures. These applications take advantage of the potential parallelism provided by multiple core processors. Many-core processors, especially the GPUs(Graphics Processing Unit), have led the race of floating-point performance since 2003. While the performance improvement of general- purpose microprocessors has slowed significantly, the GPUs have continued to improve relentlessly. As of 2009, the ratio between many-core GPUs and multicore CPUs for peak floating-point calculation throughput is about 10 times. However, as parallel programming requires a non-trivial distribution of tasks and data, developers find it hard to implement their applications effectively. Aiming to improve the use of many-core processors, this work presents an case-study using UML and MARTE profile to specify and generate OpenCL code for intensive signal processing applications. Benchmark results show us the viability of the use of MDE approaches to generate GPU applications.
研究动机与目标
- 为解决在多核GPU上进行有效并行编程的困难,特别是针对非专家开发人员。
- 探索使用模型驱动工程(MDE)结合UML和MARTE自动生成高性能GPU代码的可行性。
- 自动优化主机与设备之间的内存传输,这是GPU计算中的主要性能瓶颈。
- 评估自动生成的OpenCL代码是否能实现与手动手写优化实现相当的性能。
提出的方法
- 该方法使用增强MARTE配置文件的UML应用模型来指定软件组件、硬件架构和数据分配。
- 基于QVTO的转换链将高层模型转换为带有性能注解的中间模型。
- Acceleo模板从中间模型生成OpenCL代码,优化在转换过程中应用。
- 性能感知转换检测并消除冗余的主机到设备和设备到主机的数据传输。
- 该框架支持基于任务多重性的自动工作组和工作项拓扑生成。
- 内存层次结构感知被集成到模型中,以将变量分配到适当的内存区域(全局、局部、私有、常量)。
实验结果
研究问题
- RQ1使用UML和MARTE的MDE技术能否生成在GPU架构上实现竞争性性能的OpenCL代码?
- RQ2自动优化——特别是减少内存传输开销——在模型驱动GPU代码生成中的有效性如何?
- RQ3自动生成的代码在多大程度上能够匹配手动优化的OpenCL实现的性能?
- RQ4该模型驱动方法能否在保持高性能的同时抽象出底层GPU编程复杂性?
主要发现
- 通过MDE流程生成的优化OpenCL代码相较于串行CPU实现实现了10倍加速。
- 该框架通过智能内存传输优化,将主机到设备的数据传输时间减少了约30%,设备到主机的传输时间减少了70%。
- 与非优化生成的OpenCL代码相比,优化版本实现了25%的性能提升。
- 自动生成代码的结构和优化决策与人工优化实现高度一致,表明模型驱动方法具有强大的表达能力。
- 在非优化版本中,内存传输开销占总GPU执行时间的70%以上,凸显其对性能的关键影响。
- 结果证实,结合MARTE的MDE能够有效建模并生成高性能GPU代码,即使对于H.263下采样等复杂信号处理工作负载亦是如此。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。