-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HP/Cray MPI Support (Demote MPI_CXX types to MPI_C) #60
HP/Cray MPI Support (Demote MPI_CXX types to MPI_C) #60
Conversation
Okay, I would like to dig into this issue a bit further. Does Cray's MPI implementation claim to conform to the 3.0 standard, while not actually defining the |
I understand. What I have figured out so far is that Cray's MPICH library does define the
|
This is very nice of them, I have to say. Anyway, I'd rather explore a different approach. Here is how C/C++ types map to MPI datatypes.
While What I would do is to define a couple new macros, |
I agree with Igor, it looks like this is a non-standard behavior of a specific machine. Indeed the proper workaround is to define Macros and probably put CMake option like "Use_MPI_C_types" with default=OFF to define these as MPI_C types. @HugoStrand mind updating? Thanks! Good to hear from you |
@HugoStrand I have added a new CMake option, |
Dear @krivenko @aeantipov, Thank you for the fix and suggestions. The I agree that this is non-standard behaviour. I have contacted the user support at LUMI and they have promised to bring it up with HPE/Cray. It seems like the MPICH developers have identified the issue as well, see pmodels/mpich#6094 . So this will hopefully not remain an issue forever. @krivenko the support person pointed out that Greetings from Sweden, |
Dear Pomerol developers,
In order to compile Pomerol on (modern) HP/Cray systems (e.g. https://lumi-supercomputer.eu/) I had to demote the MPI_CXX_DOUBLE_COMPLEX and MPI_CXX_BOOL types to their C equivalents MPI_C_DOUBLE_COMPLEX and MPI_C_BOOL.
With this change (and the null pointer fix) Pomerol compiles and passes tests on LUMI.
Would you please consider merging this to support this class of systems?
Best, Hugo