英特尔文档没有说明是否有,例如数组的乘法和加法:
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 向量完成此类向量运算时,前者已完成。
预先感谢您的回答!