Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Reduce peak memory requirement in graph creation (part 2/2) #2081

Merged
merged 47 commits into from
Mar 8, 2022

Conversation

seunghwak
Copy link
Contributor

@seunghwak seunghwak commented Feb 17, 2022

This PR reduces peak memory usage and replaces one large allocation with few smaller allocations with the same aggregate size (this works better with the pool allocator) in graph creation. Now we can create a graph from 2^30 edges (64 bit vertex IDs & 4 byte edge weight, 20B per edge) limiting the maximum pool size to 36 GB.

…dgelist to pass mem_frugal=true to limit the maximum allocation chunk size to avoid malloc failure due to fragmentation with the pool allocator
…lower triangular part only and symmetrize to avoid (slightly) asymmetric edge weights due to the limited floating point precisions
@seunghwak seunghwak added 2 - In Progress improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Feb 17, 2022
@seunghwak seunghwak added this to the 22.04 milestone Feb 17, 2022
@seunghwak seunghwak self-assigned this Feb 17, 2022
@seunghwak seunghwak changed the title [skip-ci] Reduce peak memory requirement in graph creation (part 2/2) Reduce peak memory requirement in graph creation (part 2/2) Feb 24, 2022
@seunghwak seunghwak marked this pull request as ready for review February 28, 2022 20:12
@seunghwak seunghwak requested a review from a team as a code owner February 28, 2022 20:12
@ChuckHastings
Copy link
Collaborator

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 93dba00 into rapidsai:branch-22.04 Mar 8, 2022
@seunghwak seunghwak deleted the enh_mem_footprint_part2 branch August 11, 2022 23:24
# for free to join this conversation on GitHub. Already have an account? # 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.

4 participants