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

Use async_rw_mutex in Pipeline #859

Merged
merged 10 commits into from
May 16, 2023

Conversation

msimberg
Copy link
Collaborator

@msimberg msimberg commented May 8, 2023

Needs pika-org/pika#677 so will have to wait again for the next pika release. Please ignore this for now.

Fixes #830.

This follows up #766 by using async_rw_mutex in Pipeline. It only uses the readwrite mode of async_rw_mutex to provide sequenced access to Communicators etc.

Open question: Like the rename of Matrix::operator() to Matrix::readwrite(), do we want to rename Pipeline::operator()? I think operator() makes more sense in the Pipeline case than in the Matrix case since there is only one way to access what's in the Pipeline. I'd be happy to leave it as operator(), but I also think an explicit named member function could make sense. If we name it explicitly, the naming is a bit more difficult than for Matrix. readwrite? access? get (too overloaded in other contexts I think)? Something else?

To do:

@msimberg msimberg changed the title Use async_rw_mutex in PIpeline Use async_rw_mutex in Pipeline May 8, 2023
@msimberg msimberg force-pushed the pipeline-async-rw-mutex branch from b913a65 to 335d835 Compare May 10, 2023 18:18
@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg msimberg force-pushed the pipeline-async-rw-mutex branch 2 times, most recently from d24eb8a to ba99675 Compare May 12, 2023 10:25
@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg msimberg marked this pull request as ready for review May 12, 2023 10:27
@msimberg msimberg added this to the P2300 2 milestone May 12, 2023
@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg
Copy link
Collaborator Author

Note, it seems like fmt 10 breaks pika with CUDA/HIP enabled. I've added a version constraint for now in the CI environments, but we need to work around this in pika itself. Hopefully we'll have that fixed by 0.16.0. pika-org/pika#686

@msimberg
Copy link
Collaborator Author

cscs-ci run

ci/docker/common.yaml Outdated Show resolved Hide resolved
@msimberg msimberg force-pushed the pipeline-async-rw-mutex branch from 518472b to 03a2ae7 Compare May 15, 2023 15:40
@msimberg
Copy link
Collaborator Author

Waiting for spack/spack#37679 before retriggering CI.

@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg msimberg force-pushed the pipeline-async-rw-mutex branch from df4d2b7 to 55b65eb Compare May 16, 2023 07:27
@msimberg
Copy link
Collaborator Author

cscs-ci run

@msimberg msimberg requested review from albestro and rasolca May 16, 2023 09:09
@rasolca rasolca merged commit fd60c1e into eth-cscs:master May 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Use async_rw_mutex to replace Pipeline
3 participants