-
Notifications
You must be signed in to change notification settings - Fork 75
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
Initial cut for a cuVS Java API #450
base: branch-25.02
Are you sure you want to change the base?
Conversation
Co-authored-by: Vivek Narang <[email protected]>
FYI @cjnolet ^ |
/ok to test |
2cfab29
to
1597158
Compare
@naramgvivek10 Let's move CuVSResources to the cuvs package instead of common? That way we can abstract out the internals of Panama out of sight of the users. |
… etc. (#6) * Ability to configure CAGRA compression parameters * Enabling indexing threads * Enabling RMM pool resource configuration * Bug fixes for wrong values passed in index and search parameters * Deallocation of resources using Autoclosable * Including a randomized test Co-authored-by: Vivek Narang <[email protected]> Co-authored-by: Ishan Chattopadhyaya <[email protected]> Co-authored-by: Puneet Ahuja <[email protected]>
* Bruteforce API implementation Co-authored-by: Vivek Narang <[email protected]>
* Bruteforce serialize and deserialize API implementation Co-authored-by: Vivek Narang <[email protected]>
* code updates for the added index parameter Co-authored-by: Vivek Narang <[email protected]>
Co-authored-by: Vivek Narang <[email protected]>
* move prefilter from index to query Co-authored-by: Vivek Narang <[email protected]>
Co-authored-by: Vivek Narang <[email protected]>
…alues from the cuvs layer
Co-authored-by: Vivek Narang <[email protected]>
* review updates --------- Co-authored-by: Vivek Narang <[email protected]>
/ok to test |
/ok to test |
java/build.sh
Outdated
@@ -0,0 +1,10 @@ | |||
VERSION="25.02" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure this version gets updated when ci/release/update_versions.sh
is called.
@@ -0,0 +1,354 @@ | |||
/* | |||
* Copyright (c) 2025, NVIDIA CORPORATION. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a small nitpick: I notice this file is prefixed with "CuVS" while most of the other files are prefixed with "Cuvs". I personally prefer "CuVS" (or even "cuVS" if that doesn't break convention too badly) but I would at least make it consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this note. I will fix this soon.
private MethodHandle searchMethodHandle; | ||
private MethodHandle destroyIndexMethodHandle; | ||
private MethodHandle serializeMethodHandle; | ||
private MethodHandle deserializeMethodHandle; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make these MethodHandles static final - since they optimise much nicer by the JVM? I'm happy to rework some of the code flow here, if possible (and it that would be helpful) - though I'm not overly familiar with the development environment.
* update ci release script to update the version in build.sh * class name updates --------- Co-authored-by: Vivek Narang <[email protected]>
Co-authored-by: Vivek Narang <[email protected]>
A Java API for cuVS for easy integration into Apache Lucene or other Java based projects.
Try:
For generating docs,
mvn javadoc:javadoc
Prerequisites:
Todo: