Hi, 

I have studied for the past year computer science at McGill University and am 
starting my Masters degree in Computer Science next September at the University 
of Montreal. I have looked at the ideas proposed for GSOC and would love to 
create an automatic binding for the mlpack library. Specifically, I would be 
interested in creating bindings for a language that runs on JVM such as Java 
and/or Scala. I have thought of a few possible ways to undergo this task. For 
instance, one could use Java Native Interface (JNI)  which enables Java code to 
call libraries written in C, C++, and assembly. However, it incurs considerable 
overhead and performance loss sometimes. To help, we could complement with SWIG 
tool. Alternatively, another option would be to use standard C to wrap the C++ 
functions, so that any objects created stays inside the native runtime and 
isn’t exposed to the JVM.  This would allow for a simplified and robust C 
interface which could then be exposed to Java/Scala using JNR. JNA, together 
with Bridj is also another possibility that I believe could be worth exploring 
and evaluating. Therefore, my question is the following: how much precise and 
detailed should our proposal be. And to which degree is our plan “set in stone” 
or how much flexibility from our proposed plan do we have if chosen to continue 
the project? Thank you very much!

Best regards,

Yasmine Dumouchel

_______________________________________________
mlpack mailing list
[email protected]
http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack

Reply via email to