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

mpi ifdef bug in replay #1380

Open
cyrush opened this issue Sep 5, 2024 · 4 comments
Open

mpi ifdef bug in replay #1380

cyrush opened this issue Sep 5, 2024 · 4 comments

Comments

@cyrush
Copy link
Member

cyrush commented Sep 5, 2024

MPI_C_BOOL is used to send the C type _Bool which may not always be compatible with C++'s bool.

We should use int + MPI_INT & avoid MPI_BOOL.

@cyrush
Copy link
Member Author

cyrush commented Sep 5, 2024

@emily-howell this is an issue on frontier with the new replay actions checking logic b/c it is setup to use MPI_BOOL

Using bool seems like a reasonable choice, but the details undermine this.

We should refactor to use MPI_INT -- I have done that on the task/2024_09_frontier branch.

@emily-howell
Copy link
Member

Ah, good to know. Would you like to make a MR to merge in your branch with the fix?

@cyrush
Copy link
Member Author

cyrush commented Sep 5, 2024

Yes -- but that branch is still an active battle, so once we get to success that will be the plan.

@cyrush cyrush changed the title boo(l) scariness with mpi mpi ifdef bug in replay Sep 6, 2024
@cyrush
Copy link
Member Author

cyrush commented Sep 6, 2024

Turns out, we had a #ifdef issue ASCENT_MPI_ENABLED is not defined in replay for the MPI case, but ASCENT_REPLAY_MPI is.

This is a very subtle difference broke the mpi version of relay.

Thanks to @mlohry for pointing out that MPI_BOOL does not exist in MPI-- which led me to the true mystery.

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

No branches or pull requests

2 participants