saudet commented on issue #17783:
URL: 
https://github.com/apache/incubator-mxnet/issues/17783#issuecomment-704246821


   > @saudet if it is a maven package consumption should be fine as long as the 
license isn't fall under (no license, GPL, LGPL or some license that ASF 
doesn't approve).
   
   Great! Thanks for the clarification. It's Apache v2, so the license is 
alright.
   
   > I would +1 to the solution you have mentioned in JavaCPP. One last 
question is the maintainance cost, since JavaCPP is doing the generation work, 
how much maintainance does it require from community to keep in here?
   
   I've created a branch with a fully functional build that bundles MXNet with 
wrappers for the C API, on my fork here:
   https://github.com/saudet/incubator-mxnet/tree/add-javacpp
   It uses the defaults for CMake, but without CUDA or OpenCV, and I'm guessing 
it works on Mac and Windows too, but I've only tested on Linux (Fedora), which 
outputs the following, mapping all declarations of `typedef void*` to `Pointer` 
like you asked:
   
   ```bash
   $ git clone https://github.com/saudet/incubator-mxnet
   $ cd incubator-mxnet
   $ git checkout add-javacpp
   $ cd java
   $ gradle clean build --info
   ...
   org.apache.mxnet.internal.c_api.UnitTest > test STANDARD_OUT
       20000
   ...
   BUILD SUCCESSFUL in 1m 3s
   10 actionable tasks: 10 executed
   ...
   $ ls -lh build/libs/
   total 38M
   -rw-rw-r--. 1 saudet saudet 49K Oct  6 20:54 mxnet-2.0-SNAPSHOT.jar
   -rw-rw-r--. 1 saudet saudet 38M Oct  6 20:54 
mxnet-2.0-SNAPSHOT-linux-x86_64.jar
   ```
   The number of lines that are directly related to JavaCPP is less than 100, 
so even if I die anyone can maintain that. I'm sure that's going to grow a bit, 
but a C API is very easy to maintain. For example, the presets for the C API of 
TensorFlow 2.x had to be updated only 10 times over the course of the past 
year: 
https://github.com/tensorflow/java/blob/master/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to