Skip to content

Conversation

@rothpc
Copy link
Collaborator

@rothpc rothpc commented Apr 10, 2023

This pull request addresses the problem of not completing non-blocking point-to-point communication operations. It is hypothesized that the lack of completing requests causes some communications libraries to run out of resources for large, long-running runs. The modifications in this pull request should ensure that any non-blocking operation that is posted will have a matching call to complete it (MPI_Wait or MPI_Test).

The modifications represented by this pull request are intentionally minimal and do not change the fundamental communication approach or implementation.

@cnpetra cnpetra requested review from cnpetra and jwang125 April 10, 2023 16:36
Copy link
Collaborator

@cnpetra cnpetra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

int ierr = MPI_Test(&request_, &mpi_test_flag, &mpi_status);
assert(MPI_SUCCESS == ierr);
if (mpi_test_flag) {
request_ = MPI_REQUEST_NULL;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea to set it to null request and (sanity) check it later...

#ifdef HIOP_USE_MPI
hiopSolveStatus hiopAlgPrimalDecomposition::run()
{
{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slight misalignment

@cnpetra cnpetra merged commit 8daf688 into develop May 23, 2023
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

Successfully merging this pull request may close these issues.

3 participants