[論文レビュー] A Modeling Approach based on UML/MARTE for GPU Architecture
本論文は、組み込みシステムにおけるGPGPUアプリケーションのモデル駆動型コード生成を可能にする、UML/MARTEベースのメタモデル拡張およびGPUアーキテクチャモデルを提案する。GPUメモリ階層にわたるタスクおよびデータの割り当てを指定することで、自動的なOpenCLコード生成を可能とし、マルチGPU環境下で逐次的なMATLAB実装と比較して最大8.34倍の高速化を達成した。
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を用いた逐次的およびマルチGPU実装を用いたケーススタディを通じて、手法の妥当性を検証すること。
提案手法
- GPU固有のアーキテクチャ的特徴を表現するために、カスタムメタモデルを用いてMARTEプロファイルを拡張すること。
- プロセッサ、メモリ階層、データ割り当てを含む、GPUアーキテクチャのためのプラットフォーム固有モデル(PSM)を定義すること。
- UML/MARTEモデルからOpenCLカーネルを生成するためのモデル変換を用いること。
- モデル駆動の割り当て戦略に基づき、複数のGPUデバイスにわたるタスク分割およびデータ分散を適用すること。
- RTESおよびISPアプリケーション開発のためのGaspard2環境を活用し、モデルと変換を統合すること。
- 逐次的およびマルチGPUOpenCL実装を用いた、共役勾配法アルゴリズムを対象としたケーススタディを通じて、手法を検証すること。
実験結果
リサーチクエスチョン
- RQ1UMLおよびMARTEを用いて、組み込みシステムにおけるGPUアーキテクチャを効果的にモデリングする方法は何か?
- RQ2メモリ階層やタスクスケジューリングなどのGPU固有の特徴を表現するために必要なメタモデル拡張は何か?
- RQ3モデル駆動の変換は、科学的カーネル用に効率的なGPUコードを生成できるか?
- RQ4自動コード生成は、手動で最適化された実装と比較して、性能およびスケーラビリティの面でどのように異なるか?
- RQ5マルチGPUデプロイの性能およびデータ転送オーバーヘッドに与える影響は何か?
主な発見
- 提案されたメタモデルおよびモデルは、メモリ階層やタスク割り当てを含むGPUアーキテクチャの詳細を効果的に表現できた。
- モデル変換による自動コード生成により、単一GPU環境下で逐次的なMATLABコードと比較して4.81倍の高速化が達成された。
- 2つのGPUを用いた場合、6.87倍の高速化が達成され、4つのGPUを用いた場合、同じ共役勾配問題で8.34倍の高速化が達成された。
- CPUとGPU間のデータ転送オーバーヘッドが原因で、線形的なスケーリングは達成できなかった。
- 本アプローチにより、スケーラブルでポータブルかつ自動的なGPUアクセラレート組み込みアプリケーションのコード生成が可能になった。
- モデルベースのアプローチは、GPU性能に不可欠なデータアラインメントおよび帯域幅の最適利用を支援した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。