ATLAS defines eight different compilers and associated flag macros in its Make.inc which are used to compile various files during the install process. ATLAS's configure provides flags for changing both the compiler and flags for each of these macros. In the following list, the macro name is given first, and the configure flag abbreviation is in parentheses:
It is almost never a good idea to change DMC or SMC,
and it is only very rarely a good idea to change DKC or SKC.
In most
cases, switching these compilers will get you worse performance and accuracy,
even when you are absolutely sure it is a better compiler
and flag combination! For the open source version of clang, gcc was
always faster on all machines we had access to. Apple's proprietary clang
seems to be a good deal faster, so OS X user's may want to try a search
with both clang and gcc to see which is the fastest if both
are available. See Section for how to force clang to be used.
Intel's icc was not tried for this release since
it is a non-free compiler, but even worse, from the documentation
icc does not seem to have any firm IEEE floating point compliance unless
you want to run so slow that you could compute it by hand faster. This means
that whenever icc achieves reasonable performance, I
have no idea if the error will be bounded or not.
There is almost never a need to change XCC, since it doesn't affect the output libraries in any way, and we have seen that changing the kernel compilers is a bad idea. Under Unix, most compilers interoperate with the GNU compilers, and so you can build ATLAS with the GNU compilers, and then simply link to the resulting libs with the compiler of your choice.
On Windows, if you want to build ATLAS for linking with native libraries
such as MSVC++, then you can build ATLAS with the MinGW compilers, which
are GNU compilers that are made to natively interoprate with native Windows
compilers. See Section for more information.
For those who insist on monkeying with
other compilers, Section gives some guidance.
Finally installing ATLAS without a FORTRAN compiler
is discussed in Section
.