電子情報通信学会 - IEICE会誌 試し読みサイト
© Copyright IEICE. All rights reserved.
|
1.FPGA アクセラレーションを用いたアプリケーション実例
小特集 1-1
ステンシル計算に基づく科学技術シミュレーションのハードウェアアクセラレーション
Hardware-based Acceleration of Scientific Simulation with Stencil Computing
abstract
数値流体力学計算などの科学技術シミュレーションでは,ある決まった近傍領域(ステンシル)内のデータを参照しながら計算格子を繰り返し更新するような計算を行う場合が多い.そのような計算は,バッファメモリを用いて参照データを再利用するストリーム処理専用ハードウェアにより高速化できる.本稿では,ステンシル計算のためのハードウェアアクセラレーション技術について概説する.
キーワード:科学技術シミュレーション,ステンシル計算,ストリーム処理,専用ハードウェア,高性能計算
流体力学計算,電磁界解析計算,分子動力学計算,量子化学計算,多体問題計算をはじめとする数値シミュレーションは,ものづくり分野に加え,次世代医療・材料・エネルギー・防災減災・宇宙物理学といった科学技術分野において重要かつ不可欠な技術として認識されている.大規模かつ複雑なシミュレーションの実行には速度と規模の点で高性能な計算が必要なため,通常,多数の計算ノードをネットワークにより相互に接続した並列計算機であるスーパコンピュータが用いられる.しかしながら,スーパコンピュータの規模は数万ノード以上にも達しており,システム全体の消費電力を現実的な範囲に抑えながら高性能計算を実現するために,計算性能のみならず電力性能比の高いシステムが求められている.
現在の一般的なスーパコンピュータは,CPUのみのホモジニアスアーキテクチャか,またはCPUにGPUやXeon Phi等のメニーコアアクセラレータを組み合わせたヘテロジニアスアーキテクチャに基づいている.近年のマルチコアCPUは,従来のシングルコアCPUと異なりコア単体の性能を無理に向上させずに複数コア全体の性能を高めるような設計に傾きつつあるものの,シングルスレッドの実行レイテンシ短縮を目標としたままでは電力性能比の大幅な改善は困難であり,チップの電力制約が性能向上の壁となっている.一方,メニーコアアクセラレータは,複数スレッドによるレイテンシ隠蔽により全体の処理スループットを向上させるように設計されており,並列性の高い特定の計算問題に対して優れた性能と電力性能比を実現可能である.特に,近年のアクセラレータは,数千もの計算コアに加え1TByte/sに迫る広帯域の外部メモリにより高いピーク性能を有している.
しかしながら,そのようなアクセラレータを用いたとしても様々な計算問題に対して高い実効性能を実現するのは困難であり,場合によってはピーク性能の僅か数%しか得られないことがある.このような非効率性は外部メモリの帯域不足やメモリ階層システムの不適合により引き起こされるコアの稼動率低下に起因する.計算カーネルにおける外部メモリ参照データ当りの演算回数を演算密度と呼ぶ(1).演算密度がプロセッサのメモリ帯域・ピーク性能比よりも低い場合,演算器へのデータ供給が不十分となりコアの稼動率が低下する.ループアンローリングやテンポラルブロッキングといったキャッシュメモリを有効利用し演算密度を高める工夫が可能ではあるものの,計算において求められる様々なデータ移動に対してメモリ階層は必ずしも適しているとは限らない.例えば,異なるコア間のデータ移動が,共有キャッシュメモリや外部メモリを経由するために非効率となる場合がある.
続きを読みたい方は、以下のリンクより電子情報通信学会の学会誌の購読もしくは学会に入会登録することで読めるようになります。 また、会員になると豊富な豪華特典が付いてきます。
電子情報通信学会 - IEICE会誌はモバイルでお読みいただけます。
電子情報通信学会 - IEICE会誌アプリをダウンロード