新しい記事を書く事で広告が消せます。
スポンサーサイト
新しい記事を書く事で広告が消せます。
OpenCLベンチ
(ベータ版なども有りますので、インストール/実行は自己責任にて御願いします)
計測結果に付いては比較表を参照下さい。
LuxMark
前回もブログで紹介しましたがLuxRenderというオープンソースのレンダリングソフトをOpenCLベンチマーク専用に改造した物で、Windows/Mac/Linuxで実行可能ですので異種間の比較などが楽しめそうです。
このソフトの素晴らしい所は、実写と同等クオリティのCGを描画する事で、技法としてはレイトレーシングですが、私の知っているレイトレーシングより更に実写に近いクオリティを発揮しています。
色収差や回折まで忠実にシュミレートされているかは未調査ですが、描画時間を重ねる毎にリアリティが向上してゆくのが判ります。
レンダリングソフトをベースとしている為、描画するオブジェクトをデフォルト以外にも選択(又は各種3Dモデリングソフトで自作)する事が出来ます。
レンダリングの演算デバイスをGPU以外にもCPUが選択出来ますので、CPUとGPUの比較なども出来ます。
このベンチマークでは120秒に限定して演算を行い、その時間内に処理したSample数/秒の平均値を1/1000した値をスコアとして表示している様ですので、数値が高いほど、よりリアルな画像が描画される=性能が高い事になると思います。


※余談ですが、珍しいスコアが出ましたので掲載しておきます。
ratGPU ミラーサイト
上記のLuxMarkと同一属性のベンチマークで、レイトレーシングを使ったレンダリングソフトをOpenCLベンチマークが出来る様にした物です。
LuxMarkと比較して異種GPU混載環境で個々のGPUを任意に指定(しかも複数指定も可)して測定出来る利点が有ります。但しこれは描画ロジックの問題なのですが複数指定すると相乗効果というより遅いデバイスに足を引っ張られる結果が出る事もあります。
傾向としてnVidiaのGPUに若干有利なスコアが出る事とCPUでの処理が異様に遅い事が上げられます。対して上記LuxMarkではAMD/ATIのGPUに若干有利なスコアが出る事とCPUでもそれなりに高速ですので、ratGPUはnVidiaのGPU向けに設計(或いはチューニング)されており、LuxMarkはAMD/ATIのFUSION向けに設計(或いはチューニング)されている様ですから、公平な立場での比較をしたい場合は両方のベンチをとってみるのが良いと思います。
この記事の執筆時点では対応する3Dモデリングソフトが 3ds Max のみの対応ですが、ベンチマーク用に予めデフォルトのデータが用意されていますのでベンチマークをするうえで問題になりません。
表示されるスコアは、所定のオブジェクトを同一方法で描画した時の時間を計測した物ですので、値が小さい方がより高速な描画=性能が高い事に成ります。

N-Queen_CL
エイト・クイーン問題を発展させたN升N個のクイーンが互いに干渉しない配置を演算で求めるという物です。
歴史が古く、多くの学生や研究者などがこの問題に取り組み、CPUを使ったプログラムがいくつか公開されていますが、OpenCLを使った物は未だ少数と思われます。
今回試した物は残念ながらGUIが無くコマンドラインで実行する物ですが、反面、軽量でインストールも不要、異種GPU混在環境で個々のデバイスを指定して実行出来たり、演算アルゴリズムを選択出来たりと重宝する面も有ります。(但し、複数GPUを同時に選択する事は出来ません。)
PentiumIIIやAthlonでも実行出来た事も他のベンチと比較して(ベンチとしては)好感が持てました。
また、OpenCLのカーネルコードが生のテキストファイルとして存在し、それを読み込んでJITコンパイルをしますので、自分でコードを修正しつつ計測する事も可能です。
問題の性質上、浮動少数演算ではなく、整数演算主体と成りますので、整数演算の傾向を見るには良い題材かもしれません。

