mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samuel Audet <notificati...@github.com.INVALID>
Subject Re: [apache/incubator-mxnet] [RFC] MXNet 2.0 JVM Language development (#17783)
Date Tue, 06 Oct 2020 12:51:24 GMT
> @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

-- 
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/17783#issuecomment-704246821
Mime
  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message