固有並列化に関するいくつかの質問があります。Eigenを複数スレッドで実行する
私の理解では、Eigenは内部並列化を処理しますが、マルチスレッドを有効にしたいと思います。私はちょうどフラグ "-fopenmp"を使ってG ++でコンパイルを始め、OMP_NUM_THREADS = 4 ./execで実行可能ファイルを実行しています。
唯一私が使用したC++コードを使用して実行コードのいくつかの部分:
私は時々私は複数のスレッドを使用しますが、「それはにISN時間のほとんどことがわかります私のシステムモニターを見#pragma omp parallel
{
}
t。追加のOpenMpコードを使用する必要があるかどうかはわかりません。次のリンクで
は:
https://eigen.tuxfamily.org/dox/TopicMultiThreading.html
彼らは、「あなたのアプリケーションは、OpenMPで並列化された場合には、前のセクションで説明するように固有の独自のparallizationを無効にすることができます」と言及し、私私はそれをやるべきかどうかを本当に理解していない。
私はここでコンセプトを混ぜ合わせていないことを願っています。
事前に感謝します。まさにあなたのプログラムを知らなくても、このように行列積PartialPivLU
- 一般的な行列:現在、次のアルゴリズムは、マルチスレッドを利用することができます
:あなたが投稿のリンクから引用