4

我在 Fortran 77 中整理了一些科学代码,我正在争论什么会更快。

基本上,我有一个 MxN 矩阵,我们称它为 A。M 大于 N。稍后在代码中,我需要将 transpose(A) 乘以一堆向量。

我的问题是,拿 A 自己转置并存储它会更快,还是当我调用 BLAS 时,只给它转置标志?

谢谢!-帕特里克

4

1 回答 1

6

我的直觉告诉我使用转置标志。在这种情况下,您会以 1 的步幅做很多点积。

实际上,如果不实际运行代码,很难说清楚。现代 blas 采用缓存阻塞技术,这使简单的分析变得困难。

于 2010-09-14T03:29:11.860 回答