Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating Polynomial Homotopy Continuation on a Graphics Processing Unit with Double Double and Quad Double Arithmetic

Jan Verschelde, Xiangcheng Yu|arXiv (Cornell University)|Jan 26, 2015
Polynomial and algebraic computation参考文献 4被引用数 4
ひとこと要約

本稿では、標準的な倍精度では対応できない悪条件系を扱うために、ダブル・ダブルおよびクアッド・ダブル算術を用いたGPUアクセラレート型多項式ホモトピー続行用パストラッカーを提案する。GPU上の細粒度並列処理と、評価、微分、線形ソルバーの最適化を活用することで、一部のケースで30倍以上の高速化を達成し、低精度CPU手法よりも高速な高精度解法を実現した。

ABSTRACT

Numerical continuation methods track a solution path defined by a homotopy. The systems we consider are defined by polynomials in several variables with complex coefficients. For larger dimensions and degrees, the numerical conditioning worsens and hardware double precision becomes often insufficient to reach the end of the solution path. With double double and quad double arithmetic, we can solve larger problems that we could not solve with hardware double arithmetic, but at a higher computational cost. This cost overhead can be compensated by acceleration on a Graphics Processing Unit (GPU). We describe our implementation and report on computational results on benchmark polynomial systems.

研究の動機と目的

  • パストラッキングに起因する大規模で悪条件な多項式系を解く際のハードウェア倍精度の数値的不安定性に対処すること。
  • ダブル・ダブルおよびクアッド・ダブル算術の計算コストをGPUアクセラレーションで克服すること。
  • 複素係数を含む高次元多項式系に特化した、スケーラブルでメガスケール並列処理が可能なパストラッカーの開発。
  • GPUアクセラレーションが高精度算術のオーバーヘッドを相殺できることを示し、より大きな問題を解けるようにすること。
  • 多項式評価、微分計算、線形方程式系の解法の最適化GPUカーネルを統合し、プロダクション用途に耐えるパストラッカーを構築すること。

提案手法

  • GPU上で多項式およびそのヤコビ行列の効率的評価のため、逆モードのアルゴリズム的微分を採用する。
  • メモリアクセスを削減しスレッドレベルの並列性を向上させるために、タイル化されたハイブリッド左・右展望変形グラム・シュミット法を実装する。
  • 任意精度複素数算術(ダブル・ダブルおよびクアッド・ダブル精度)を実現するため、QDライブラリおよびそのGPUポートを用いる。
  • ニュートンステップを用いた予測子・修正子続行法を適用し、各ステップをGPU上で並列に計算する。
  • 多項式評価および微分におけるデータ並列性を活用してスレッドブロックの占有率を最適化し、完全に展開された系に対して最適化する。
  • すべてのモジュールを統合した一元的なGPUアクセラレート型パストラッカーを構築し、サイクル的n-ルートやピエリホモトピーといった実世界のベンチマーク系で検証した。

実験結果

リサーチクエスチョン

  • RQ1ダブル・ダブルおよびクアッド・ダブル算術の計算コストを十分に相殺できるほどGPUアクセラレーションが有効であるか?
  • RQ2どの程度の系の次元と次数で高精度算術が必須となり、GPUアクセラレーションが実用的になるか?
  • RQ3高精度が必要な場合に、GPUアクセラレート型パストラッカーの性能は単一コアCPUの倍精度性能と比べてどの程度優れているか?
  • RQ4問題のスパarsityがGPUアクセラレーションの有効性に与える影響は何か?
  • RQ5次元が増加するに従い、スループットの向上はどの程度スケーリングするか?また、高精度算術のコストを相殺できるか?

主な発見

  • サイクル的160ルート問題において、GPU上でのダブル・ダブル精度は、単一コアCPUの倍精度と比較して29.31倍の高速化を達成したが、それでも高精度であることに留意。
  • ダブル・ダブル精度では、次元n ≥ 128の系に対して30倍を超える高速化が得られ、次元が増加するに従い滑らかに向上した。
  • サイクル的256ルート問題では、極めて悪条件なためダブル・ダブル精度で失敗し、現在のアプローチの限界を示した。
  • GPUアクセラレート型ダブル・ダブル精度トラッカーは1パスを28.75秒で完了したが、単一CPUコアの倍精度では93.89秒を要した。精度を2倍にしたにもかかわらず3.3倍の高速化を達成した。
  • ダブル・ダブル精度における高速化は、倍精度よりも次元の増加に伴いより速く上昇する傾向にあり、GPUアクセラレーションにより高精度が大規模スケールで実用的になることが示唆された。
  • 次元n ≥ 100の系では、ダブル・ダブル算術とGPUアクセラレーションを組み合わせることで、精度コストを相殺でき、かつては解けなかった問題を信頼性を持って解けるようになった。

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

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

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

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