On 2/16/2014 2:05 PM, Renato Golin wrote:
On 16 February 2014 17:23, Tobias Burnus <bur...@net-b.de> wrote:

Compiler vendors (and users) have different ideas whether the SIMD pragmas
should give the compiler only a hint or completely override the compiler's
heuristics. In case of the Intel compiler, the user rules; in case of GCC,
it only influences the heuristics unless one passes explicitly
-fsimd-cost-model=unlimited (cf. also -Wopenmp-simd).
Yes, Intel's idea for simd directives is to vectorize without applying either cost models or concern about exceptions.
I tried -fsimd-cost-model-unlimited on my tests; it made no difference.


As a user, I found Intel's pragmas interesting, but at the end regarded
OpenMP's SIMD directives/pragmas as sufficient.
That was the kind of user experience that I was looking for, thanks!


The alignment options for OpenMP 4 are limited, but OpenMP 4 also seems to prevent loop fusion, where alignment assertions may be more critical. In addition, Intel uses the older directives, which some marketer decided should be called Cilk(tm) Plus even when used in Fortran, to control whether streaming stores may be chosen in some situations. I think gcc supports those only by explicit intrinsics. I don't think many people want to use both OpenMP 4 and older Intel directives together. Several of these directives are still in an embryonic stage in both Intel and gnu compilers.

--
Tim Prince

Reply via email to