Skip to content

Conversation

@jeremy-murphy
Copy link
Contributor

@jeremy-murphy jeremy-murphy commented Sep 24, 2025

And some fixes to the documentation, and one fix to the code.

Also updated the maintainer to myself, which I should have done a few years ago when I took over Boost.Graph, whoops.

@jeremy-murphy jeremy-murphy self-assigned this Sep 24, 2025
Document that metis_reader expects a seekable stream
Remove mentions of bsp_process_group from docs
Should have done this when I took over Boost.Graph, whoops.
@jeremy-murphy
Copy link
Contributor Author

@jzmaddock , are you available to review?

@jzmaddock
Copy link
Contributor

The changes look fine to me. Any idea what's started causing all the segfaults in the tests?

@jzmaddock
Copy link
Contributor

BTW we could really use an MSVC CI runner too.

@jeremy-murphy
Copy link
Contributor Author

The changes look fine to me. Any idea what's started causing all the segfaults in the tests?

No idea! I'll have to investigate.

@jeremy-murphy
Copy link
Contributor Author

Very curious that the macos (clang) build passes.

@jeremy-murphy
Copy link
Contributor Author

@aminiussi maybe you can help here: do you know why these mpich builds fail?

@aminiussi
Copy link
Member

I test boost.mpi with HPE/Cray MPI which is mpich based so nothing trivial comes to mind.

I only test with cmake and I think there are no cmake based tests for graph parallel, so I'll have to make a b2/gcc13/mpich build on my ubuntu laptop to sees if I can reproduce the issue.

@aminiussi
Copy link
Member

I would replace:

mpi_process_group pg;

with

boost::mpi::communicator world{};
BOOST_TEST(world.size() > 1); // not supposed to work on one proc
mpi_process_group pg{world};

Then, I suspect the test will fail the BOOST_TEST(world.size() > 1) check as the communicator size is 1 (and that is the real problem).

Since the mpi_process_group class allocate one incomming and outgoing communication structures in containers of size comm.size(), sending a message to proc 1 will retrieve a non existing outgoing structure (in mpi_process_group.ipp:173).

I suspect the problem is in the project_config.jam generated file that does not actually select the mpich implementation, which ends up launching 2 singleton instead of two process MPI jobs.

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.

8 participants