Skip to main content
QUICK REVIEW

[論文レビュー] Sophie, an FDTD code on the way to multicore, getting rid of the memory bandwidth bottleneck better using cache

Olivier Cessenat|arXiv (Cornell University)|Jan 19, 2013
Electromagnetic Simulation and Numerical Methods参考文献 2被引用数 5
ひとこと要約

本稿では、マルチコアプロセッサ上でメモリ帯域幅のボトル neck を顕著に軽減するキャッシュに配慮したソフトウェアアーキテクチャを FDTD コードに適用する手法を提示している。オンチップキャッシュ内でのデータ再利用を最適化することで、計算ループの再構築により時間的・空間的局所性を最大化し、大規模3次元シミュレーションにおいて Sophie FDTD コードで2.3倍の性能向上を達成した。これは、実世界のHPCワークロードにおける本手法の有効性を示している。

ABSTRACT

FDTD codes, such as Sophie developed at CEA/DAM, no longer take advantage of the processor's increased computing power, especially recently with the raising multicore technology. This is rooted in the fact that low order numerical schemes need an important memory bandwidth to bring and store the computed fields. The aim of this article is to present a programming method at the software's architecture level that improves the memory access pattern in order to reuse data in cache instead of constantly accessing RAM memory. We will exhibit a more than two computing time improvement in practical applications. The target audience of this article is made of computing scientists and of electrical engineers that develop simulation codes with no specific knowledge in computer science or electronics.

研究の動機と目的

  • CPUの計算能力の向上にもかかわらず、FDTDシミュレーションにおける増大するメモリ帯域幅ボトル neck を解消すること。
  • 特に現代のマルチコアアーキテクチャにおいて顕著になる、低次のスイーパー(FDTDなど)が要求する高比率のバイト/フロップ(bytes-per-flop)の非効率性を是正すること。
  • 低レベルのハードウェア知識を必要とせず、アプリケーションのハイレベル設計にキャッシュ再利用を統合するソフトウェアレベルの最適化戦略を開発すること。
  • キャッシュ効率を高めるアルゴリズム的再構築が、実世界の科学計算コードにおいて顕著な性能向上をもたらすことを実証すること。
  • 構造的直交メッシュ上に適用可能な一般化可能なアプローチを提供すること。

提案手法

  • 複数の時間ステップをまとめるようにFDTD計算ループを再アーキテクチャ化し、プロセッサのキャッシュ階層内でフィールドデータを繰り返し再利用可能にする。
  • 空間的および時間的局所性を向上させるようにメモリアクセスパターンを再構築し、不要なメインメモリアクセスを最小限に抑える。
  • 計算負荷をバランスさせる一方で、キャッシュにやさしいデータアクセスパターンを維持するドメイン分割戦略を実装する。
  • 複数のドメインを用いたアプローチを採用し、キャッシュ再利用と通信オーバーヘッドのトレードオフを評価する。
  • CEAで運用されている生産用FDTDコード(Sophie)に本手法を適用し、単精度および倍精度計算の両方を対象とする。
  • キャッシュ利用度の最適化に向けた設定を特定するため、さまざまな問題分割(例:P2, P4, P5)を用いて性能を評価する。

実験結果

リサーチクエスチョン

  • RQ1ハイレベルなソフトウェアアーキテクチャの変更が、現代のマルチコアプロセッサ上で実行されるFDTDコードにおけるキャッシュ再利用を顕著に改善できるか?
  • RQ2キャッシュに配慮したループ再構築は、大規模3次元FDTDシミュレーションにおいて、メモリ帯域幅の圧力をどの程度軽減できるか?
  • RQ3キャッシュ再利用による性能向上は、さまざまなドメイン分割戦略や問題サイズにおいてどのように変化するか?
  • RQ4本最適化手法は、低レベルのハードウェアやコンパイラの知識を必要とせず、生産レベルの科学計算コードに効果的に適用可能か?
  • RQ5計算カーネル内で複数の時間ステップを統合する際、データ局所性が性能に与える影響は何か?

主な発見

  • キャッシュ再利用技術により、すべてのサブドメインが最適化の恩恵を受ける立方体ケースにおいて、Sophie FDTDコードで2.3倍の高速化を達成した。
  • PEC境界(例:球体)を含むケースではキャッシュ再利用が限定的になるため、性能向上が低下した。これは、本手法が内部体積計算に依存していることを裏付けた。
  • 単精度計算ではほぼ2倍の向上を示したが、倍精度と比較してメモリ帯域幅の圧力がやや低いため、性能向上率はわずかに低かった。
  • P4分割(8,8,8)とP2分割(10,24,12)は優れた性能を示し、それぞれV/T比が72%および60%を記録した。これは体積計算の高効率性を示している。
  • 粗い分割(例:P5)やキャッシュ再利用を阻害する分割(例:P3)は性能が低かった。これは、キャッシュ効率が性能に極めて重要であることを確認した。
  • 本手法は、他の低次のスイーパーに一般化可能であり、メモリ転送が主なボトル neck となるGPUへの移植にも有望である。

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

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

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

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