Open zjh-nudger opened 7 years ago
Hi,
We have no plans for making a Java interface, but Java is supported by SWIG and we welcome pull requests for a Java interface.
Thanks very much. I try to implement Java interface in few days. I will ask for your help if I encounter some problems. Thanks in advance.
Hi,
Any updates on this one @zjh-nudger ?
welcome the java interface, any updates by now @zjh-nudger .
I started working on it, but there are some classes with multiple inheritance that need to be solved first.
any updates on java implementation ?
any updates on java interface?
Have u solved it yet?
@zjh-nudger @ifeherva Let me know if I can be of any help.
Hi,
Any updates on this one @zjh-nudger ?
@mdouze
Hi, what about java jni api
? Our tentative implement is about to working on the production env.
++1 on Java Interface.
Heavy plus on Java interface. It would be a wonderful bridge to have.
Java wrapper is better than python because of better MultiThreading support in Java.
I am sure the TPS would be way way better in Java.
To clarify the situation: there is no plan on our end to make Java wrappers for Faiss, so it would have to be a community effort.
@beauby Can you tell me the exact swig interface file used for python so that i can start working on for java interface ?
Any progress on this @ashuezy ?
Hey guys, we have built upon FAISS a distributed large-scale similarity search engine called Milvus, where you can use Java SDK. Check it out at https://github.com/milvus-io/milvus-sdk-java if you are interested! :wink:
a java interface, hope it help
Hey guys,
I have tweaked a bit on @gameofdimension's work and created a JAR which contains src files and native .so lib. So far, it works only on Linux based systems and doesn't have support for GPU.
Project URL: https://github.com/RamanRajarathinam/JFaiss-CPU
Feedback is welcome!
I think use JavaCpp tools maybe could solve generate java api
Hello, I've build a simple Faiss Java API using JavaCPP, but I've encountered an issue: the memory overhead is higher compared to C++. I think this is due to JavaCPP requires copying vectors from the Java heap to non-heap memory, resulting in duplicate vectors simultaneously occupying memory, any advice is appreciated.
https://github.com/scott01272001/faiss-java
welcome fork
Hi @scott01272001. I'll check out your repo at some point soon...but I'm wondering if you've tried 1) pass by reference and 2) BytePointer/ByteBuffer instead byte arrays. I'll move this conversation to your repo...
Hi @sourcesync , thanks for your seggustion, currently I'm warpping the float array into a float pointer and passing it to the native function, is this how you mentioned "BytePointer/ByteBuffer instead of ByteArray"?
I tried using @CriticalRegion annotation on the method that needs to pass the array as parameter, It looks like the memory usage has been reduced, but as I know, using 'Get/ReleasePrimitiveArrayCritical' will freeze the GC. Are there any potential risks if I use this way?
thanks for your time
@sourcesync @scott01272001 , Any update on the Java interface for ?
Hi, I am quite interest on faiss, a large-scale similarity search framework. However, I am not familier with C/C++. I want to know whether faiss can be packaged into Java interface(eg. JNI) for being utilized in Java application.
look forward to you reply. Best regards.