問題タブ [pardiso]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - GCC を使用した PARDISO 線形ソルバー テスト ケースのコンパイル
PARDISOを使用して線形システム ソルバーをコンパイルしようとしています。テスト ケース (pardiso_sym.c) も上記の同じ Web サイトからダウンロードします。
ディレクトリ内に次のファイルがあります。
次に、次のコマンドでコンパイルを試みます。
しかし、次のエラーが発生します。
コンパイル方法の何が問題になっていますか?
これは私のシステムの追加情報です:
更新:
ライブラリは、Dave Gamble の提案を使用して認識されます。しかし、今では別のエラーが発生します:
numerical-methods - ARPACK を PARDISO で使用する
これは、こちらの質問に似た質問です。
PARDISO ソルバーおよびインテル® mklライブラリーとうまく連携するARPACK Eigensolverのオープンソース実装または例が既にあるのだろうか?
graph - Compressed Sparse Row (CSR) 疎行列の要素への高速アクセス
新しいスパース線形ソルバーのいくつかをテストしたいのですが、マトリックスをすばやく埋める方法があるかどうかを知りたいです。私が興味を持っている形式は CSR (http://goo.gl/hLXYd) です。CSR形式のマトリックスが次のように与えられるとしましょう:
検討中の疎行列は、ネットワークから派生します。そのため、何千ものノードがあり、そのうちのいくつかはそれらの間を線で接続しています。したがって、マトリックスは構造的に対称です。各接続 (i,j) は、対角項 (i,i) および (j,j) と非対角項 (i,j) および (j,i) に何かを追加します。同じノード (i,j,1)、(i,j,2) 間に複数の接続を作成できます。したがって、2 つの対角要素と 2 つの非対角要素を複数回再検討する必要がある場合があります。
rowIndex(i) を実行することで行の先頭を取得できることはわかっています。次に、j がどこにあるかを見つけるために、要素 columns(rowIndex(i):rowIndex(i+1)-1) を実行する必要があります。
質問:
要素を更新するたびに検索を実行することなく、CSR 形式で要素にすばやくアクセスする方法はありますか?
いくつかの明確化: マトリックスを最初から入力する必要があるだけです。マトリックスは構造的に対称であり、実際には対称ではありません。保存される値は、ネットワーク データ (インピーダンス、抵抗など) に関係しており、実際の値を持っています。一般に、Value(i,j)<>Value(j,i) です。(name1,i1,j1,value1)、(name2,i2,j2,value2) などの形式のタプルがあります。これらのタプルはソートされておらず、2 つのタプルが同じ i,j 値を参照できます。追加される
前もって感謝します!
visual-studio-2010 - Visual Studio でコンパイルするインテル® MKL Pardiso ソルバー
MKL Intel ライブラリ内で Pardiso ソルバーを使用するために、簡単な例を作成しようとしています。提供されている例に従っていますが、サブルーチンで Pardiso を呼び出すと機能しません。恐れ入りますが、INCLUDE ステートメントまたはリンクの側面に関連するものです。
すべてのサブルーチンで使用される配列は、変数と呼ばれるモジュールに含まれています
プログラムを含むファイルは次のとおりです。
最後にファイル initpardiso
ここで、追加のインクルード ディレクトリも Visual Studio プロジェクト構成に追加しました (つまり、
pardiso への呼び出しにコメントすると、すべてが完全に機能します。そうしないと、次のエラーでコンパイルが停止します。
エラー 1 エラー #6285: このジェネリック サブルーチン呼び出しに一致する特定のサブルーチンがありません。[PARDISO_64] ....PardisoFortran\initpardiso.f 144
そのためのアイデアはありますか?それは上のINCLUDEステートメントの問題ですか?どこに含めるべきですか?
multithreading - intel MKL pardiso が fortran で並列実行されない
複数のコアで動作するように pardiso の Intel MKL バージョンを取得しようとしています。mtype=1
私はそれを使用して、約60Kの方程式で構造的に対称なシステム( )を解きます。
これらは私のipram
パラメータです。コンパイルするとき、私は持っています
pardiso を呼び出す前に、MKL と openmp で使用できるスレッドの数も設定します。
call mkl_set_num_threads(3)
call omp_set_num_threads(3)
私が理解している限り、すべての MKL 関数は、「十分に」大きな問題に対して許可または有効化されている場合、複数のスレッドを使用しようとします。私はすでに OMP を使用していくつかの並列処理を行っており、コードは複数のコアで実行されます。私が pardiso と呼んでいる地域はシリアルです。私の質問は、pardiso を複数のコアで動作させるには他に何が必要ですか?
のデフォルト値iparm
、つまりiparm(1)=0
で試してみましたが、変化はありませんでした
fortran - Fortran Pardiso 疎行列のフォーマットの問題
私は現在、Fortran で疎行列を構築し、単純な AX=b 線形システムを解くことを含むいくつかのコードを書いています。これを行うために、プロジェクトの監督者の要請により、Pardiso 疎行列ライブラリを使用しています。
コードは 2 つの部分に分かれています。前半は行列と右辺を構築し、後半はそのシステムを解くために Pardiso を呼び出します。Fortran の外部にそのデータをエクスポートし、Python でシステムを解くと、期待どおりの結果が得られたため、前半が機能することはわかっています。しかし、主に Pardiso が表示するエラー メッセージを誤解しているため、Pardiso を正しく動作させることができません。マニュアルはほとんど説明しておらず、インターネット フォーラムには Pardiso 関連の質問がまばらに (しゃれは意図されていません) あります。
私が Pardiso に使用している設定は次のとおりです。
私が得るエラーは次のとおりです。
error PARDISO (sequence_ido,parameters) error_num= 4 入力チェック:
matrix_number_new 22 ido 32675 は互換性がありません
マニュアルまたはインターネットは、これが何を意味するかについて何も示していません。pardiso_chkmatrix
エラーをpardiso_printstats
吐き出さないので、何が起こっているのかわかりません。