For quite some time, the Intel compilers have had a reputation for producing highly optimised and very fast code. Many benchmark programs, and scientific programs have been compiled with this important tool.
AMD has alleged that programs created with this tool, are deliberatly modified by the compiler to give poor performance, or simply crash, when run on non-Intel processors. [*]
What investigations, if any, have review sites made into examining performance differences between different platforms, and could this compiler feature be relevant to published benchmarks?
[*] Technical note - several people have thoroughly investigate the behaviour of the Intel compiler. The problem is with SSE/SSE2 handling.
E.g. If code the compiler is set to 'use SSE/SSE2 if available' the program code is modified to look like this:
IF CPUManufacturer <> Intel THEN GOTOnonSSEversion
IF CPUHasSSE2 THEN GOTO SSE2version
IF CPUHasSSE THEN goto SSEversion ELSE GOTO nonSSEversion
or if set to 'only use SSE/SSE2' then the code looks like this
IF CPUManufacturer <> Intel THEN crash
IF CPUHasSSE2 THEN GOTO SSE2version
IF CPUHasSSE THEN goto SSEversion ELSE crash
AMD has alleged that programs created with this tool, are deliberatly modified by the compiler to give poor performance, or simply crash, when run on non-Intel processors. [*]
What investigations, if any, have review sites made into examining performance differences between different platforms, and could this compiler feature be relevant to published benchmarks?
[*] Technical note - several people have thoroughly investigate the behaviour of the Intel compiler. The problem is with SSE/SSE2 handling.
E.g. If code the compiler is set to 'use SSE/SSE2 if available' the program code is modified to look like this:
IF CPUManufacturer <> Intel THEN GOTOnonSSEversion
IF CPUHasSSE2 THEN GOTO SSE2version
IF CPUHasSSE THEN goto SSEversion ELSE GOTO nonSSEversion
or if set to 'only use SSE/SSE2' then the code looks like this
IF CPUManufacturer <> Intel THEN crash
IF CPUHasSSE2 THEN GOTO SSE2version
IF CPUHasSSE THEN goto SSEversion ELSE crash
