2

Intelのドキュメントでは、配列の乗算と加算などを行うかどうかを明確にしていません:

c[:] = c[:] + a[:]*b[:]

それは次のことをしますか:

for(i=0; i<N; i++) tmp[i] = a[i]*b[i];
for(i=0; i<N; i++) c[i] = c[i] + tmp[i];

また

for(i=0; i<N; i++) c[i] = c[i] + a[i]*b[i];

大規模な配列の場合、パフォーマンスに大きな違いがあります。このようなベクトル操作が STL ベクトルを使用していつ行われるかを知る限り、前者は行われます。

回答ありがとうございます!

4

1 に答える 1