Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating cellular automata simulations using AVX and CUDA

Sebastian Szkoda, Zbigniew Koza|arXiv (Cornell University)|Aug 12, 2012
Cellular Automata and Applications参考文献 4被引用数 6
ひとこと要約

この論文では、AVX/SSEベクタ命令およびCUDA対応GPUを用いてFrisch-Hasslacher-Pomeau(FHP)セルオートマトンのシミュレーションを高速化する。AVXまたはSSEはCPUのパフォーマンスを最大化するために不可欠であり、GPUはより高い計算効率を示すが、AVX/SSEで最適化されたCPUも同等のコストおよび消費電力効率を達成でき、AVXはSSEに対して顕著な利点を示さないことが示された。

ABSTRACT

We investigated various methods of parallelization of the Frish-Hasslacher-Pomeau (FHP) cellular automata algorithm for modeling fluid flow. These methods include SSE, AVX, and POSIX Threads for central processing units (CPUs) and CUDA for graphics processing units (GPUs). We present implementation details of the FHP algorithm based on AVX/SSE and CUDA technologies. We found that (a) using AVX or SSE is necessary to fully utilize the potential of modern CPUs; (b) CPUs and GPUs are comparable in terms of computational and economic efficiency only if the CPU code uses AVX or SSE instructions; (c) AVX does not offer any substantial improvement relative to SSE.

研究の動機と目的

  • FHPセルオートマトンのシミュレーションを高速化するための細粒度並列化技術を調査すること。
  • AVX/SSE最適化済みCPUとCUDAアクセcelerated GPUの間の計算効率および経済的効率を比較すること。
  • 現代のCPUベクタ拡張(AVX/SSE)およびGPUコンピューティング(CUDA)が、データ並列型セルオートマトンワークロードのパフォーマンスを顕著に向上させられるかどうかを評価すること。
  • 最適化された命令セットおよび並列プログラミングモデルを用いた場合、CPUとGPUプラットフォーム間のパフォーマンスおよびコスト効率のトレードオフを特定すること。

提案手法

  • 最新のCPUにおけるSIMD並列性を活用するため、AVXおよびSSEインラインアセンブリを用いてFHPモデルを実装した。
  • POSIXスレッド(PThreads)を用いてCPU上のマルチコア並列処理を実現し、AVX/SSEと組み合わせて最大パフォーマンスを達成した。
  • NVIDIA GPUにおける大量のデータ並列性を活用するため、CUDAベースのGPU実装を開発した。
  • FHPモデルの三角格子を効率的なメモリアクセスおよびベクタ化演算を可能にする長方形グリッドにマッピングした。
  • メモリアクセスパターンを最適化し、ノード状態を8ビット整数で表現することで、効率的なビット操作を実現した。
  • Intel Xeon E3、E5、およびE5-2680(CPU)およびGTX 480とTesla M2075(GPU)の複数のプラットフォームでベンチマークを実施し、1ステップあたりの実行時間および消費電力効率を測定した。

実験結果

リサーチクエスチョン

  • RQ1AVXはSSEに比べて、CPUベースのFHPシミュレーションをどの程度高速化するか?
  • RQ2AVXまたはSSEを用いることで、最新CPUにおける順次コードに比べてどの程度のパフォーマンス向上が得られるか?
  • RQ3CUDAを用いたGPUアクセcelerationは、最適化済みCPUコードに比べて、計算効率および経済的効率の面でどの程度優れているか?
  • RQ4AVX/SSEおよびGPU最適化を完全に活用した場合、CPUとGPUは同等のパフォーマンスおよびコスト効率を達成できるか?
  • RQ5メモリ帯域幅は、異なるアーキテクチャ上でのFHPシミュレーションのパフォーマンスを決定づける要因として果たす役割は何か?

主な発見

  • CPU上でAVXまたはSSEを使用することで、FHPシミュレーションは順次コードに比べて約3倍の高速化が達成された。
  • AVX/SSEとPOSIXスレッドを組み合わせることで、マルチコアCPU上で12〜18倍のスループット向上が得られた。
  • GTX 480 GPUは、順次CPUコードに比べて最大50倍の高速化を達成し、テスト済みGPUの中で最高の計算効率を示した。
  • プロセッサ単体比較では、1つのTesla M2075 GPUは1つのXeon E5 CPUに比べて約2倍の速度を発揮した。
  • AVXはSSEに比べて顕著なパフォーマンス向上を示さず、このワークロードではSSEを超えた段階で利得が減少していることが示された。
  • CPUがAVX/SSEで完全に最適化されていない限り、GPUは速度および効率性の両面でCPUを上回るが、完全に最適化されたCPUはGPUと同等の経済的およびエネルギー的効率を達成できる。

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

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

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

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