1

好吧,标题已经说明了,我正在 Fortran 中进行以下操作:

a(:,t) = b(:,t)
c(:,t) = x(i,t)*d(:,t)

在这种inc = 1的情况下,使用BLAS的子程序daxpy有什么好处吗?dcopy

4

1 回答 1

2

你永远不会注意到任何区别。

BLAS 必须与 Fortran 77 兼容,我很确定它没有那些花哨的功能。

那些子程序在那里制作数组或矩阵复制 1 行代码,因为它做了很多。循环往往会占用其他例程,例如矩阵求逆,因此复制通常不是性能问题。

如果您担心性能,只需以合理的方式对其进行编码。那我要做的就是打断它几次。这将向您显示时间的实际去向。如果它在复制上花费了很多时间,它会告诉你。如果没有,它会告诉你。

于 2009-06-18T15:35:15.790 回答