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

Triangles and API refactor #68

Merged
merged 3 commits into from
Oct 26, 2023
Merged

Triangles and API refactor #68

merged 3 commits into from
Oct 26, 2023

Conversation

alvaradoo
Copy link
Member

Two major changes in this pull request:

  1. Beginnings of an API refactor in the developer end to not have all functionality contained in one file like we had in arachne.py. This file was split up into two for now with graphclasses.py that contains the definitions for Graph, DiGraph, and PropGraph. All methods using graphs and the matrix market file reading method were placed into methods.py. This will facilitate searching for methods to update and make things cleaner.
  2. Triangle counting has been refactored to use the symmetrical DI data structure. Preliminary results show up 2x improvement by modifying the old nested forall loop to a for loop within a forall loop. For triangle counting in a full graph, both nested forall loops will always iterate on the same locales with the same threads leading to thread contention. This improved performance for minimum_search_triangle_count_kernel. However, for minimum_search_triangle_count_per_vertex there is a chance a nested forall loop could be kept since the neighbors of a vertex could be on remote locales, however in a shared-memory sense, removing the nested forall loop made more sense.

@alvaradoo alvaradoo requested a review from zhihuidu October 26, 2023 22:03
@alvaradoo alvaradoo added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 26, 2023
@alvaradoo alvaradoo linked an issue Oct 26, 2023 that may be closed by this pull request
@zhihuidu zhihuidu merged commit 7ada562 into main Oct 26, 2023
@alvaradoo alvaradoo deleted the triangles_and_API_refactor branch October 27, 2023 00:19
mdindoost pushed a commit that referenced this pull request Jul 20, 2024
mdindoost pushed a commit that referenced this pull request Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Triangle counting returns node ID rather than triangle count
2 participants