[eigen] Performance difference icc <-> gcc, EIGEN_STRONG_INLINE

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hello all,

Thank you very much for your work on Eigen. We found it very useful for our simulation software mbsolve [1] (BTW maybe you would like to add it to the projects list that uses the Eigen library).

The code I am working on at the moment consists mostly of dense matrix-matrix and matrix-vector multiplications. I compiled the code with both Intel compiler 19 and gcc 6.3.0 and found that there is a strange performance difference. Unless I define

#EIGEN_STRONG_INLINE inline

the binary compiled by icc is ~13x slower. The gcc binary performance remains the same, as inline seems to be the standard setting of this macro for gcc.

Why can this behavior occur? Or, alternatively, which possible anti-pattern could be the cause of this performance difference?

Any hints are welcome. If you need more information, please let me know.

Thanks in advance and best regards,
Michael

[1] https://github.com/mriesch-tum/mbsolve





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/