Skip to content

Conversation

@tarang-jain
Copy link
Contributor

@tarang-jain tarang-jain commented Dec 12, 2023

This PR enables the use of rmm::mr::current_device_resource for device allocations when RAFT is enabled. The AllocRequest object caches the rmm Memory Resource used for the allocation to ensure that the same resource is used during deallocation. Managed allocations use a custom default rmm::mr::managed_memory_resource because RMM currently does not have a way to retrieve a "guaranteed" managed memory resource from the current device resource.

@tarang-jain tarang-jain marked this pull request as ready for review December 13, 2023 23:08
Copy link
Contributor

@bdice bdice left a comment

Choose a reason for hiding this comment

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

This looks fine to me.

Copy link
Contributor

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

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

This LGTM also.

Copy link

@tfeher tfeher left a comment

Choose a reason for hiding this comment

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

Thanks @tarang-jain for the PR. There are a few issues, but in general the changes related to the current device resource look good.

Copy link

@tfeher tfeher left a comment

Choose a reason for hiding this comment

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

Thanks @tarang-jain for the update, the PR looks good to me.

@tarang-jain
Copy link
Contributor Author

Closing in favour of #3044. These changes have been added to #3044

@tarang-jain tarang-jain closed this Feb 6, 2024
@tarang-jain tarang-jain mentioned this pull request Feb 6, 2024
9 tasks
facebook-github-bot pushed a commit that referenced this pull request Feb 21, 2024
Summary:
Imports changes from #3133 and #3171. So this single PR adds all the changes together.

- [x] Implement RaftIVFPQ class
- [x] Update gtests to test correctness with RAFT enabled
- [x] All googleTests for RAFT enabled IVFPQ pass
- [x] Move some common functions in RaftIVFFlat and RaftIVFPQ to helper: RaftUtils.h
- [x] update Quantizer retroactively after building RAFT index -- both IVFFlat and IVFPQ
- [x] resolve failing LargeBatch (classical GPU)
- [x] add checks for Pascal deprecation
- [x] apply RMM changes from #3171
- [x] apply robertmaynard's changes from #3133

Pull Request resolved: #3044

Reviewed By: junjieqi

Differential Revision: D51074065

Pulled By: algoriddle

fbshipit-source-id: 6871257921bcaff2064a20637e2ed358acbdc363
abhinavdangeti pushed a commit to blevesearch/faiss that referenced this pull request Jul 12, 2024
Summary:
Imports changes from facebookresearch#3133 and facebookresearch#3171. So this single PR adds all the changes together.

- [x] Implement RaftIVFPQ class
- [x] Update gtests to test correctness with RAFT enabled
- [x] All googleTests for RAFT enabled IVFPQ pass
- [x] Move some common functions in RaftIVFFlat and RaftIVFPQ to helper: RaftUtils.h
- [x] update Quantizer retroactively after building RAFT index -- both IVFFlat and IVFPQ
- [x] resolve failing LargeBatch (classical GPU)
- [x] add checks for Pascal deprecation
- [x] apply RMM changes from facebookresearch#3171
- [x] apply robertmaynard's changes from facebookresearch#3133

Pull Request resolved: facebookresearch#3044

Reviewed By: junjieqi

Differential Revision: D51074065

Pulled By: algoriddle

fbshipit-source-id: 6871257921bcaff2064a20637e2ed358acbdc363
samanthawaters8882michaeldonovan added a commit to samanthawaters8882michaeldonovan/faiss that referenced this pull request Oct 12, 2025
Summary:
Imports changes from facebookresearch/faiss#3133 and facebookresearch/faiss#3171. So this single PR adds all the changes together.

- [x] Implement RaftIVFPQ class
- [x] Update gtests to test correctness with RAFT enabled
- [x] All googleTests for RAFT enabled IVFPQ pass
- [x] Move some common functions in RaftIVFFlat and RaftIVFPQ to helper: RaftUtils.h
- [x] update Quantizer retroactively after building RAFT index -- both IVFFlat and IVFPQ
- [x] resolve failing LargeBatch (classical GPU)
- [x] add checks for Pascal deprecation
- [x] apply RMM changes from facebookresearch/faiss#3171
- [x] apply robertmaynard's changes from facebookresearch/faiss#3133

Pull Request resolved: facebookresearch/faiss#3044

Reviewed By: junjieqi

Differential Revision: D51074065

Pulled By: algoriddle

fbshipit-source-id: 6871257921bcaff2064a20637e2ed358acbdc363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants