Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Fortran 77 中整理了一些科学代码,我正在争论什么会更快。
基本上,我有一个 MxN 矩阵,我们称它为 A。M 大于 N。稍后在代码中,我需要将 transpose(A) 乘以一堆向量。
我的问题是,拿 A 自己转置并存储它会更快,还是当我调用 BLAS 时,只给它转置标志?
谢谢!-帕特里克
我的直觉告诉我使用转置标志。在这种情况下,您会以 1 的步幅做很多点积。
实际上,如果不实际运行代码,很难说清楚。现代 blas 采用缓存阻塞技术,这使简单的分析变得困难。