0

私は Linux で C コードを書いています (おそらく後で Windows で)。コードには、並列処理による大規模な線形代数計算が含まれています。多くのジョブを処理する GotoBLAS2 を使用しています。それでも、手動で実行する必要がある行列計算 (特にスパース行列) がいくつかあります。インターネットを検索したところ、Open MP などのライブラリがいくつか見つかりました。また、スレッド化も役立つようです。C で並列計算を行うための最良のアプローチは何でしょうか? ありがとう

私のコードに関する追加情報: 疎行列とベクトルの乗算について特に心配しています。また、ベクトル{v1、v2、v3、v4、...}の大きなセットがあり、これらのベクトルに異なる数を掛ける必要があります。これは、並列計算を使用して実行できます。ありがとう

4

1 に答える 1

3

これは、「ここに問題があります。誰がそれを解決するのを手伝ってくれるのか」というよりも、実際には「ディスカッション」タイプの質問です。タイプ。「最善のアプローチ」は主観的です。私はOMPが大好きです-それはあなたのためにたくさんのスレッド管理を処理します。結局のところ、「最高」とは、効果的に使用できるものです。悪意のある人の手にある強力なツールは良くありません。1日で十分なOMPを学習して、マシン上のプロセッサの数に応じていくつかのキーループを高速化できます。これが私の投票です。

于 2013-01-26T22:17:08.603 に答える