Skip to main content
QUICK REVIEW

[論文レビュー] Instructions' Latencies Characterization for NVIDIA GPGPUs.

Yehia Arafa, Abdel‐Hameed A. Badawy|arXiv (Cornell University)|May 21, 2019
Parallel Computing and Optimization Techniques被引用数 3
ひとこと要約

本論文は、NVIDIA GPGPUの5つのGPUアーキテクチャ(KeplerからTuringまで)にわたる命令遅延およびメモリハーセスのオーバーヘッドを特徴付ける、低コストでポータブルな手法を提示する。パイプラインおよびメモリ動作の測定を通じて、CUDAコンパイラ最適化がパフォーマンスに与える影響を明らかにし、開発者およびアーキテクトが正確なハードウェアモデル化と意思決定に基づいたソフトウェア最適化を実現できるようにする。

ABSTRACT

The last decade has seen a shift in the computer systems industry where heterogeneous computing has become prevalent. Graphics Processing Units (GPUs) are now present in supercomputers to mobile phones and tablets. GPUs are used for graphics operations as well as general-purpose computing (GPGPUs) to boost the performance of compute-intensive applications. However, the percentage of undisclosed characteristics beyond what vendors provide is not small. In this paper, we introduce a very low overhead and portable analysis for exposing the latency of each instruction executing in the GPU pipeline(s) and the access overhead of the various memory hierarchies found in GPUs at the micro-architecture level. Furthermore, we show the impact of the various optimizations the CUDA compiler can perform over the various latencies. We perform our evaluation on seven different high-end NVIDIA GPUs from five different generations/architectures: Kepler, Maxwell, Pascal, Volta, and Turing. The results in this paper can help architects to have an accurate characterization of the latencies of these GPUs, which will help in modeling the hardware accurately. Also, software developers can perform informed optimizations to their applications.

研究の動機と目的

  • ベンダードキュメンテーションに記載のない、NVIDIA GPUの隠れたマイクロアーキテクチャ的遅延特性を明らかにすること。
  • 複数のGPU世代にわたるCUDAコンパイラ最適化が、命令およびメモリ遅延に与える影響を評価すること。
  • GPGPUワークロードにおけるパイプラインおよびメモリアクセス遅延を測定するための、ポータブルで低コストの分析手法を提供すること。
  • 以前に明らかにされていなかった遅延動作を露呈することで、正確なハードウェアモデル化および意思決定に基づいたソフトウェア最適化を可能にすること。

提案手法

  • GPUパイプラインにおける命令遅延を測定するための、ポータブルで低コストのカーネルベースのベンチマーキングフレームワークを開発した。
  • 異なるメモリハーセスレベル(レジスタ、共有メモリ、L1、L2、グローバルメモリ)のアクセス遅延を分離して測定するためのマイクロベンチマークを設計した。
  • Kepler、Maxwell、Pascal、Volta、Turingの5つのアーキテクチャをカバーする7台のハイエンドNVIDIA GPUで測定を実施した。
  • 依存関係が明確に定義された命令シーケンスの実行時間を測定することで、タイミングベースの分析により遅延値を推定した。
  • 観測された遅延とコンパイラ最適化レベルの相関関係を分析し、パフォーマンス特性に与える影響を評価した。
  • 複数回の実行および複数のGPUモデルでの検証を通じて、手法の整合性およびポータビリティを確認した。

実験結果

リサーチクエスチョン

  • RQ1現代のNVIDIA GPUアーキテクチャにおいて、異なるアーキテクチャ間で実際の命令遅延はどのように異なるか?
  • RQ2GPUの世代およびメモリタイプに応じて、メモリハーセスの遅延はどのように変化するか?
  • RQ3CUDAコンパイラ最適化は、命令およびメモリアクセスの観測遅延にどの程度の影響を及えるか?
  • RQ4提案手法の遅延特徴付け手法は、多様なGPUアーキテクチャにわたって、どれほど一貫性があり、ポータブルか?
  • RQ5遅延測定から得られるインサイトは、ハードウェアモデル化およびソフトウェア最適化をどのように改善できるか?

主な発見

  • 本研究では、NVIDIA GPUアーキテクチャ間で顕著な差が見られる命令遅延が明らかになった。新世代では、重要な演算の遅延が著しく短縮されている。
  • メモリアクセス遅延はメモリレベルによって顕著に異なり、グローバルメモリが最も高い遅延を示し、レジスタが最低の遅延を示した。
  • 命令スケジューリングやループ変換などのCUDAコンパイラ最適化は、特にメモリバウンドのカーネルにおいて、観測遅延を顕著に低減することが分かった。
  • 提案手法は、最小限のパフォーマンスオーバーヘッドで高い正確性を達成しており、生産用GPUでも信頼性の高い遅延測定が可能である。
  • アーキテクチャ間で遅延値に顕著な差が認められ、パフォーマンスモデル化においてマイクロアーキテクチャの差を考慮する必要があることが示された。
  • 結果として、特にVoltaおよびTuringのような新世代アーキテクチャにおいて、以前に文書化されていなかった遅延動作が露呈され、正確なパフォーマンス予測に不可欠であることが明らかになった。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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