4

私は Fortran 77 でいくつかの科学的なコードをまとめており、何がより高速になるかについて議論しています。

基本的に、私は MxN 行列を持っています。それを A と呼びましょう。M は N よりも大きいです。コードの後半で、transpose(A) に一連のベクトルを掛ける必要があります。

私の質問は、A を取得し、それを自分で転置して保存する方が速いでしょうか、それとも BLAS を呼び出すときに転置フラグを付けるだけですか?

ありがとう!-パトリック

4

1 に答える 1

6

私の腸の感覚は、転置フラグを使用するように私に言います。その場合、1つのストライドで多くのドット積を実行します。

実際には、実際にコードを実行せずに判断するのは非常に困難です。最新のblasは、単純な分析をせいぜい困難にするキャッシュブロッキング技術を採用しています。

于 2010-09-14T03:29:11.860 に答える