単純なベクトル数学関数を比較するこの小さなサブルーチンを作成し、ループで実行します。
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 が他の方法の 2 倍の時間がかかるのか理解できません! (ループは直接よりも速い場合があります)
サブルーチンはhttp://paste.ideaslabs.com/show/L6dVLdAOIfの下に あり、経由で呼び出すことができます
program test
use vmltests
implicit none
call vmlTest()
end program