-
Notifications
You must be signed in to change notification settings - Fork 71
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 <vivek@searchscale.com>
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. |
…ent for data array
@@ -1,5 +1,6 @@ | |||
## common | |||
__pycache__ | |||
.gitignore |
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.
Please don't check .gitignore into .gitignore. We need to know when this file changes.
@@ -0,0 +1,7 @@ | |||
export CMAKE_PREFIX_PATH=`pwd`/../cpp/build |
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 put this logic in the top-level build.sh please? We do that with all of the other language support.
@@ -0,0 +1,697 @@ | |||
/* |
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.
I know we've discussed having this automatically generate on each build in a future iteraiton. Can you please create a cuVS Github issue to do that?
public void testIndexingAndSearchingFlow() throws Throwable { | ||
|
||
// Sample data and query | ||
float[][] dataset = {{ 0.74021935f, 0.9209938f }, { 0.03902049f, 0.9689629f }, { 0.92514056f, 0.4463501f }, { 0.6673192f, 0.10993068f }}; |
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.
Hardcoding tests makes it very hard to debug and troubleshoot problems, and they also become very brittle because we've found changes in the compute architectures can introduce flakiness and downright failures from hardcoded tests. Please generate the data instead of hardcoding the values and use bfknn to validate.
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.
We added a randomized test in my latest commit. We noticed for topK > 64 the returned values are incorrect (neighbor values are in the range outside of the dataset size).
… 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 <vivek@searchscale.com> Co-authored-by: Ishan Chattopadhyaya <ishan@apache.org> Co-authored-by: Puneet Ahuja <puneet@searchscale.com>
Co-authored-by: Vivek Narang <vivek@searchscale.com>
…eparate example project
…ent for data array
… 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 <vivek@searchscale.com> Co-authored-by: Ishan Chattopadhyaya <ishan@apache.org> Co-authored-by: Puneet Ahuja <puneet@searchscale.com>
* Bruteforce API implementation Co-authored-by: Vivek Narang <vivek@searchscale.com>
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: