GPUオフロード性能のための新しいVelocity Bench
Doug Eadline オリジナル記事

性能ベンチマークはHPCの象徴である。1993年以来HPC性能を記録し続けているTop500リストを見る必要はもうないだろう。歴史的にTop500リストは非常に価値があり、高性能の進歩の有用な尺度を提供している。しかし、このリストは単一の指標に基づいており、多くのHPCアプリケーションの真の性能を予測するものではないと考えられている。そのため、多くのHPCユーザーは、自分のアプリケーションがマシン性能の最終決定者であると考えている。Top500とユーザーアプリケーションの間に位置するのは、多くの典型的なHPCワークロードを反映するように設計されたベンチマーク・スイートである。(例えば、HPCG、NAS Parallel Benchmarks、SPECなどである。)
HPCシステムのベンチマークに課題がないわけではない。コンパイラ、ライブラリ、アルゴリズム(MPI対OpenMPやハイブリッドなど)などによって性能差が生じることがある。さらに、新しいアクセラレータ・ハードウェアは、ベンチマークが考慮しなければならない別の次元を導入している。このような理由から、同等のものを比較するのはしばしば困難である。
最近導入されたVelocity Benchmarkは、GPUオフロード性能を測定するための標準的なベンチマークフレームワークを提供することで、この状況を改善する試みである。
インテルのシャラッド・トリパティ氏とロブ・ミューラー=アルブレヒト氏によって開発されたVelocity Benchは、HPC、ディープラーニング、ビッグデータ、暗号など様々な業界領域をカバーするオープンソースのベンチマーク・スイートだ。その目的は、GPUプラットフォームや並列プログラミング言語間で公平な性能比較を提供することだ。
著者らは、GPUアクセラレーション・プラットフォームのベンチマークについて、以下のようなさまざまな問題を指摘している。
- CPU、GPU、FPGA、ASIC、その他を活用した多様なヘテロジニアス・プラットフォーム。
- これらのプラットフォームをサポートする複数のプログラミング言語(オープンスタンダードと、プロプライエタリまたはベンダー固有の言語拡張の両方)。
- ライブラリ、最適化ツール、アナライザ、デバッガなど、異なるプログラミング・インフラ。
- HPC、ML/DL、データ分析、ビデオ/画像処理、その他の産業など、多くの計算領域。
Velocity Benchmarkは、HPC、ML/DL、データ分析など複数の領域をカバーする代表的なアプリケーションやワークロードを含む、計算領域全体にわたる客観的なGPUオフロード性能データを提供することで、これらの問題に対処するように設計されており、複数の並列プログラミングモデル(SYCL、CUDA、HIPなど)を対象としている。
![]() |
|
SYCLは、さまざまなハードウェア・アクセラレータ上でのプログラミングの生産性を向上させるための、より高度なプログラミング・モデルである。 | |
このベンチマーク・スイートには、15の代表的なワークロードがある。各作業負荷は、SYCL、HIP、および CUDA で利用可能であり、異なるプログラミングモデルを使用して Intel、AMD、および Nvidia GPU で実行できるようになっている。アルゴリズム、ライブラリ、入力データ型などの側面が一定に保たれるように、さまざまなベンチマーク・バージョンがすべて同じ程度に最適化されるように配慮されている。作業負荷に応じて、性能は時間、スループット、または他の適切な指標で測定される。Velocity Benchは時間を測定し、他のものはスループットや他の指標を測定する。もう1つの重要な設計面は、外部I/Oとデータ検証の時間は、利用可能なハードウェアデバイスとデバイスドライバによって異なる可能性があるため、性能データ収集から除外したことである。
Velocity Benchmark Suiteに含まれる15のワークロードのうち、HPCに焦点を当てたアプリケーションは5つある。
- リバースタイムマイグレーション(RTM): 分野: HPC。2D 地震波伝播ワークロード。RTMは、記録された地震波形を用いて地表(石油、ガスなど)の反射率をマッピングする地震イメージング手法である。
- ハッシュテーブル: 分野: 計算、HPC。このワークロードは、リニアプロービングを利用する新しい効率的なロックフリーアルゴリズムを使用したハッシュテーブル検索の実装を提供する。アトミック操作は、複数のGPUスレッド上でハッシュテーブルにキー/値のペアを挿入するために使用される。
- QuickSilver: 分野: HPC。QuickSilverは、単純化された動的モンテカルロ粒子輸送問題を解くことで、Mercuryワークロードの主要要素を表現する。QuickSilverは、多群断面積を使用する問題に対して、Mercuryのメモリアクセスパターン、通信パターン、分岐や発散を再現しようとするものである。
- easyWave: 分野: HPC。津波の発生と伝播の研究に使われる津波波シミュレータツール。
- SAM: 分野: HPC。このワークロードは、有限差分時間領域モデリングを使用して、2次元の地下地盤モデルに対して複数の音源位置の音響波伝搬を実行する。
完全なスイートはGitHubで公開されている。著者はまた、コミュニティによる最適化やその他の変更を継続的に募集している。彼らの目標は、さらなる最適化と変更、新しいワークロードの追加、そして不要になったワークロードの非推奨化によって、リポジトリを継続的に更新することである。Velocity Benchは、HPCユーザー(および他のユーザー)がオープンソース環境でGPUアーキテクチャとプログラミング言語を簡単にテストできる、新たな土俵を提供する。