SiS Sandra
かなり昔からある有名な汎用人型決戦ベンチマークソフトですが、2010年版あたりからGPGPUの計測機能が盛り込まれた様です(筆者は2005年版以降チックしてませんでした)
特徴として、演算/メモリ帯域/暗号処理の3つのテスト項目が有り、それぞれCUDA/OpenCL/DirectComputeが選択出来、異種GPU混在環境でも(ドライバが適切にインストールされていれば)デバイスを任意に選択出来ます。
この3つのテスト項目を私なりに意訳しますと
GPGPU演算 => GPGPU浮動少数演算
GPGPUメモリ帯域 => 同左
GPGPU暗号処理 => GPGPU整数演算
に成るかと思われます。
GeForce系のGPGPUでは浮動少数系のスコアがRadeon系に比べ1桁悪い結果になりましたが、これはnVidiaの販売戦略でして、同じGPUコアでもTESLAやQuadroがフルスペックでGeForceは機能制限されています。もしかしたらグラボのROM改造などでGeForceの浮動少数演算もフルスペックに成るかもしれませんが、筆者はGF110のQuadroが登場したら買ってしまいそうで怖いです。
若干脱線してしまいますが、GPGPU演算の説明に「ダブルシェーダー」と「浮動少数点シェーダー」という2つの軸が記載されていますが、これは意訳すると「倍精度浮動小数点シェーダ」と「単精度浮動少数点シェーダ」になると思います。ブログラマなら訳さないで原文のまま double と float の方が通じ易いかもしれませんが一般向けには倍精度/単精度の訳が適していると思います。

N-Body(N体シミュレーション)
和製のCUDA/OpenCLベンチマークです(2012/1/25 追記)
ベクトル演算機等の並列演算が得意とするN体シミュレーションをビジュアル的にも見られるベンチマークに昇華させたものです。
他のベンチマークと異なり、起動直後に結果が出るという特徴があり、短時間で浮動少数点の並列演算性能を調べたい場合に便利です。
起動オプションで6種類の異なるカーネルを選択出来、チューニングの際の指標にもなりそうです。
起動時オプションでCPUを選択する事も出来ます。
複数GPUで測定する場合に環境によっては正確に計測できない場合がありますので、現時点(2012/1/25)では1GPU又はCPUでの測定をお奨めします。(デフォルトは自動選別)
2012/2/27追加:複数GPU対応版を作りました。

DirectComputeBenchmark
このベンチマークの特徴は、OpenCLだけでなくDirectComputeも測定出来る事や、複数の異種GPUを同時に(又は個別に)使って計測出来る事と、演算制度をチェックしている事などが上げられます。具体的に何を計算しているのかは未調査でスコアの意味も未調査ですが数値が多いほど高性能の様です。
GPGPUでの並列演算はアルゴリズムによって個々のGPUに得手不得手が有りますが、このベンチの傾向としてはRadeonに有利なスコアが出ますのでベクトル演算系の癖の有る手法を多用しているのではないかと思われます。

ちなみにGTX460でDirectComputeを使って計測しますと計算誤差?で怒られます。OpenCLは演算精度が高い様です。

gluxMark
このベンチマークの特徴は、OpenGLとOpenCLを使って主にOpenGLの特定の機能に付いて性能を計測する物ですが、試験的にOpenCLの演算能力も測定しています。実行中、色収差を伴ったレンズ効果の表現がなかなか凄いと思いました。残念な事に執筆時点では異種GPUの混在には対応が不十分の様です。

GpuCapsViewer
GPU-Zの様にOpenCL関連の情報を表示してくれるソフトで、隠し機能的にベンチマークも出来ます。
OpenCLタブを選択し、中央のボタンをクリックしますとOpenCLへの対応状況を細かく表示してくれます。
この時、右下のOpenCLデモのスタートボタンをクリックしますと、デモが表示されますが同時にFPS(Frames Per Sec.)が表示されますので、その値の大小をベンチマーク代わりに使う事が出来そうです。値が大きい方が性能が高い事に成ります。

調査中のベンチマーク
AIDA64
Basemark CL
CLBenchmark
FlopsCL
python OpenCL bitcoin miner
Linux用ソース
Rodinia Accelerating Compute-Intensive Applications with Accelerators
- 関連記事
- OpenCLベンチ #3 (03/29)
- OpenCLベンチ (03/28)
- LuxMark と言う OpenCL ベンチマーク (03/09)
