【发布时间】:2014-01-03 12:49:17
【问题描述】:
我试图测量 Fortran 中不同矩阵向量乘法方案的差异。我实际上已经写了以下代码:http://pastebin.com/dmKXdnX6
“优化版本”旨在尊重矩阵的内存布局,通过交换循环来访问矩阵元素。提供的代码应该使用 gfortran 编译,并且运行时会产生以下相当令人惊讶的结果:
Vectors match! Calculations are OK.
Optimized time: 0.34133333333333332
Naive time: 1.4133333333333331E-002
Ratio (t_optimized/t_naive): 24.150943396226417
我可能犯了一个令人尴尬的错误,但我无法发现它。 我希望其他人可以帮助我。
我知道 fortran 提供了优化的版本,但我只是出于好奇而对此进行衡量。
提前致谢。
【问题讨论】:
-
你在子调用之外搞砸了时间计算...
标签: optimization vector matrix fortran multiplication