Skip to content
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

Docs: MPI Standard #1415

Open
ax3l opened this issue May 15, 2019 · 3 comments
Open

Docs: MPI Standard #1415

ax3l opened this issue May 15, 2019 · 3 comments
Assignees

Comments

@ax3l
Copy link
Contributor

ax3l commented May 15, 2019

Just because I didn't find it in the docs: what's the minimum MPI standard/API interface you expect? MPI 2.3+?

I was recently installing against OpenMPI 1.6.5 on a legacy CI script (MPI 2.1 on Ubuntu "Trusty") and just saw it didn't pass

adios2/engine/insitumpi/InSituMPIReader.cpp:456:9:
error: no matching function for call to 'MPI_Isend'
note: candidate function not viable: no known conversion from 'const char *' to 'void *' for 1st argument OMPI_DECLSPEC  int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, ...

Of course, there is no reason to support such ancient MPI's but we might want to document and enforce this check within CMake.

@williamfgc
Copy link
Contributor

Hi @ax3l thanks for the suggestion. This is related to #1354 and a bug in older MPI implementations (Ubuntu 14) not meeting the standard. Let us find out more how far back this goes and agree on how to proceed. Thanks!

@williamfgc
Copy link
Contributor

@ax3l
v1.7 should be the minimum:
const void* : https://www.open-mpi.org/doc/v1.7/man3/MPI_Isend.3.php
void* : https://www.open-mpi.org/doc/v1.6/man3/MPI_Isend.3.php

Will take a look if cmake can do this check as you suggested. Thanks!

@ax3l
Copy link
Contributor Author

ax3l commented May 16, 2019

Otherwise there is a public C define in mpi.h which one can check, maybe as a cmake test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants