Hi
I would like to include SIMD parallelism in OpenMP loop. The syntax of the loop simd construct is simple as
!$omp do simd
do loops
!$omp end do simd
The question is that after the code is compiled with above construct, will the executable run on a non-simd processor? I mean if I compile the code with the above and distribute the executable file to all users with different processors, will some of them with a non-simd processor encounter any problem? Thank you, Maria
Intel Fortran isn't supported on any non-SIMD processors. That would have to be pre-Pentium 4. DO SIMD distributes the loop across threads and uses vector instructions where useful.
The instruction set used is limited according to what you specified in the command line, even in the case where it makes simd inefficient.
For more complete information about compiler optimizations, see our Optimization Notice.