Skip to main content
QUICK REVIEW

[論文レビュー] QCDGPU: open-source package for Monte Carlo lattice simulations on OpenCL-compatible multi-GPU systems

Vadim Demchik, Natalia Kolomoyets|arXiv (Cornell University)|Oct 26, 2013
Quantum Chromodynamics and Particle Interactions参考文献 22被引用数 9
ひとこと要約

QCDGPU は、OpenCL 対応のマルチGPUシステム上で SU(N) ゲージ力学および O(N) モデルのためのオープンソースでクロスプラットフォームのモンテカルロ格子シミュレーションパッケージです。単精度/倍精度の両方をサポートし、異種デバイス間での動的負荷分散と、クライアント・サーバー・アーキテクチャによる分散計算を実現しており、AMD および NVIDIA GPU において CUDA に基づく実装と同等のパフォーマンスを達成しています。

ABSTRACT

The multi-GPU open-source package QCDGPU for lattice Monte Carlo simulations of pure SU(N) gluodynamics in external magnetic field at finite temperature and O(N) model is developed. The code is implemented in OpenCL, tested on AMD and NVIDIA GPUs, AMD and Intel CPUs and may run on other OpenCL-compatible devices. The package contains minimal external library dependencies and is OS platform-independent. It is optimized for heterogeneous computing due to the possibility of dividing the lattice into non-equivalent parts to hide the difference in performances of the devices used. QCDGPU has client-server part for distributed simulations. The package is designed to produce lattice gauge configurations as well as to analyze previously generated ones. QCDGPU may be executed in fault-tolerant mode. Monte Carlo procedure core is based on PRNGCL library for pseudo-random numbers generation on OpenCL-compatible devices, which contains several most popular pseudo-random number generators.

研究の動機と目的

  • 異なるGPUおよびCPUプラットフォームで効率的に実行できる、ポータブルで高性能な格子ゲージ理論のモンテカルロシミュレーションパッケージの開発。
  • OpenCL を用いてクロスプラットフォーム互換性を確保し、異種マルチGPUシステム上で SU(N) ゲージ力学および O(N) モデルの大規模シミュレーションを実現すること。
  • 軽量なクライアント・サーバー・アーキテクチャを用いて、複数のホスト間でのフェイルセーフ実行および分散シミュレーションを可能にすること。
  • ホストCPUの負荷と外部依存関係を最小限に抑え、他のHPCワークフローへの統合を可能にすること。
  • モジュラーなコード設計により、新しいゲージ群や観測量の追加が容易な拡張性の提供。

提案手法

  • AMD、NVIDIA、Intel GPU および CPU へのポータビリティを確保するため、OpenCL による実装。
  • 異種デバイス間の性能差を隠すために、格子を非均一な部分に分割する動的負荷分散戦略の採用。
  • 分散シミュレーションのためのクライアント・サーバー・モデルの採用により、共有ネットワークフォルダを介して複数ホスト間での実行を可能に。
  • GPUデバイス上で高品質な擬似乱数生成を実現するため、PRNGCL との統合を実施し、複数の標準的生成器をサポート。
  • パフォーマンスと精度のバランスを考慮し、単精度および倍精度浮動小数点演算の両方をサポート。
  • シミュレーション状態を N スイープごとまたは M 秒ごとにチェックポイントとして保存するメカニズムを組み込み、フェイルセーフと異なるハードウェアでの再開を実現。

実験結果

リサーチクエスチョン

  • RQ1ポータブルで OpenCL を基盤とするシミュレーションパッケージは、マルチGPUシステム上で CUDA に基づく実装と同等のパフォーマンスを達成できるか?
  • RQ2格子モンテカルロシミュレーションにおいて、異種GPUおよびCPUデバイスの負荷分散はどの程度効果的に実現できるか?
  • RQ3長時間実行される格子シミュレーションにおいて、データ損失なしにフェイルセーフ実行をどの程度達成できるか?
  • RQ4軽量なクライアント・サーバー・モデルを用いて、複数ホスト間での分散シミュレーションを効率的に調整できるか?
  • RQ5AMD および NVIDIA GPU を含むさまざまなハードウェアプラットフォームにおいて、このパッケージのスケーリング性能はどの程度か?

主な発見

  • NVIDIA GeForce GTX 560 Ti では、SU(2) で 6×10⁻⁴ 秒、SU(3) で 1.3×10⁻³ 秒の単スイープ性能を達成し、既存の CUDA に基づく結果と一致。
  • AMD Radeon HD 7970 では、SU(2) で 2.0×10⁻³ 秒、SU(3) で 3.4×10⁻³ 秒の単スイープ時間であり、AMD ハードウェアでも高いパフォーマンスを示した。
  • 倍精度性能は許容範囲内にあり、AMD では SU(3) で 5.1×10⁻³ 秒、NVIDIA では 4.9×10⁻³ 秒を記録。
  • AMD および NVIDIA の異種プラットフォームにおけるマルチGPUシミュレーションでは、単一デバイスの最良性能比で 10–25% の性能向上が確認され、効果的な負荷分散が実証された。
  • フェイルセーフ実行が成功裏に実装されており、長時間のシミュレーションを中断・再開してもデータ損失が生じないことが確認された。
  • クライアント・サーバー・アーキテクチャにより、共有ネットワークフォルダを介した複数ホスト間の分散シミュレーションが可能となり、軽量な制御メッセージによるネットワークオーバーヘッドは最小限に抑えられた。

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

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

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

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