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

Add Maximum matching algorithm in experimental #254

Open
wants to merge 71 commits into
base: v1.2
Choose a base branch
from

Conversation

kchristin22
Copy link

@kchristin22 kchristin22 commented Jul 3, 2024

This PR introduces the Maximum Matching algorithm as presented in the paper: Distributed-Memory Algorithms for Maximum Cardinality Matching in Bipartite Graphs, using GraphBLAS operations.

TODO:

  • add push-pull optimization
  • convert to uint32 when the data set is small enough
  • create a separate vanilla version or add pragma to differentiate the function calls based on the GraphBLAS implementation used

@DrTimothyAldenDavis
Copy link
Member

Looks great!

The github CI failure isn't your issue -- it's because the CI is using an older GraphBLAS. I have an updated CI in the v1.2 branch now, and it uses a more recent GraphBLAS and works fine.

I've also just posted a beta release of GraphBLAS 9.4.0. It has a new feature that will help to find JIT compiler errors, like the ones you encountered occasionally. If a JIT compiler error occurs, GraphBLAS returns an error code (a new one, GxB_JIT_ERROR), instead of the older strategy where I fallback to a generic kernel.

@kchristin22
Copy link
Author

kchristin22 commented Oct 16, 2024

That's great! I think I currently use GraphBLAS 9.4.0.

I still have some things left to add/fix before losing the Draft notation. Briefly:

  • Test on Orkut and make sure that no seg fault occurs: I think last time I attempted that, after my last commit, it still produced an error. AUTh's HPC is facing some issues since yesterday and I can't debug. Hopefully, I will be able to do so today or tomorrow.
  • Lose debug comments
  • Add short paper description in comments
  • Rename to advanced method, as you had pointed out that there's currently no Graph in the input set (till Bipartite kind option for a graph is supported)
  • Finish with the vanilla version
  • Add documentation and poster

@kchristin22 kchristin22 marked this pull request as ready for review November 18, 2024 19:32
@kchristin22
Copy link
Author

@DrTimothyAldenDavis I believe it's ready for review!
We can investigate the vxm mask thing mentioned in the e-mail before merging this though. Whatever you deem best!

@kchristin22 kchristin22 changed the title Draft: Add Maximum matching algorithm in experimental Add Maximum matching algorithm in experimental Nov 18, 2024
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.

2 participants