Skip to content

Reduce device memory usage for CAGRA's graph optimization process (reverse graph creation) #832

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

Draft
wants to merge 4 commits into
base: branch-25.06
Choose a base branch
from

Conversation

anaruse
Copy link
Contributor

@anaruse anaruse commented Apr 21, 2025

Since CAGRA improves search accuracy by merging forward and reverse graphs, reverse graph is created as part of the graph optimization process. Currently, GPU is used to create the reverse graph at high speed, but when creating a graph for huge dataset, the amount of device memory may be insufficient to create the graph.

In this PR, as a countermeasure for the lack of device memory, we will add an implementation in which reverse graphs are created on the CPU.

@anaruse anaruse requested a review from a team as a code owner April 21, 2025 12:27
Copy link

copy-pr-bot bot commented Apr 21, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@anaruse anaruse marked this pull request as draft April 21, 2025 12:27
@github-actions github-actions bot added the cpp label Apr 21, 2025
@anaruse anaruse changed the title Reduce device memory usage for CAGRA's graph optimization process (2) Reduce device memory usage for CAGRA's graph optimization process (reverse graph creation) Apr 21, 2025
@cjnolet cjnolet added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Apr 22, 2025
@cjnolet
Copy link
Member

cjnolet commented Apr 22, 2025

/ok to test bfc45cd

@cjnolet
Copy link
Member

cjnolet commented Apr 24, 2025

/ok to test b0f648b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

2 participants