OpenCLベンチ

OpenCL系ベンチマークソフトをいくつか紹介します。
(ベータ版なども有りますので、インストール/実行は自己責任にて御願いします)

計測結果に付いては比較表を参照下さい。



LuxMark
 前回もブログで紹介しましたがLuxRenderというオープンソースのレンダリングソフトをOpenCLベンチマーク専用に改造した物で、Windows/Mac/Linuxで実行可能ですので異種間の比較などが楽しめそうです。
 このソフトの素晴らしい所は、実写と同等クオリティのCGを描画する事で、技法としてはレイトレーシングですが、私の知っているレイトレーシングより更に実写に近いクオリティを発揮しています。
 色収差や回折まで忠実にシュミレートされているかは未調査ですが、描画時間を重ねる毎にリアリティが向上してゆくのが判ります。
 レンダリングソフトをベースとしている為、描画するオブジェクトをデフォルト以外にも選択(又は各種3Dモデリングソフトで自作)する事が出来ます。
 レンダリングの演算デバイスをGPU以外にもCPUが選択出来ますので、CPUとGPUの比較なども出来ます。
 唯一残念な事は異種GPU混載環境でGPUの選択が出来ない(プライマリGPUがデフォルトで選択され変更出来ない)事ですが後のバージョンで対応出来る様に成るかもしれません。Ver2.0で複数GPUを任意に選択出来る様に成りました。

 このベンチマークでは120秒に限定して演算を行い、その時間内に処理したSample数/秒の平均値を1/1000した値をスコアとして表示している様ですので、数値が高いほど、よりリアルな画像が描画される=性能が高い事になると思います。
LuxMark_2_13.jpgLuxMark_1_13.jpg
※余談ですが、珍しいスコアが出ましたので掲載しておきます。


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

 表示されるスコアは、所定のオブジェクトを同一方法で描画した時の時間を計測した物ですので、値が小さい方がより高速な描画=性能が高い事に成ります。
ratGPU_n_13.jpg


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


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 の方が通じ易いかもしれませんが一般向けには倍精度/単精度の訳が適していると思います。
san13_cal.jpg


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


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


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


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



調査中のベンチマーク
 AIDA64
 Basemark CL
 CLBenchmark
 FlopsCL
 python OpenCL bitcoin miner

Linux用ソース
 Rodinia Accelerating Compute-Intensive Applications with Accelerators
関連記事

コメントの投稿

非公開コメント

プロフィール

DualSocketTheWorld

Author:DualSocketTheWorld
自作を始めて20台目くらいになりますが、最初からデュアルソケット限定(始めた当時はデュアルスロット)で自作しており、シングルマザー(母子家庭ではありません念の為)での自作経験は一度も有りません(爆)つい最近になってSocket7でK6-2+のシングル構成で3台だけ組みました。

シングルマザー(含:シングルソケットマルチコア)や4ソケット以上の自作は基本的にしませんし、メーカー製PCの改造も基本的にはしません(ノートPCのSSD化くらいはしますが・・・)

基本路線はワークステーションと呼ばれる分野での自作で、OSもWindows系であればProfesionalと付くOSが主な対象に成ります。

ゲーマーの様なOverClockは行わず、WS路線としてハイエンドCPUとハイエンドGPUの組み合わせで定格或いはDownClockで発熱を抑えつつ、その時のアーキテクチャに置いて爆速かつ静音を目指し、30年以上の長期に渡り稼動状態をキープする事を目指します。

※基本的にリンクフリーです。どこでも自由にどうぞ。

※画像は時々変ります。

※お決まりの文章ですが、改造は個人の責任で行ってください。ここに記載された情報は間違いを含んでいる可能性が有り、それを元に製作や改造などをして失敗しても筆者は一切責任持てませんので悪しからず。

筆者略歴:
小学生時代にゴミ捨て場で拾ったジャンクテレビ数台を分解して部品を取り出し真空管アンプを自作、中学生時代にPC88でZ80アセンブラを始める。社会人になって初のプログラムは弾道計算、後に医療系・金融系プログラマ~SEを経て100~200人規模プロジェクトのジェネラルマネジャを数年経験、独立して起業。現在は不動産所得で半引退生活。
(人物特定を避ける目的で一部経歴を変更しています)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
アクセスカウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR