1

DGEMM を呼び出す作業プログラム (FORTRAN、コンパイラ: Intel ifort 11.x) を実装しました。次のようにコンパイルすることで、これを並列化する簡単な方法があることを読みました。

ifort -mkl=parallel -O3 myprog.f -o myprog

私はクアッドコア プロセッサを使用しているので、(bash 経由で) プログラムを実行します。

export OMP_NUM_THREADS=4
./myprog

私の仮定では、DGEMM は自動的に 4 つのスレッドを呼び出し、その結果、行列の乗算が高速化されるというものでした。それは起こっていないようです。何か不足していますか?どんな助けでも大歓迎です。

4

1 に答える 1

0

-mkl=parallel が Intel コンパイラのデフォルトの選択だと思います。したがって、このフラグを特に設定する必要はありません。代わりに -mkl=sequential を試して、計算が遅くなるかどうかを確認してください。

于 2012-11-10T12:57:06.403 に答える