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

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


Hello Christoph,

thanks for your answer!

We could easily remove EIGEN_COMP_ICC from the cases where EIGEN_STRONG_INLINE is a __force_inline:
https://bitbucket.org/eigen/eigen/src/default/Eigen/src/Core/util/Macros.h#Macros.h-755

But I don't know the history of this, i.e., if it was necessary for older ICC versions. Or if it is necessary at other places.
Same here, hence I wanted to ask whether defining EIGEN_STRONG_INLINE has some disadvantages. According to the Intel profiling tools, my function that contains all the calculations actually calls the Eigen functions (e.g., Eigen::Matrix<...>::Matrix<...> and Eigen::Matrix<...>::operator=). I expected that those will be inlined. Is this something to worry about?

Maybe I should add that I do not use the -inline-forceinline flag for the Intel compiler since this lead to incredibly long compilation times.
Did you try to reduce your code to a minimal example where the performance drop occurs?
Yes, but I cannot comprehend the performance drop yet. Apparently the quite complex structure of the project produces this behavior, whereas in a small application which performs similar calculations the performance is about the same. Work in progress.
Regarding mbsolve: Sure, please give us a small description text and tell which category you want to get listed in.
I think "Science" is the best fit, since mbsolve [1] "is an open-source solver tool for the Maxwell-Bloch equations, which are used to model light-matter interaction in nonlinear optics."

Thanks a lot for any comments!

Regards,
Michael

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



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