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

Update primitives to support DCSR (DCSC) segments (Part 1) #1690

Merged
merged 72 commits into from
Jul 13, 2021

Conversation

seunghwak
Copy link
Contributor

@seunghwak seunghwak commented Jun 29, 2021

Update graph primitives to support DCSR (DCSC) segments (except for the ones used by Louvain, graph primitives used in Louvain will be updated in a separate PR with thread-divergence optimization & more testing).

DCSR (DCSC) segment support is still disabled (as enabling this will break Louvain).

harrism and others added 30 commits June 1, 2021 11:06
Co-authored-by: Paul Taylor <paul.e.taylor@me.com>
…_view_t and matrix_partition_device_view_t objects and removed (vertex|matrix)_partition_device_view_t constructors that takes a graph_view_t object
@seunghwak seunghwak added multi-GPU non-breaking Non-breaking change labels Jun 29, 2021
@BradReesWork BradReesWork added this to the 21.08 milestone Jul 7, 2021
@seunghwak seunghwak changed the title [WIP] [skip-ci] Update primitives to support DCSR (DCSC) segments (Part 1) Update primitives to support DCSR (DCSC) segments (Part 1) Jul 8, 2021
@codecov-commenter
Copy link

codecov-commenter commented Jul 9, 2021

Codecov Report

❗ No coverage uploaded for pull request base (branch-21.08@aba3445). Click here to learn what that means.
The diff coverage is n/a.

❗ Current head 2d730b2 differs from pull request most recent head 21fe2aa. Consider uploading reports for the commit 21fe2aa to get more accurate results
Impacted file tree graph

@@               Coverage Diff               @@
##             branch-21.08    #1690   +/-   ##
===============================================
  Coverage                ?   59.31%           
===============================================
  Files                   ?       80           
  Lines                   ?     3557           
  Branches                ?        0           
===============================================
  Hits                    ?     2110           
  Misses                  ?     1447           
  Partials                ?        0           

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 aba3445...21fe2aa. Read the comment docs.

{
if (dcs_nzd_vertices_) {
// we can avoid binary search (and potentially improve performance) if we add an auxiliary
// array or cuco::static_map (at the expense of additional memory)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would a Bloom filter help here? Haven't thought too deeply, perhaps it would be too intense for the size lists we're talking about.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Possibly (at the expense of additional memory) for certain ranges of (# non-zero degree vertices) / (# vertices in the hypersparse segment).

Binary search based approach will be most memory efficient, and bloom-filter + binary search or hash-table based approaches may be faster for certain ranges of fill ratio (but will require more memory). We need to investigate the trade-offs (how much speedup we can get considering that this will require additional memory) once this turned out to be a performance bottleneck (it seems like it is not for most datasets we have tested and with a relatively small number of GPUs, but this may change for very low average vertex degree graphs and many GPUs... we need to implement few more optimizations to test for this setting).

@BradReesWork BradReesWork removed the request for review from Iroy30 July 13, 2021 16:45
@BradReesWork
Copy link
Member

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 04f73b8 into rapidsai:branch-21.08 Jul 13, 2021
@seunghwak seunghwak deleted the fea_dcsr_prim branch October 19, 2021 20:59
This pull request was closed.
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.

6 participants