Skip to main content
QUICK REVIEW

[論文レビュー] Open SYCL on heterogeneous GPU systems: A case of study

Rocío Carratalá-Sáez, Francisco J. Andújar|arXiv (Cornell University)|Oct 10, 2023
Parallel Computing and Optimization Techniques被引用数 4
ひとこと要約

本論文は、有限時間リャプノフ指数計算を事例として、Open SYCLが異種GPUシステムにおける性能を評価し、CUDA や HIP と同等の性能を示しながら、ホストコード開発作業を著しく削減し、NVIDIA および AMD デバイスを含むマルチベンダーGPUのシームレスな利用を可能にすることを示している。

ABSTRACT

Computational platforms for high-performance scientific applications are becoming more heterogenous, including hardware accelerators such as multiple GPUs. Applications in a wide variety of scientific fields require an efficient and careful management of the computational resources of this type of hardware to obtain the best possible performance. However, there are currently different GPU vendors, architectures and families that can be found in heterogeneous clusters or machines. Programming with the vendor provided languages or frameworks, and optimizing for specific devices, may become cumbersome and compromise portability to other systems. To overcome this problem, several proposals for high-level heterogeneous programming have appeared, trying to reduce the development effort and increase functional and performance portability, specifically when using GPU hardware accelerators. This paper evaluates the SYCL programming model, using the Open SYCL compiler, from two different perspectives: The performance it offers when dealing with single or multiple GPU devices from the same or different vendors, and the development effort required to implement the code. We use as case of study the Finite Time Lyapunov Exponent calculation over two real-world scenarios and compare the performance and the development effort of its Open SYCL-based version against the equivalent versions that use CUDA or HIP. Based on the experimental results, we observe that the use of SYCL does not lead to a remarkable overhead in terms of the GPU kernels execution time. In general terms, the Open SYCL development effort for the host code is lower than that observed with CUDA or HIP. Moreover, the SYCL version can take advantage of both CUDA and AMD GPU devices simultaneously much easier than directly using the vendor-specific programming solutions.

研究の動機と目的

  • 多様なベンダーとアーキテクチャを有するGPUクラスタをプログラミングするという増大する課題に対処する。
  • CUDA や HIP のようなベンダー固有のプログラミングモデルに内在する複雑さとポータビリティの問題を軽減する。
  • 単一およびマルチベンダーGPUデプロイメントを両方サポートする高水準でポータブルな代替手段として Open SYCL を評価する。
  • 実世界の科学的HPCワークロードにおける、パフォーマンスと開発作業のトレードオフを評価する。
  • 異種GPU環境における生産レベルの科学的アプリケーションでSYCLを使用する可能性を実証する。

提案手法

  • 直接比較のため、Open SYCL、CUDA、HIP を用いて有限時間リャプノフ指数(FTLE)計算を実装する。
  • Open SYCLコンパイラを用いて、1つのコードベースからNVIDIAおよびAMD GPUデバイスをターゲットとするカーネルを生成する。
  • すべての3つの実装において、カーネル実行時間とホストコードの複雑さをプロファイリングする。
  • NVIDIAおよびAMDの混合GPUを含む異種システム上でパフォーマンスを測定し、ポータビリティとロードバランスを評価する。
  • ホストコードの構造とコード行数を分析し、開発作業の差を定量的に評価する。
  • パフォーマンスと生産性の差を隔離できるように、実装間で機能を同等にする。

実験結果

リサーチクエスチョン

  • RQ1Open SYCLは、ベンダー最適化されたCUDAやHIP実装と比較して顕著なパフォーマンスオーバーヘッドを引き起こすか?
  • RQ2Open SYCLにおけるホストコードの開発作業は、CUDA や HIP と比べてどの程度低いか?
  • RQ3SYCLは、1つのアプリケーション内で異なるベンダーの複数GPUデバイスをどの程度効率的に利用できるか?
  • RQ4SYCLは、効率性を損なわずに、多様なGPUアーキテクチャ間でパフォーマンスポータビリティを達成できるか?
  • RQ5異種環境におけるハイパフォーマンス科学的コンピューティングにおいて、Open SYCLを実用的に使用できるか?

主な発見

  • Open SYCLは、CUDA や HIP と同等のGPUカーネル実行時間を達成しており、顕著なパフォーマンスオーバーヘッドは観察されなかった。
  • Open SYCLにおけるホストコードの開発作業は、CUDA や HIP よりも著しく低く、高水準の抽象化とボイラープレートの削減によるものである。
  • SYCLはネイティブに異種GPUシステムをサポートしており、最小限のコード変更でNVIDIAおよびAMD GPUを同時に効率的に使用できる。
  • ベンダー固有のソリューションと比較して、SYCLの実装は異なるGPUベンダー間でのポータビリティが優れていた。
  • SYCLベースの実装は、単一GPUおよびマルチGPU構成の両方で、競争力のあるパフォーマンスを維持していた。
  • 本研究は、マルチベンダーGPUサポートと保守可能なコードベースを必要とする科学的HPCアプリケーションにおいて、SYCLが実用的な代替手段であることを確認した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。