Skip to main content
QUICK REVIEW

[论文解读] A Modeling Approach based on UML/MARTE for GPU Architecture

Antônio Wendell De Oliveira Rodrigues, Frédéric Guyomarc'h|arXiv (Cornell University)|May 23, 2011
Model-Driven Software Engineering Techniques参考文献 5被引用 3
一句话总结

本文提出了一种基于UML/MARTE的元模型扩展及GPU架构模型,以在嵌入式系统中实现GPGPU应用的模型驱动代码生成。通过在GPU内存层次结构中指定任务和数据分配,该方法支持自动生成OpenCL代码,在多GPU环境下相较于顺序执行的MATLAB实现最高可实现8.34倍的加速。

ABSTRACT

Nowadays, the High Performance Computing is part of the context of embedded systems. Graphics Processing Units (GPUs) are more and more used in acceleration of the most part of algorithms and applications. Over the past years, not many efforts have been done to describe abstractions of applications in relation to their target architectures. Thus, when developers need to associate applications and GPUs, for example, they find difficulty and prefer using API for these architectures. This paper presents a metamodel extension for MARTE profile and a model for GPU architectures. The main goal is to specify the task and data allocation in the memory hierarchy of these architectures. The results show that this approach will help to generate code for GPUs based on model transformations using Model Driven Engineering (MDE).

研究动机与目标

  • 为解决嵌入式系统中缺乏将应用程序映射到GPU架构的抽象机制的问题。
  • 通过支持模型驱动工程(MDE),提升GPU加速嵌入式系统的开发效率和可移植性。
  • 通过模型转换支持GPU内核的自动代码生成。
  • 对GPU特有的特性(如内存层次结构和任务调度)进行建模。
  • 通过共轭梯度求解器的案例研究验证该方法的有效性,采用OpenCL实现。

提出的方法

  • 扩展MARTE配置文件,引入自定义元模型以表示GPU特有的架构特征。
  • 定义GPU架构的平台特定模型(PSM),包括处理器、内存层次结构以及数据分配。
  • 使用模型转换从UML/MARTE模型生成OpenCL内核。
  • 基于模型驱动的分配策略,对任务进行划分,并在多个GPU设备间分布数据。
  • 利用Gaspard2环境进行实时嵌入式系统(RTES)和工业信号处理(ISP)应用开发,集成模型与转换逻辑。
  • 通过共轭梯度算法的案例研究验证该方法,对比顺序执行与多GPU环境下的OpenCL实现。

实验结果

研究问题

  • RQ1如何利用UML和MARTE有效建模嵌入式系统中的GPU架构?
  • RQ2为表示GPU特有的特性(如内存层次结构和任务调度),需要哪些元模型扩展?
  • RQ3模型驱动的转换能否生成高效用于科学内核的GPU代码?
  • RQ4与手写优化实现相比,自动代码生成在性能和可扩展性方面表现如何?
  • RQ5多GPU部署对性能和数据传输开销有何影响?

主要发现

  • 所提出的元模型和模型成功地表示了GPU架构的细节,包括内存层次结构和任务分配。
  • 通过模型转换实现的自动代码生成,生成的OpenCL内核在单个GPU上相较于顺序执行的MATLAB代码实现了4.81倍的加速。
  • 在双GPU环境下,实现达到6.87倍加速;在四GPU环境下,对同一共轭梯度问题实现了8.34倍加速。
  • 性能提升受限于CPU与GPU之间的数据传输开销,导致无法实现线性扩展。
  • 该方法支持可扩展、可移植且自动化的GPU加速嵌入式应用代码生成。
  • 基于模型的方法支持高效的数据对齐与带宽利用,这对GPU性能至关重要。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。