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

[REVIEW] Improve Random Walks performance #1685

Merged
merged 28 commits into from
Jun 28, 2021

Conversation

aschaffer
Copy link
Collaborator

This tracks work on adding additional Random Walks traversal strategy: horizontal. This strategy is more efficient, but requires more GPU memory.

The previous strategy (vertical) is only used when not enough GPU memory is available to support the horizontal one. The decision on which to use is based on GPU memory availability: if enough memory is available then the more performant (horizontal) strategy is used.

aschaffer and others added 25 commits November 30, 2020 15:00
Update forked branch-0.18 from release
Update branch-0.19 from release
update forked from release branch-0.19
Merge from release branch-0.19
Merge latest rapidsai:branch-0.19 into aschaffer:branch-0.19
merge latest release branch-0.20
Merge latest rapidsai/branch-0.20 into forked branch-0.20
aschaffer/21.08 <- rapidsai/21.08
…mory available then HORIZONTAL strategy is used; else VERTICAL.
@aschaffer aschaffer requested a review from a team as a code owner June 23, 2021 23:36
@codecov-commenter
Copy link

codecov-commenter commented Jun 24, 2021

Codecov Report

Merging #1685 (62ca148) into branch-21.08 (0cbbdd8) will decrease coverage by 0.05%.
The diff coverage is n/a.

❗ Current head 62ca148 differs from pull request most recent head 19ed8fb. Consider uploading reports for the commit 19ed8fb to get more accurate results
Impacted file tree graph

@@               Coverage Diff                @@
##           branch-21.08    #1685      +/-   ##
================================================
- Coverage         59.77%   59.71%   -0.06%     
================================================
  Files                80       80              
  Lines              3540     3540              
================================================
- Hits               2116     2114       -2     
- Misses             1424     1426       +2     
Impacted Files Coverage Δ
python/cugraph/utilities/utils.py 71.63% <0.00%> (-1.42%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0cbbdd8...19ed8fb. Read the comment docs.

@BradReesWork BradReesWork added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change 3 - Ready for Review labels Jun 24, 2021
size_t coalesced_v_count = num_paths * max_depth;
auto coalesced_e_count = coalesced_v_count - num_paths;
size_t req_mem_common = sizeof(vertex_t) * coalesced_v_count +
sizeof(weight_t) * coalesced_e_count + // coalesced_v + coalesced_w
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't understand the comments here without the context. Is it dead code or are you explaining something here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am explaining how the req_mem_common was calculated.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hey @kaatish , can this be resolved so we can converge towards an approval? TIA.

graph_t const& graph, // graph being traversed
random_walker_t const& rand_walker, // random walker object for which traversal is driven
seed_t seed0, // initial seed value
device_vec_t<typename graph_t::vertex_type>& d_coalesced_v, // crt coalesced vertex set
Copy link
Collaborator

Choose a reason for hiding this comment

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

crt implies current here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hey @kaatish , can this be resolved so we can converge towards an approval? TIA.

Copy link
Collaborator

@ChuckHastings ChuckHastings left a comment

Choose a reason for hiding this comment

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

We can continue discussion/changes related to the cudaGetMemInfo call separately and address anything we decide to do in a separate PR. Otherwise I think this looks good.

@BradReesWork
Copy link
Member

@gpucibot merge

@rapids-bot rapids-bot bot merged commit a13ed2f into rapidsai:branch-21.08 Jun 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improvement / enhancement to an existing function non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants