ompi icon indicating copy to clipboard operation
ompi copied to clipboard

configure: add an option to set wrapper CC

Open hjelmn opened this issue 8 years ago • 17 comments
trafficstars

This commit adds a new configure option: --with-wrapper-cc. This option can be used to set which C compiler is invoked by mpicc. The feature is necessary when building for compiler suites that do not support C11 (Ex: icc). A version of Open MPI that is set up for these compilers can be built with:

./configure --with-wrapper-cc=icc CC=gcc FC=ifort CXX=icpc

Signed-off-by: Nathan Hjelm [email protected]

hjelmn avatar Aug 15 '17 20:08 hjelmn

@jsquyres Thoughts? I think this is a useful configure option even if we do not chose to require C11. Should I add similar options for mpicxx and mpifort for completeness?

hjelmn avatar Aug 15 '17 20:08 hjelmn

Urgggg....ick. I'm not much of a company man, as you know, but I think I can hear the howl from HQ from here.

rhc54 avatar Aug 15 '17 20:08 rhc54

@rhc54 Yeah, needing this would be unfortunate. Intel really dropped the ball on C11. Both clang and gcc are years ahead of them.

hjelmn avatar Aug 15 '17 21:08 hjelmn

@rhc54, I think your comments were more about Nathan's comments in #3879 than in this change, right?

bwbarrett avatar Aug 15 '17 21:08 bwbarrett

@bwbarrett I was actually commenting about both, I guess - it was this configure option thing that caught my immediate eye as it singles out the compilers from one vendor. Won't sit well, and I concur with your statement over there about being careful about what is needed vs what it might cost us.

rhc54 avatar Aug 15 '17 21:08 rhc54

@rhc54 I can remove the reference to icc from the commit message. Intel is just the one that motivated this particular PR :).

hjelmn avatar Aug 15 '17 21:08 hjelmn

I don't think that really resolves the problem. As was said on the other issue, this just creates more ways things can go wrong, and actually advocates cross-compiler builds (which we generally have said is "bad").

rhc54 avatar Aug 15 '17 21:08 rhc54

This is generally how libraries are compiled. Usually they are built with gcc, clang, etc. The application itself is compiled with pgi, intel, gcc, etc. MPI is slightly different in that we provide wrappers for the users and we have fortran support. I don't think an Open MPI libmpi.so compiled with gcc and linked into an application that was built with icc is a novel or dangerous idea.

hjelmn avatar Aug 15 '17 21:08 hjelmn

We probably should discuss this in a future call. Can't be next week but the week after should work fine.

hjelmn avatar Aug 15 '17 21:08 hjelmn

@hjelmn please rebase

hppritcha avatar Mar 21 '18 15:03 hppritcha

@hjelmn Do you still care about this PR? If so, it needs to be rebased.

jsquyres avatar Nov 07 '18 15:11 jsquyres

Yes we do. If we tighten compiler requirements we will need this. Will rebase it today.

hjelmn avatar Nov 07 '18 15:11 hjelmn

Ping. Rebase is needed still if still desired.

awlauria avatar Feb 19 '20 18:02 awlauria

Can one of the admins verify this patch?

lanl-ompi avatar Oct 25 '20 21:10 lanl-ompi

This PR is pretty stale, but could be fairly easily fixed if the functionality is actually still desired. I moved it to "draft" state.

jsquyres avatar Oct 26 '20 15:10 jsquyres

@hjelmn You have several PRs that date back 3-6 years - would it make sense for you to triage them and close the ones not worth rebasing, fixing, resubmitting for review, and finally committing?

rhc54 avatar Feb 01 '23 23:02 rhc54

I think this PR can be closed as never to merged. @jsquyres

hppritcha avatar Oct 19 '24 17:10 hppritcha

Yes, let's close. Can be re-opened / re-created if someone wants this functionality.

jsquyres avatar Oct 21 '24 22:10 jsquyres