Skip to main content
QUICK REVIEW

[論文レビュー] Blasting through lattice calculations using CUDA

Kipton Barros, Ronald Babich|ArXiv.org|Oct 29, 2008
Parallel Computing and Optimization Techniques参考文献 7被引用数 7
ひとこと要約

この論文は、格子ゲージ理論におけるウィルソン=ディラック作用素の高度に最適化されたCUDA実装を提示しており、GeForce GTX 280 GPUで92 Gflopsを達成した。共有メモリとレジスタを効果的に活用することで実現された。この手法はGPUの並列処理とメモリの連続アクセスを活用し、従来のCPU実装を10倍以上上回る性能を発揮し、1Gflopあたり5.60ドルという価格性能比を示した。

ABSTRACT

Modern graphics hardware is designed for highly parallel numerical tasks and provides significant cost and performance benefits. Graphics hardware vendors are now making available development tools to support general purpose high performance computing. Nvidia's CUDA platform, in particular, offers direct access to graphics hardware through a programming language similar to C. Using the CUDA platform we have implemented a Wilson-Dirac operator which runs at an effective 68 Gflops on the Tesla C870. The recently released GeForce GTX 280 runs this same code at 92 Gflops, and we expect further improvement pending code optimization.

研究の動機と目的

  • GPUハードウェアとCUDAプログラミングを用いて格子ゲージ理論の計算を高速化すること。
  • 従来のCPU上でウィルソン=ディラック作用素の応用に見られる性能ボトルネックを克服すること。
  • 大規模な格子シミュレーションに適した現代のGPUで高い性能と強スケーリングを達成すること。
  • 科学計算ワークロード向けのGPUカーネルにおけるメモリアクセスとスレッド利用の最適化。
  • 格子場理論におけるCPUベースのHPCに代わるコスト効率の高い高スループットの代替手段を示すこと。

提案手法

  • CUDA(GPUへの直接アクセスを可能にするCに類似した言語)を用いてウィルソン=ディラック作用素を実装すること。
  • 1つのGPUスレッドを1つの格子サイトに対応させ、大規模な並列処理を活用すること。
  • 共有メモリとレジスタを活用してグローバルメモリへのアクセスを最小限に抑え、データ再利用を最大化すること。
  • スレッドのアクセスを連続したメモリ領域に整列・グループ化することで、メモリの連続アクセスを最適化すること。
  • Scalaを用いたコード生成により、SU(3)行列演算の複雑な低レベルCUDAカーネルコードを自動化すること。
  • ゲージ固定(時間的リンクを単位行列に設定)と部分行列再構築を適用して、メモリ帯域幅を削減すること。

実験結果

リサーチクエスチョン

  • RQ1CUDAによるGPUアクセcelerationは、格子ゲージ理論シミュレーションの性能を顕著に向上させ得るか?
  • RQ2GPU最適化されたウィルソン=ディラック作用素の性能は、格子体積の変化に伴ってCPUベースの実装と比較してどのようにスケーリングするか?
  • RQ3格子場理論のGPUカーネルにおいて、スレッドの占有率を最大化するために、共有メモリとレジスタの最適なバランスは何か?
  • RQ4データアクセスパターンと再構築技術を用いることで、メモリ帯域幅の制限はどの程度軽減可能か?
  • RQ5従来のCPUクラスタと比較して、GPUベースの格子計算の価格性能比はいかほどか?

主な発見

  • ウィルソン=ディラック作用素は、Tesla C870で68 Gflops、GeForce GTX 280で92 Gflopsを達成し、一般的なSSE最適化CPU実装と比較して10倍の性能向上を示した。
  • イーブンオッズ事前条件付きウィルソン=ディラック作用素は、C870で60 Gflops以上、GTX 280で90 Gflops以上を、さまざまな格子体積で維持した。
  • 共役勾配反転子は、C870で50 Gflops以上、GTX 280で80 Gflops以上を、妥当な格子サイズで達成した。
  • 性能の体積依存性は弱く、CPU実装とは対照的に、体積が小さくなるとキャッシュミスによる性能低下が顕著に見られなかった。
  • GTX 280は1Gflopあたり5.60ドルという価格性能比を達成し、格子場理論におけるGPUコンピューティングのコスト効率の高さを示した。
  • ゲージ固定と部分行列再構築の適用により、メモリ帯域幅の使用量が削減され、性能が約10%向上した。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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