我写了这个小的子例程来比较简单的向量数学函数,使用循环执行:
f(i) = a(i) + b(i)
或者直接:
f = a + b
或使用英特尔MKL VML:
vdAdd(n,a,b,f)
n=50000000的计时结果为:
VML 0.9秒直接0.4循环0.4
我不明白,为什么VML花费的时间是其他方法的两倍!(循环有时比直接循环更快)
子例程可以在下找到并通过
program test
use vmltests
implicit none
call vmlTest()
end program