Skip to main content
QUICK REVIEW

[論文レビュー] GPU-accelerated Bernstein-Bezier discontinuous Galerkin methods for wave problems

Jesse Chan, Tim Warburton|arXiv (Cornell University)|Dec 18, 2015
Advanced Numerical Methods in Computational Mathematics参考文献 25被引用数 5
ひとこと要約

本稿では、波動問題に対するGPUアクセラレート型ベルンシュタイン・ベジエ不連続ガラーキン(DG)法を提案する。ベルンシュタイン多項式の階層的構造を活用することで、微分作用素およびリフト作用素の評価を、積分を伴わない、漸近的に最適な方法で実現する。高次においても、要素内作用素のスパarsityとGPU上の効率的なメモリアクセスパターンのおかげで、標準的なノード型DG実装に比べて優れた計算性能を達成する。

ABSTRACT

We evaluate the computational performance of the Bernstein-Bezier basis for discontinuous Galerkin (DG) discretizations and show how to exploit properties of derivative and lift operators specific to Bernstein polynomials for an optimal complexity quadrature-free evaluation of the DG formulation. Issues of efficiency and numerical stability are discussed in the context of a model wave propagation problem. We compare the performance of Bernstein-Bezier kernels to both a straightforward and a block-partitioned implementation of nodal DG kernels in a time-explicit GPU-accelerated DG solver. Computational experiments confirm the advantage of Bernstein-Bezier DG kernels over both straightforward and block-partitioned nodal DG kernels at high orders of approximation.

研究の動機と目的

  • GPU上で密行列演算が生じる高次ノード型DG法に起因する計算ボトルネックを解消すること。
  • 高次多項式次数において、メモリ帯域幅の利用効率が低く、演算強度が高くなるという、標準的なノード型DGカーネルの限界を克服すること。
  • ベルンシュタイン・ベジエ多項式基底の内蔵されたスパarsityと構造的特徴を活用し、複雑度を低減したGPU最適化された積分フリーDGカーネルを設計すること。
  • ベルンシュタイン・ベジエDGカーネルが、高次において、単純なノード型DG実装およびブロック分割型ノード型DG実装に比べ、計算スループットと数値安定性の両面で優れていることを実証すること。

提案手法

  • 微分作用素およびリフト作用素に特に効果的な、ブロックスパースな要素行列を誘導するため、ベルンシュタイン・ベジエ多項式を基底関数として用いる。
  • ベルンシュタイン多項式の階層的および直交的性質を活用し、リフト作用素を次数上昇と質量行列の積に分解する。
  • 変換行列T_Nによる基底変換を通じて、DG弱形式をモーダル表現に変換し、質量行列の対角化と行列-ベクトル積の簡略化を実現する。
  • 面質量行列と体積質量行列を含む一般化固有値問題を用いて、リフト行列L₀の固有値を明示的に導出する。
  • ベルンシュタイン・ベジエ作用素のスパarsityとブロック構造を活用したGPUカーネルを実装し、メモリアクセスを最小限に抑え、演算強度を最大化する。
  • 2つの基準実装(単純なノード型DGカーネルと最適化されたBLASレベル演算を用いたブロック分割型ノード型DGカーネル)との性能比較を実施する。

実験結果

リサーチクエスチョン

  • RQ1ベルンシュタイン・ベジエ基底は、標準的なノード基底と比較して、GPU上での波動問題のDG離散化における計算複雑度を低減できるか?
  • RQ2ベルンシュタイン・ベジエ基底における微分作用素およびリフト作用素は、どのようにしてDG弱形式の積分フリーで漸近的に最適な評価を可能にするか?
  • RQ3有限精度算術が、高次多項式次数におけるベルンシュタイン・ベジエDG法の安定性と精度に与える影響は何か?
  • RQ4計算スループットおよびGPU上での強スケーリングの観点から、ベルンシュタイン・ベジエDGカーネルは、単純な実装およびブロック分割型ノード型DGカーネルに比べて、性能に優れているか?

主な発見

  • ベルンシュタイン・ベジエ基底は、微分作用素およびリフト作用素のスパarsityを活用することで、DG定式化の漸近的に最適な実装を可能にし、次数Nの多項式に対して計算複雑度をO(N³)に低減する。
  • リフト作用素はL = M⁻¹M_fと因子分解され、M_fは面質量行列で、次数上昇および直交射影を介して表現される。
  • 質量行列はモーダル(直交多項式)基底において対角化され、リフト行列L₀の固有値はλ_i = (N+1)²/2 × (λ_i^N / λ_i^{N+1})として明示的に導出され、(N+i+d)(N+1−i)/2に簡略化される。
  • 計算実験の結果、ベルンシュタイン・ベジエDGカーネルは、多項式次数N ≥ 8において、単純なノード型DGカーネルに比べ2〜3倍のスループットを達成し、ブロック分割型ノード型DGカーネルに比べ1.5〜2倍のスループットを達成する。
  • 有限精度算術下でも数値的安定性を維持しており、直交モーダル基底のおかげで質量行列の条件数が良好にスケーリングされる。
  • ベルンシュタイン・ベジエDGの性能優位性は、多項式次数が高くなるほど顕著になり、GPUアクセラレートアーキテクチャ上での高次波動シミュレーションに適していることが確認された。

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

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

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

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