Hi,
Here at EDF the common acceptance is that :
- considering compilers alone, Intel Compilers tend to generate faster executable codes than GNU compilers. However GNU compilers tend to be less permissive than Intel Compilers and therefore help us discover more bugs. That's why we use of combination of both but the central computation server runs under Intel compilers (for performance).
- for mathematical libraries (BLAS, Lapack) that are used all over the code but whose performance is critical only in the linear solve (e.g. K.u = f and only if one uses a direct solver such as MUMPS or MULT_FRONT) using a constructor/vendor-provided BLAS is the best practice. MKL or ACML should give the same performance.
For people considering a non proprietary solution, ATLAS is the way to go and custom build should give good performance although I don't think I was ever able to get as much perf as MKL/ACML.
Also note that GotoBLAS was recently released under a BSD licence I think and it yields performance on the same level as vendor-BLAS.
If one looks for performance, he should not use distro-provided BLAS (e.g. /usr/lib/libblas.{a,so} /usr/lib/liblapack.{a,so}).
TdS