Intel documentation doesn't clarify if one does e.g. multiplication and addition of arrays:
c[:] = c[:] + a[:]*b[:]
will it do the following:
for(i=0; i<N; i++) tmp[i] = a[i]*b[i];
for(i=0; i<N; i++) c[i] = c[i] + tmp[i];
OR
for(i=0; i<N; i++) c[i] = c[i] + a[i]*b[i];
For large arrays there is a significant performance difference. As far as I know when such vector operations are done using STL vectors, the former one is done.
Thank you in advance for the answers!