-
Notifications
You must be signed in to change notification settings - Fork 51
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
Attributes, inter-communicators, and spawning #140
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jedbrown
force-pushed
the
jed/process-management
branch
from
December 5, 2022 17:04
4b7f761
to
b7d387a
Compare
This looks great. I tried the three examples locally. Is this assuming that inter communicators are created outside of rsmpi right now? I didn't see any |
|
hppritcha
reviewed
Dec 6, 2022
jedbrown
force-pushed
the
jed/process-management
branch
3 times, most recently
from
December 19, 2022 21:44
c6ab86f
to
84905b4
Compare
Explicitly disconnect parent communicator to appease MPICH leak checks, which might be incorrect. pmodels/mpich#6319 Co-authored-by: Jed Brown
These were refactored from an earlier approach to use std::process::Command because existing tools can build Commands. They currently do not support environment variables, which can be implemented using MPI_Info. Based-on-patch-by: Andrew Gaspar
We're now getting various transitive dependencies that have updated to requires 1.56 and 1.57, so as I understand it, we either need to pin those or acknowledge that MSRV is now 1.57. 1.56 is the first version that supports the rust-version key, which should help with this reliability. So long as we're upgrading to this version, we may as well update our other dependencies.
jedbrown
force-pushed
the
jed/process-management
branch
from
December 19, 2022 22:53
84905b4
to
2e9502d
Compare
When accepting a receive from any process, another process can complete this phase and move on to sending to neighbors. Race introduced in 8f4b0bf
jedbrown
added a commit
that referenced
this pull request
Oct 13, 2023
keefehuang
pushed a commit
to keefehuang/rsmpi
that referenced
this pull request
Oct 17, 2023
jedbrown
added a commit
that referenced
this pull request
Oct 19, 2023
* Extern required complex types from mpi * Add complex feature Add feature "complex" and optional dendency "num_complex". Tie `Complex<T>` implementation with C types. * Add complex number example to example/ * upgrade MSRV to 1.60 (#161) CI was failing because 1.60-incompatible dependencies were pulled in so may as well upgrade what we can. * Add RSMPI_UNWEIGHTED (#160) Add RSMPI_UNWEIGHTED() as a function because MPI_UNWEIGHTED can be a link-time constant, which can't be used to initialize an object with static storage duration. * docs: remove "Process management" as not implemented #140 * Cargo upgrade and MSRV 1.65 MSRV of transitive deps had already updated so this is just reflecting reality. * Merge conflict Cargo.toml * Config so that complex code runs only with feature * Tidy up dependencies Remove unneeded `derive` feature comments. Arranged in dependencies in alphabetical order. Remove unneeded spaces. * Remove #cfg complex and update Cargo.toml * Add complex feature flag to window runner * Fix complex_number test * cargo fmt --------- Co-authored-by: Keefe Huang <keefe.huang@tum.de> Co-authored-by: Jed Brown <jed@jedbrown.org> Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Cydhra
pushed a commit
to Cydhra/rsmpi
that referenced
this pull request
Oct 29, 2023
Cydhra
pushed a commit
to Cydhra/rsmpi
that referenced
this pull request
Oct 29, 2023
* Extern required complex types from mpi * Add complex feature Add feature "complex" and optional dendency "num_complex". Tie `Complex<T>` implementation with C types. * Add complex number example to example/ * upgrade MSRV to 1.60 (rsmpi#161) CI was failing because 1.60-incompatible dependencies were pulled in so may as well upgrade what we can. * Add RSMPI_UNWEIGHTED (rsmpi#160) Add RSMPI_UNWEIGHTED() as a function because MPI_UNWEIGHTED can be a link-time constant, which can't be used to initialize an object with static storage duration. * docs: remove "Process management" as not implemented rsmpi#140 * Cargo upgrade and MSRV 1.65 MSRV of transitive deps had already updated so this is just reflecting reality. * Merge conflict Cargo.toml * Config so that complex code runs only with feature * Tidy up dependencies Remove unneeded `derive` feature comments. Arranged in dependencies in alphabetical order. Remove unneeded spaces. * Remove #cfg complex and update Cargo.toml * Add complex feature flag to window runner * Fix complex_number test * cargo fmt --------- Co-authored-by: Keefe Huang <keefe.huang@tum.de> Co-authored-by: Jed Brown <jed@jedbrown.org> Co-authored-by: Matthew Scroggs <matthew.w.scroggs@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This isn't super full-featured, but I think the interface is convenient enough. Process spawning with Open MPI is a bit more expensive than launching using
mpiexec
.