Difference between revisions of "Eigen2 benchmark Intel"
From Eigen
Line 10: | Line 10: | ||
# In most cases gcc 4.4 is comparable with gcc 4.3, but in some it's almost 2 times faster. | # In most cases gcc 4.4 is comparable with gcc 4.3, but in some it's almost 2 times faster. | ||
# Except (anomalous) LU decomposition, gcc 4.1 is nowhere near newer versions of gcc. | # Except (anomalous) LU decomposition, gcc 4.1 is nowhere near newer versions of gcc. | ||
− | # Intel C++ does not provide any performance benefits here. This is somewhat surprising as I was expecting at least some advantage on this CPU. That could be due to disabled IPO, though. | + | # Intel C++ does not provide any performance benefits here. This is somewhat surprising as I was expecting at least some advantage on this CPU. That could be due to disabled IPO, though. However, speaking from experience I had with Intel Fortran, -ipo would give about 10-15% speedup. But this can be totally unrelated to C++. |
Revision as of 02:47, 17 March 2009
Out of curiosity, I have performed BTL tests with Eigen2 compiled with 4 different compilers on Intel Pentium D CPU:
- GCC 4.3.3: -O3 -march=native -DNDEBUG
- GCC 4.1.3: -O3 -march=nocona -msse2 -msse3 -DNDEBUG
- GCC 4.4.0: -O3 -march=native -DNDEBUG
- Intel(R) C++ 11.0: -O3 -DNDEBUG -no-ipo -xHOST -ip -static -no-prec-div
Although from on my experience the -ipo option (interprocedural optimization) provides good performance benefits, it was explicitly disabled for Intel, because it failed to work (numerically).
Rookie conclusions:
- The benefit of using newer GCC versions is pretty clear.
- In most cases gcc 4.4 is comparable with gcc 4.3, but in some it's almost 2 times faster.
- Except (anomalous) LU decomposition, gcc 4.1 is nowhere near newer versions of gcc.
- Intel C++ does not provide any performance benefits here. This is somewhat surprising as I was expecting at least some advantage on this CPU. That could be due to disabled IPO, though. However, speaking from experience I had with Intel Fortran, -ipo would give about 10-15% speedup. But this can be totally unrelated to C++.