3

A が大きくてスパースな Ax=B を解決するライブラリまたは openCL コードの例を知っている人はいますか? A の逆数は非常に大きくて密集しているため、計算したくありません。A 行列は 90% を超えるスパースであり、x を計算するだけでメモリと計算量が大幅に削減される可能性があります。

次の投稿は、CPU で役立ち、良いオプションのように見えますが、このアプリケーションには GPU の高速化が本当に必要です。

Ax=b 線形代数システムの C++ メモリ効率の高いソリューション

4

3 に答える 3

3

あなたが探しているのは、Sparse Linear System Solver です。OpenCL については、ViennaCL を参照してください: http://viennacl.sourceforge.net/ 共役勾配、安定化双共役勾配、一般化最小残差ソルバーがあります。

ただし、効率的に解決したい場合は、マルチグリッド法が必要です。見てみましょう: http://www.paralution.com/

PARALUTION は、マルチ/メニーコア CPU および GPU デバイスでさまざまなスパース反復ソルバーと前提条件を実行できるようにするライブラリです。

于 2013-09-24T17:30:46.130 に答える
2

SpeedIT OpenCLもあります:

このバージョンの SpeedIT は、適切な GPU の計算能力を使用できる OpenCL フレームワークの能力を利用しています。SpeedIT OpenCL ライブラリは、方程式のスパース線形システム用の高速化されたソルバーと関数のセットを提供します。

  • 前処理付き共役勾配ソルバー

    • 前処理済みの安定化双共役勾配ソルバー

    • スパース行列とベクトルの乗算の高速化

    • 前提条件:

    ◦ ヤコビ対角

    ◦ ノルム l1、l2、l∞ による行スケーリング</p>

    ◦ ILU0 – 充填が 0 の不完全な LU

于 2014-08-15T10:54:30.560 に答える