GeForce GTX TITAN: High Performance Linpackの性能評価速報Part 2

出典: トータル・ディスクロージャ・サイト(事実をありのままに)

この記事は、GeForce GTX TITAN: High Performance Linpack Part 2 - 正統納豆天国ブログ - Yahoo!ブログの許可を取って、転載した記事です。

ファイル:Img_545355_32613363_0.jpg
Q. 上記のマザーボードには、PCI Express 2.0のx16スロットが1つ、x8スロットが1つあります。x16はどのスロットでしょう?
A. 長くて青いスロット。長くて白いスロットはx8。

昨日の記事で、PCI Expressがx8だったのは、この勘違いが原因。きちんとマニュアルを読もう。

目次

PCI Express x16の効果

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR10L2L2       39000  1792     1     1              93.22              4.243e+02
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0043421 ...... PASSED
================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR10L2L2       39000  2048     1     1              89.35              4.426e+02
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0036759 ...... PASSED
================================================================================

と、前回のNB = 1792における422.8 GFLOPSと比べると、性能向上は微妙なものであるが、NB = 2048でも性能は伸び続けて、最終的に442.6 GFLOPSに到達した。とは言え、予想よりもホスト⇔GPU感の通信はボトルネックにならないベンチマークではあるようだ。

さらなるチューニングに挑戦

N

このCUDA版HPLで2048を超えるNBを指定するにはプログラムの修正が必要となるのでひとまず保留して、Nの値を弄ってみることにする。

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR10L2L2       41092  2048     1     1             101.26              4.568e+02
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0045679 ...... PASSED
================================================================================

CUDA_DGEMM_SPLITとCUDA_DTRSM_SPLIT

実はこのCUDA版HPL、CUBLASとホストとのBLASとで計算負荷を分散するようにできているのだが、この負荷分散の基準になっている計算性能がNehalem対Fermiだったりする。今回の実行環境は、この想定に対してGPU側の性能が大きく伸びているため、この負荷分散の割合を変更する必要がある。

CUDA_DGEMM_SPLITとCUDA_DTRSM_SPLITという2種類の環境変数が在り、前者はDGEMMの、後者はDTRSMの負荷分散の比率を指定するようである。前者は両環境のDGEMM性能の比を考えて0.95に、後者はドキュメントに従ってCUDA_DGEMM_SPLIT - 0.1 = 0.85の値を指定してみた。

================================================================================
T/V                N    NB     P     Q               Time                 Gflops
--------------------------------------------------------------------------------
WR10L2L2       41032  2048     1     1             100.06              4.603e+02
--------------------------------------------------------------------------------
||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)=        0.0044975 ...... PASSED
================================================================================

もう一回り高い数値が出たが、まだチューニングが不足気味には思うので、さらなるチューニングを模索中である。


この記事へのコメントをお寄せください

  • サイトへの書き込みに差し支えございましたら トータルディスクロージャーサイトサポート係へメールをお送りください
  • トータル・ディスクロージャ・サイトに投稿された文章と画像は、すべてその著作権がHPCシステムズ株式会社に帰属し、HPCシステムズ株式会社が著作権を所有することに同意してください。
  • あなたの文章が他人によって自由に編集、配布されることを望まない場合は、投稿を控えてください。
  • コメントを書き込む場合は名前にひらがなを織り交ぜてください。
  • あなたの投稿する文章と画像はあなた自身によって書かれたものであるか、パブリック・ドメインかそれに類する自由なリソースからの複製であることを約束してください。あなたが著作権を保持していない作品を許諾なしに投稿してはいけません!

<comments hideform="false" />


Comments

ノート:GeForce GTX TITAN: High Performance Linpackの性能評価速報Part 2

個人用ツール