diff --git a/contrib/clojure-package/project.clj b/contrib/clojure-package/project.clj
index 12a0504e02d5..7a259a0fdd7f 100644
--- a/contrib/clojure-package/project.clj
+++ b/contrib/clojure-package/project.clj
@@ -29,7 +29,7 @@
;[org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu "1.2.1"]
;;; CI
- [org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu "1.5.0-SNAPSHOT"]
+ [org.apache.mxnet/mxnet-full_2.11 "1.5.0-SNAPSHOT"]
[org.clojure/tools.logging "0.4.0"]
[org.apache.logging.log4j/log4j-core "2.8.1"]
diff --git a/scala-package/README.md b/scala-package/README.md
index 20fbee2469b0..e86da1c63411 100644
--- a/scala-package/README.md
+++ b/scala-package/README.md
@@ -13,7 +13,7 @@ It brings flexible and efficient GPU/CPU computing and state-of-art deep learnin
and apply them to tasks such as image classification and data science challenges.
Install
-------------
+-------
Technically, all you need is the `mxnet-full_2.11-{arch}-{xpu}-{version}.jar` in your classpath.
It will automatically extract the native library to a tempfile and load it.
@@ -26,18 +26,8 @@ Use the following dependency in maven, change the artifactId according to your o
```HTML
org.apache.mxnet
- mxnet-full_2.10-linux-x86_64-gpu
- 0.1.1
-
-```
-
-You can also use `mxnet-core_2.10-0.1.1.jar` and put the compiled native library somewhere in your load path.
-
-```HTML
-
- org.apache.mxnet
- mxnet-core_2.10
- 0.1.1
+ mxnet-full_2.11-linux-x86_64-gpu
+ 1.5.0
```
@@ -45,26 +35,40 @@ If you have some native libraries conflict with the ones in the provided 'full'
Refer to the next section for how to build it from the very source.
Build
-------------
+-----
-Checkout the [Installation Guide](http://mxnet.incubator.apache.org/install/index.html) contains instructions to install mxnet.
+### Prerequisites
+
+* Check out MXNet source repository:
+
+ Checkout the [Installation Guide](http://mxnet.incubator.apache.org/install/index.html) contains instructions to install mxnet.
Then you can compile the Scala Package by
+* Build MXNet shared library
+
+ Scala maven build assume you already have a ``lib/libmxnet.so`` file.
+
+* You have JDK installed in your system.
+
+### Build scala package
+
+Scala build will detect your platform (OSX/Linux) and libmxnet.so flavor (CPU/GPU).
+
```bash
-make scalapkg
+cd scala-package
+mvn install
```
(Optional) run unit/integration tests by
```bash
-make scalaunittest
-make scalaintegrationtest
+mvn integration-test
```
Or run a subset of unit tests by, e.g.,
```bash
-make SCALA_TEST_ARGS=-Dsuites=org.apache.mxnet.NDArraySuite scalaunittest
+mvn -Dsuites=org.apache.mxnet.NDArraySuite integration-test
```
If everything goes well, you will find jars for `assembly`, `core` and `example` modules.
@@ -100,7 +104,7 @@ tracker/dmlc_local.py -n 2 -s 2 \
Change the arguments and have fun!
Usage
--------
+-----
Here is a Scala example of what training a simple 3-layer multilayer perceptron on MNIST looks like. You can download the MNIST dataset using [get_mnist_data script](https://github.com/apache/incubator-mxnet/blob/master/scala-package/core/scripts/get_mnist_data.sh).
```scala
diff --git a/scala-package/assembly/linux-x86_64-cpu/pom.xml b/scala-package/assembly/linux-x86_64-cpu/pom.xml
deleted file mode 100644
index 1658f36e6bbd..000000000000
--- a/scala-package/assembly/linux-x86_64-cpu/pom.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-full-parent_2.11
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- mxnet-full_2.11-linux-x86_64-cpu
- MXNet Scala Package - Full Linux-x86_64 CPU-only
- jar
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
- org.apache.mxnet
- libmxnet-scala-linux-x86_64-cpu
- 1.5.0-SNAPSHOT
- so
-
-
- org.apache.mxnet
- mxnet-infer_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
-
-
-
-
- org.codehaus.mojo
- flatten-maven-plugin
-
-
-
- remove
-
-
-
-
-
- flatten
- process-resources
-
- flatten
-
-
-
-
- flatten.clean
- clean
-
- clean
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
- false
-
- false
-
-
-
- org.apache.maven.plugins
- maven-install-plugin
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- binary-jar
- package
-
- single
-
-
- false
-
- src/main/assembly/assembly.xml
-
-
-
-
- sources-jar
- package
-
- single
-
-
- true
- sources
-
- ${project.parent.basedir}/src/source.xml
-
-
-
-
- javadoc-jar
- package
-
- single
-
-
- true
- javadoc
-
- ${project.parent.basedir}/src/javadoc.xml
-
-
-
-
-
-
-
-
diff --git a/scala-package/assembly/linux-x86_64-cpu/src/main/assembly/assembly.xml b/scala-package/assembly/linux-x86_64-cpu/src/main/assembly/assembly.xml
deleted file mode 100644
index f4c2017c8241..000000000000
--- a/scala-package/assembly/linux-x86_64-cpu/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
- full
-
- jar
-
- false
-
-
-
- *:*:jar
-
- /
- true
- true
- runtime
-
-
- lib/native
- libmxnet-scala.so
- false
- false
- false
-
- org.apache.mxnet:libmxnet-scala-linux-x86_64-cpu:so
-
-
-
-
-
-
- lib/native
-
-
-
diff --git a/scala-package/assembly/linux-x86_64-gpu/pom.xml b/scala-package/assembly/linux-x86_64-gpu/pom.xml
deleted file mode 100644
index c80515e7b107..000000000000
--- a/scala-package/assembly/linux-x86_64-gpu/pom.xml
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-full-parent_2.11
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- mxnet-full_2.11-linux-x86_64-gpu
- MXNet Scala Package - Full Linux-x86_64 GPU
- jar
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
- org.apache.mxnet
- libmxnet-scala-linux-x86_64-gpu
- 1.5.0-SNAPSHOT
- so
-
-
- org.apache.mxnet
- mxnet-infer_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
-
-
-
-
- org.codehaus.mojo
- flatten-maven-plugin
-
-
-
- remove
-
-
-
-
-
- flatten
- process-resources
-
- flatten
-
-
-
-
- flatten.clean
- clean
-
- clean
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
- false
-
- false
-
-
-
- org.apache.maven.plugins
- maven-install-plugin
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- binary-jar
- package
-
- single
-
-
- false
-
- src/main/assembly/assembly.xml
-
-
-
-
- sources-jar
- package
-
- single
-
-
- true
- sources
-
- ${project.parent.basedir}/src/source.xml
-
-
-
-
- javadoc-jar
- package
-
- single
-
-
- true
- javadoc
-
- ${project.parent.basedir}/src/javadoc.xml
-
-
-
-
-
-
-
-
diff --git a/scala-package/assembly/linux-x86_64-gpu/src/main/assembly/assembly.xml b/scala-package/assembly/linux-x86_64-gpu/src/main/assembly/assembly.xml
deleted file mode 100644
index 2aca64bdf1a9..000000000000
--- a/scala-package/assembly/linux-x86_64-gpu/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
- full
-
- jar
-
- false
-
-
-
- *:*:jar
-
- /
- true
- true
- runtime
-
-
- lib/native
- libmxnet-scala.so
- false
- false
- false
-
- org.apache.mxnet:libmxnet-scala-linux-x86_64-gpu:so
-
-
-
-
-
-
- lib/native
-
-
-
diff --git a/scala-package/assembly/osx-x86_64-cpu/pom.xml b/scala-package/assembly/osx-x86_64-cpu/pom.xml
deleted file mode 100644
index 62979a140fdc..000000000000
--- a/scala-package/assembly/osx-x86_64-cpu/pom.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-full-parent_2.11
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- mxnet-full_2.11-osx-x86_64-cpu
- MXNet Scala Package - Full OSX-x86_64 CPU-only
- jar
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
- org.apache.mxnet
- libmxnet-scala-osx-x86_64-cpu
- 1.5.0-SNAPSHOT
- jnilib
-
-
- org.apache.mxnet
- mxnet-infer_${scala.binary.version}
- 1.5.0-SNAPSHOT
-
-
-
-
-
-
- org.codehaus.mojo
- flatten-maven-plugin
-
-
-
- remove
-
-
-
-
-
- flatten
- process-resources
-
- flatten
-
-
-
-
- flatten.clean
- clean
-
- clean
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
- false
-
- false
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- binary-jar
- package
-
- single
-
-
- false
-
- src/main/assembly/assembly.xml
-
-
-
-
- sources-jar
- package
-
- single
-
-
- true
- sources
-
- ${project.parent.basedir}/src/source.xml
-
-
-
-
- javadoc-jar
- package
-
- single
-
-
- true
- javadoc
-
- ${project.parent.basedir}/src/javadoc.xml
-
-
-
-
-
-
-
-
diff --git a/scala-package/assembly/pom.xml b/scala-package/assembly/pom.xml
index c1d1a3b8e721..27e843a6650a 100644
--- a/scala-package/assembly/pom.xml
+++ b/scala-package/assembly/pom.xml
@@ -5,45 +5,43 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-full-parent_2.11
- MXNet Scala Package - Full Parent
+ mxnet-full_2.11
+ MXNet Scala Package - Full ${platform}-only
pom
+
+ ${parent.basedir}/..
+
+
+
+
+ org.apache.mxnet
+ mxnet-core
+ 1.5.0-SNAPSHOT
+
+
+ org.apache.mxnet
+ libmxnet-scala
+ 1.5.0-SNAPSHOT
+ ${libtype}
+
+
+ org.apache.mxnet
+ mxnet-infer
+ 1.5.0-SNAPSHOT
+
+
+
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
release
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
org.apache.maven.plugins
maven-source-plugin
@@ -107,4 +105,88 @@
+
+
+
+
+ org.codehaus.mojo
+ flatten-maven-plugin
+ 1.0.1
+
+
+ remove
+
+
+
+
+
+ flatten
+ process-resources
+
+ flatten
+
+
+
+
+ flatten.clean
+ clean
+
+ clean
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ binary-jar
+ package
+
+ single
+
+
+ ${project.artifactId}-${platform}-${flavor}-${project.version}
+ false
+
+ src/main/assembly/assembly.xml
+
+
+
+
+ sources-jar
+ package
+
+ single
+
+
+ true
+
+ src/source.xml
+
+
+
+
+ javadoc-jar
+ package
+
+ single
+
+
+ true
+
+ src/javadoc.xml
+
+
+
+
+
+
+
+
diff --git a/scala-package/assembly/src/javadoc.xml b/scala-package/assembly/src/javadoc.xml
index 9d0be80e7697..e4b35c99d865 100644
--- a/scala-package/assembly/src/javadoc.xml
+++ b/scala-package/assembly/src/javadoc.xml
@@ -10,7 +10,7 @@
- org.apache.mxnet:mxnet-core_${scala.binary.version}
+ org.apache.mxnet:mxnet-core
true
diff --git a/scala-package/assembly/osx-x86_64-cpu/src/main/assembly/assembly.xml b/scala-package/assembly/src/main/assembly/assembly.xml
similarity index 75%
rename from scala-package/assembly/osx-x86_64-cpu/src/main/assembly/assembly.xml
rename to scala-package/assembly/src/main/assembly/assembly.xml
index e9bc3728fcd0..c93efa77c9a8 100644
--- a/scala-package/assembly/osx-x86_64-cpu/src/main/assembly/assembly.xml
+++ b/scala-package/assembly/src/main/assembly/assembly.xml
@@ -9,6 +9,10 @@
*:*:jar
+
+ org.scala-lang:*
+ org.scala-lang.modules:*
+
/
true
true
@@ -16,12 +20,12 @@
lib/native
- libmxnet-scala.jnilib
+ libmxnet-scala.${libtype}
false
false
false
- org.apache.mxnet:libmxnet-scala-osx-x86_64-cpu:jnilib
+ org.apache.mxnet:libmxnet-scala:${libtype}
diff --git a/scala-package/assembly/src/source.xml b/scala-package/assembly/src/source.xml
index 0cbdcadf8d83..594cc6a86f23 100644
--- a/scala-package/assembly/src/source.xml
+++ b/scala-package/assembly/src/source.xml
@@ -12,7 +12,7 @@
true
- org.apache.mxnet:mxnet-core_${scala.binary.version}
+ org.apache.mxnet:mxnet-core
false
diff --git a/scala-package/core/pom.xml b/scala-package/core/pom.xml
index 976383f2e7d5..d48b36774f63 100644
--- a/scala-package/core/pom.xml
+++ b/scala-package/core/pom.xml
@@ -5,55 +5,71 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
-
- true
- ${project.parent.basedir}/..
-
-
- mxnet-core_2.11
+ mxnet-core
MXNet Scala Package - Core
-
-
- unittest
-
- false
-
-
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+
+ javah
+ verify
+
+ default
+ ${project.build.directory}/custom-javah
+ ${basedir}
+ org_apache_mxnet_native_c_api.h
+
+ org.apache.mxnet.LibInfo
+
+
+
+ javah
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ verify-javah
+ verify
+
+ exec
+
+
+ 0
+ diff
+ ${project.build.directory}/custom-javah/org_apache_mxnet_native_c_api.h ${project.parent.basedir}/native/src/main/native/org_apache_mxnet_native_c_api.h
+
+
+
+ apidoc-generation
+ generate-sources
+
+ exec
+
+
+ java
+ ${project.parent.basedir}
+ -classpath %classpath:${rootdir}/init/target/classes:${rootdir}/macros/target/classes -Djava.library.path=${rootdir}/native/target org.apache.mxnet.APIDocGenerator ${rootdir}/core/src/main/scala/org/apache/mxnet/
+
+
+
+
+
org.apache.maven.plugins
maven-jar-plugin
@@ -69,18 +85,34 @@
org.apache.maven.plugins
maven-compiler-plugin
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 3.1.0
+
+
+
+ src/main/scala/org/apache/mxnet
+
+ NDArrayAPIBase.scala
+ NDArrayBase.scala
+ javaapi/NDArrayBase.scala
+ SymbolAPIBase.scala
+ SymbolBase.scala
+
+ false
+
+
+
+
org.scalatest
scalatest-maven-plugin
- ${skipTests}
- -Djava.library.path=${project.parent.basedir}/native/${platform}/target \
+ -Djava.library.path=${project.parent.basedir}/native/target \
-Dlog4j.configuration=file://${project.basedir}/src/test/resources/log4j.properties
-
- ${MXNET_DIR}/lib
-
@@ -89,13 +121,8 @@
2.22.0
- -Djava.library.path=${project.parent.basedir}/native/${platform}/target
+ -Djava.library.path=${project.parent.basedir}/native/target
- ${skipTests}
- always
-
- ${MXNET_DIR}/lib
-
@@ -107,13 +134,13 @@
org.apache.mxnet
- mxnet-init_${scala.binary.version}
+ mxnet-macros
1.5.0-SNAPSHOT
provided
org.apache.mxnet
- mxnet-macros_${scala.binary.version}
+ mxnet-scala-init
1.5.0-SNAPSHOT
provided
diff --git a/scala-package/core/src/main/scala/org/apache/mxnet/Base.scala b/scala-package/core/src/main/scala/org/apache/mxnet/Base.scala
index b2a53fd9f2dd..c96868922fa6 100644
--- a/scala-package/core/src/main/scala/org/apache/mxnet/Base.scala
+++ b/scala-package/core/src/main/scala/org/apache/mxnet/Base.scala
@@ -67,6 +67,8 @@ private[mxnet] object Base {
"Consider installing the library somewhere in the path " +
"(for Windows: PATH, for Linux: LD_LIBRARY_PATH), " +
"or specifying by Java cmd option -Djava.library.path=[lib path].")
+ logger.warn("LD_LIBRARY_PATH=" + System.getenv("LD_LIBRARY_PATH"))
+ logger.warn("java.library.path=" + System.getProperty("java.library.path"))
NativeLibraryLoader.loadLibrary("mxnet-scala")
}
} catch {
diff --git a/scala-package/examples/pom.xml b/scala-package/examples/pom.xml
index 3ebb39b9a67e..07cc280917ce 100644
--- a/scala-package/examples/pom.xml
+++ b/scala-package/examples/pom.xml
@@ -5,58 +5,19 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-examples_2.11
+ mxnet-examples
MXNet Scala Package - Examples
true
- ${project.parent.basedir}/..
-
- integrationtest
-
- false
-
-
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
-
- deployLocal
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- false
-
-
-
-
-
release
@@ -149,12 +110,9 @@
${skipTests}
- -Djava.library.path=${project.parent.basedir}/native/${platform}/target \
+ -Djava.library.path=${project.parent.basedir}/native/target \
-Dlog4j.configuration=file://${project.basedir}/src/test/resources/log4j.properties
-
- ${MXNET_DIR}/lib
-
@@ -166,13 +124,13 @@
org.apache.mxnet
- mxnet-core_${scala.binary.version}
+ mxnet-core
1.5.0-SNAPSHOT
provided
org.apache.mxnet
- mxnet-infer_${scala.binary.version}
+ mxnet-infer
1.5.0-SNAPSHOT
provided
diff --git a/scala-package/examples/scripts/module/mnist_mlp.sh b/scala-package/examples/scripts/module/mnist_mlp.sh
index 29306706dbbe..e16e16e246b2 100755
--- a/scala-package/examples/scripts/module/mnist_mlp.sh
+++ b/scala-package/examples/scripts/module/mnist_mlp.sh
@@ -18,7 +18,7 @@
# under the License.
ROOT_DIR=$(cd `dirname $0`/../../..; pwd)
-CLASSPATH=$ROOT_DIR/assembly/osx-x86_64-cpu/target/*:$ROOT_DIR/examples/target/*:$ROOT_DIR/examples/target/classes/lib/*
+CLASSPATH=$ROOT_DIR/assembly/osx-x86_64/target/*:$ROOT_DIR/examples/target/*:$ROOT_DIR/examples/target/classes/lib/*
mkdir -p model
java -Xmx4G -cp $CLASSPATH \
diff --git a/scala-package/examples/scripts/module/run_sequential_module.sh b/scala-package/examples/scripts/module/run_sequential_module.sh
index 9e1f30e3687b..1e40d2dd83f7 100644
--- a/scala-package/examples/scripts/module/run_sequential_module.sh
+++ b/scala-package/examples/scripts/module/run_sequential_module.sh
@@ -18,7 +18,7 @@
# under the License.
ROOT_DIR=$(cd `dirname $0`/../../..; pwd)
-CLASSPATH=$ROOT_DIR/assembly/linux-x86_64-cpu/target/*:$ROOT_DIR/examples/target/*:$ROOT_DIR/examples/target/classes/lib/*
+CLASSPATH=$ROOT_DIR/assembly/linux-x86_64/target/*:$ROOT_DIR/examples/target/*:$ROOT_DIR/examples/target/classes/lib/*
DATA_DIR=$ROOT_DIR/core/data
diff --git a/scala-package/examples/scripts/run_visualization.sh b/scala-package/examples/scripts/run_visualization.sh
index 3e8f5cd784f9..7f5b94fbe2b5 100644
--- a/scala-package/examples/scripts/run_visualization.sh
+++ b/scala-package/examples/scripts/run_visualization.sh
@@ -19,7 +19,7 @@
MXNET_ROOT=$(cd "$(dirname $0)/../../.."; pwd)
-CLASS_PATH=$MXNET_ROOT/scala-package/assembly/linux-x86_64-cpu/target/*:$MXNET_ROOT/scala-package/examples/target/*:$MXNET_ROOT/scala-package/examples/target/classes/lib/*
+CLASS_PATH=$MXNET_ROOT/scala-package/assembly/assembly/target/*:$MXNET_ROOT/scala-package/examples/target/*:$MXNET_ROOT/scala-package/examples/target/classes/lib/*
# please install the Graphviz library
# if you are using ubuntu, use the following command:
diff --git a/scala-package/infer/pom.xml b/scala-package/infer/pom.xml
index fb5cf370a009..3e3a677c2ff1 100644
--- a/scala-package/infer/pom.xml
+++ b/scala-package/infer/pom.xml
@@ -4,56 +4,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- mxnet-parent_2.11
+ mxnet-parent
org.apache.mxnet
1.5.0-SNAPSHOT
../pom.xml
- mxnet-infer_2.11
+ mxnet-infer
MXNet Scala Package - Inference
-
- true
- ${project.parent.basedir}/..
-
-
-
-
- unittest
-
- false
-
-
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
org.apache.maven.plugins
maven-jar-plugin
@@ -73,14 +34,10 @@
org.scalatest
scalatest-maven-plugin
- ${skipTests}
- -Djava.library.path=${project.parent.basedir}/native/${platform}/target \
+ -Djava.library.path=${project.parent.basedir}/native/target \
-Dlog4j.configuration=file://${project.basedir}/src/test/resources/log4j.properties
-
- ${MXNET_DIR}/lib
-
@@ -92,7 +49,7 @@
org.apache.mxnet
- mxnet-core_${scala.binary.version}
+ mxnet-core
1.5.0-SNAPSHOT
provided
diff --git a/scala-package/init-native/linux-x86_64/pom.xml b/scala-package/init-native/linux-x86_64/pom.xml
deleted file mode 100644
index 242f2f3d5626..000000000000
--- a/scala-package/init-native/linux-x86_64/pom.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-scala-init-native-parent
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- libmxnet-init-scala-linux-x86_64
- MXNet Scala Package - Initializer Native Linux-x86_64
- http://maven.apache.org
-
- so
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-init_${scala.binary.version}
- 1.5.0-SNAPSHOT
- jar
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.codehaus.mojo
- native-maven-plugin
- true
-
-
- linux
- generic-classic
- ${cxx}
- ${cxx}
-
-
-
-
- -std=c++0x
-
-
- -I${MXNET_DIR}/include
- -I${MXNET_DIR}/3rdparty/dmlc-core/include
- -I${MXNET_DIR}/3rdparty/mshadow
- -I${MXNET_DIR}/3rdparty/dlpack/include
- -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
- -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
- -O3 -DNDEBUG=1 -fPIC -msse3 -mf16c
- -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
-
-
- -shared
-
-
- -Wl,--whole-archive
- -Wl,--no-whole-archive -pthread -lm -fopenmp -lrt
-
-
- -Wl,-rpath=${dollar}ORIGIN -lmxnet -L${MXNET_DIR}/lib
-
-
-
-
-
- javah
- generate-sources
-
- default
- ${project.build.directory}/custom-javah
- ${basedir}
- org_apache_mxnet_init_native_c_api.h
-
- org.apache.mxnet.init.LibInfo
-
-
-
- javah
-
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.6.0
-
-
- link-native-lib
- generate-resources
-
- exec
-
-
- ln
- -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
-
-
-
-
-
-
-
diff --git a/scala-package/init-native/osx-x86_64/pom.xml b/scala-package/init-native/osx-x86_64/pom.xml
deleted file mode 100644
index 12f4d800eba4..000000000000
--- a/scala-package/init-native/osx-x86_64/pom.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-scala-init-native-parent
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- libmxnet-init-scala-osx-x86_64
- MXNet Scala Package - Initializer Native OSX-x86_64
- http://maven.apache.org
-
- jnilib
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-init_${scala.binary.version}
- 1.5.0-SNAPSHOT
- jar
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.codehaus.mojo
- native-maven-plugin
- true
-
-
- darwin
- generic-classic
- ${cxx}
- ${cxx}
-
-
-
-
- -std=c++0x
-
-
- -I${MXNET_DIR}/include
- -I${MXNET_DIR}/3rdparty/dmlc-core/include
- -I${MXNET_DIR}/3rdparty/mshadow
- -I${MXNET_DIR}/3rdparty/dlpack/include
- -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
- -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
- -g -O0 -fPIC -msse3 -mf16c
- -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
-
-
- -shared
-
-
- -framework JavaVM
- -Wl,-exported_symbol,_Java_*
- -Wl,-x
-
-
- -lmxnet -L${MXNET_DIR}/lib
-
-
-
-
-
- javah
- generate-sources
-
- default
- ${project.build.directory}/custom-javah
- ${basedir}
- org_apache_mxnet_init_native_c_api.h
-
- org.apache.mxnet.init.LibInfo
-
-
-
- javah
-
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.6.0
-
-
- post-native-build
- package
-
- exec
-
-
- install_name_tool
- -change lib/libmxnet.so @loader_path/libmxnet.so ${project.build.directory}/${artifactId}.jnilib
-
-
-
- link-native-lib
- generate-resources
-
- exec
-
-
- ln
- -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
-
-
-
-
-
-
-
diff --git a/scala-package/init-native/pom.xml b/scala-package/init-native/pom.xml
index bed216e45035..a3453ba4e87c 100644
--- a/scala-package/init-native/pom.xml
+++ b/scala-package/init-native/pom.xml
@@ -5,46 +5,189 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-scala-init-native-parent
- MXNet Scala Package - Initializer Native Parent
- pom
+ libmxnet-init-scala
+ MXNet Scala Package - Initializer Native
+
+
+ ${project.parent.basedir}/..
+
+
+ ${libtype}
- osx-x86_64-cpu
-
- osx-x86_64
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64
-
+ osx-x86_64
+
+ mac
+
+
+
+
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+ darwin
+ generic-classic
+ ${cxx}
+ ${cxx}
+
+
+
+
+ -std=c++0x
+
+
+ -I${MXNET_DIR}/include
+ -I${MXNET_DIR}/3rdparty/dmlc-core/include
+ -I${MXNET_DIR}/3rdparty/mshadow
+ -I${MXNET_DIR}/3rdparty/dlpack/include
+ -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
+ -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
+ -g -O0 -fPIC -msse3 -mf16c
+ -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
+
+
+ -shared
+
+
+ -framework JavaVM
+ -Wl,-exported_symbol,_Java_*
+ -Wl,-x
+
+
+ -lmxnet -L${MXNET_DIR}/lib
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ post-native-build
+ package
+
+ exec
+
+
+ install_name_tool
+ -change lib/libmxnet.so @loader_path/libmxnet.so ${project.build.directory}/${project.artifactId}.jnilib
+
+
+
+
+
+
- linux-x86_64-gpu
-
- linux-x86_64
-
+ linux-x86_64
+
+
+ unix
+ Linux
+
+
+
+
+
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+ linux
+ generic-classic
+ ${cxx}
+ ${cxx}
+
+
+
+
+ -std=c++0x
+
+
+ -I${MXNET_DIR}/include
+ -I${MXNET_DIR}/3rdparty/dmlc-core/include
+ -I${MXNET_DIR}/3rdparty/mshadow
+ -I${MXNET_DIR}/3rdparty/dlpack/include
+ -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
+ -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
+ -O3 -DNDEBUG=1 -fPIC -msse3 -mf16c
+ -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
+
+
+ -shared
+
+
+ -Wl,--whole-archive
+ -Wl,--no-whole-archive -pthread -lm -fopenmp -lrt
+
+
+ -Wl,-rpath=${dollar}ORIGIN -lmxnet -L${MXNET_DIR}/lib
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ link-native-lib
+ generate-resources
+
+ exec
+
+
+ ln
+ -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
+
+
+
+
+
+
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ link-native-lib
+ generate-resources
+
+ exec
+
+
+ ln
+ -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
+
+
+
-
diff --git a/scala-package/init-native/src/main/native/org_apache_mxnet_init_native_c_api.h b/scala-package/init-native/src/main/native/org_apache_mxnet_init_native_c_api.h
new file mode 100644
index 000000000000..6ff6ae6a107c
--- /dev/null
+++ b/scala-package/init-native/src/main/native/org_apache_mxnet_init_native_c_api.h
@@ -0,0 +1,45 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include
+/* Header for class org_apache_mxnet_init_LibInfo */
+
+#ifndef _Included_org_apache_mxnet_init_LibInfo
+#define _Included_org_apache_mxnet_init_LibInfo
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: org_apache_mxnet_init_LibInfo
+ * Method: mxSymbolListAtomicSymbolCreators
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_init_LibInfo_mxSymbolListAtomicSymbolCreators
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_init_LibInfo
+ * Method: mxSymbolGetAtomicSymbolInfo
+ * Signature: (JLorg/apache/mxnet/init/Base/RefString;Lorg/apache/mxnet/init/Base/RefString;Lorg/apache/mxnet/init/Base/RefInt;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lorg/apache/mxnet/init/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_init_LibInfo_mxSymbolGetAtomicSymbolInfo
+ (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_init_LibInfo
+ * Method: mxListAllOpNames
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_init_LibInfo_mxListAllOpNames
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_init_LibInfo
+ * Method: nnGetOpHandle
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/init/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_init_LibInfo_nnGetOpHandle
+ (JNIEnv *, jobject, jstring, jobject);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/scala-package/init/pom.xml b/scala-package/init/pom.xml
index 4278df6f2e73..eeeb711ba3be 100644
--- a/scala-package/init/pom.xml
+++ b/scala-package/init/pom.xml
@@ -5,65 +5,60 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
-
+ ../pom.xml
- mxnet-init_2.11
+ mxnet-scala-init
MXNet Scala Package - Initializer
-
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
-
- apache-release
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.6.0
-
-
- compile-mxnet-backend
- compile
-
- exec
-
-
- bash
- ${project.parent.basedir}/dev/compile-mxnet-backend.sh ${build.platform} ${project.parent.basedir}/../
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
+
+
+
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+
+ javah
+ verify
- true
+ default
+ ${project.build.directory}/custom-javah
+ ${basedir}
+ org_apache_mxnet_init_native_c_api.h
+
+ org.apache.mxnet.init.LibInfo
+
-
-
-
-
-
+
+ javah
+
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ verify-javah
+ verify
+
+ exec
+
+
+ 0
+ diff
+ ${project.build.directory}/custom-javah/org_apache_mxnet_init_native_c_api.h ${project.parent.basedir}/init-native/src/main/native/org_apache_mxnet_init_native_c_api.h
+
+
+
+
+
+
+
diff --git a/scala-package/init/src/main/scala/org/apache/mxnet/init/Base.scala b/scala-package/init/src/main/scala/org/apache/mxnet/init/Base.scala
index 7402dbd3bc1d..b5a6286af1b6 100644
--- a/scala-package/init/src/main/scala/org/apache/mxnet/init/Base.scala
+++ b/scala-package/init/src/main/scala/org/apache/mxnet/init/Base.scala
@@ -17,6 +17,8 @@
package org.apache.mxnet.init
+import java.io.File
+
object Base {
tryLoadInitLibrary()
val _LIB = new LibInfo
@@ -37,18 +39,22 @@ object Base {
@throws(classOf[UnsatisfiedLinkError])
private def tryLoadInitLibrary(): Unit = {
- var baseDir = System.getProperty("user.dir") + "/init-native"
- // TODO(lanKing520) Update this to use relative path to the MXNet director.
- // TODO(lanking520) baseDir = sys.env("MXNET_BASEDIR") + "/scala-package/init-native"
- if (System.getenv().containsKey("MXNET_BASEDIR")) {
- baseDir = sys.env("MXNET_BASEDIR")
+ var userDir : File = new File(System.getProperty("user.dir"))
+ var nativeDir : File = new File(userDir, "init-native")
+ if (!nativeDir.exists()) {
+ nativeDir = new File(userDir.getParent, "init-native")
+ if (!nativeDir.exists()) {
+ throw new IllegalStateException("scala-init should be executed inside scala-package folder")
+ }
}
+ val baseDir = nativeDir.getAbsolutePath
+
val os = System.getProperty("os.name")
// ref: http://lopica.sourceforge.net/os.html
if (os.startsWith("Linux")) {
- System.load(s"$baseDir/linux-x86_64/target/libmxnet-init-scala-linux-x86_64.so")
+ System.load(s"$baseDir/target/libmxnet-init-scala.so")
} else if (os.startsWith("Mac")) {
- System.load(s"$baseDir/osx-x86_64/target/libmxnet-init-scala-osx-x86_64.jnilib")
+ System.load(s"$baseDir/target/libmxnet-init-scala.jnilib")
} else {
// TODO(yizhi) support windows later
throw new UnsatisfiedLinkError()
diff --git a/scala-package/macros/pom.xml b/scala-package/macros/pom.xml
index cd56060b4b36..53c8a36f4527 100644
--- a/scala-package/macros/pom.xml
+++ b/scala-package/macros/pom.xml
@@ -5,64 +5,21 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-macros_2.11
+ mxnet-macros
MXNet Scala Package - Macros
-
-
- unittest
-
- false
-
-
-
- integrationtest
-
- true
-
-
-
- osx-x86_64-cpu
-
- osx-x86_64
- jnilib
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64
- so
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64
- so
-
-
-
-
org.apache.mxnet
- mxnet-init_${scala.binary.version}
+ mxnet-scala-init
1.5.0-SNAPSHOT
provided
-
- org.apache.mxnet
- libmxnet-init-scala-${platform}
- 1.5.0-SNAPSHOT
- provided
- ${libtype}
-
commons-io
commons-io
@@ -70,16 +27,8 @@
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
org.apache.maven.plugins
maven-jar-plugin
@@ -95,39 +44,15 @@
org.apache.maven.plugins
maven-compiler-plugin
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.6.0
-
-
- apidoc-generation
- package
-
- java
-
-
-
-
-
- ${project.parent.basedir}/init/target/classes
-
-
- ${project.parent.basedir}/core/src/main/scala/org/apache/mxnet/
-
- org.apache.mxnet.APIDocGenerator
-
-
org.scalatest
scalatest-maven-plugin
- ${skiptest}
${project.parent.basedir}/init-native
- -Djava.library.path=${project.parent.basedir}/native/${platform}/target \
+ -Djava.library.path=${project.parent.basedir}/native/target \
-Dlog4j.configuration=file://${project.basedir}/src/test/resources/log4j.properties
@@ -138,5 +63,4 @@
-
diff --git a/scala-package/macros/src/main/scala/org/apache/mxnet/APIDocGenerator.scala b/scala-package/macros/src/main/scala/org/apache/mxnet/APIDocGenerator.scala
index ce12dc7cd5a0..8f43421ca1b5 100644
--- a/scala-package/macros/src/main/scala/org/apache/mxnet/APIDocGenerator.scala
+++ b/scala-package/macros/src/main/scala/org/apache/mxnet/APIDocGenerator.scala
@@ -228,21 +228,21 @@ private[mxnet] object APIDocGenerator extends GeneratorBase {
val finalStr =
s"""/*
- |* Licensed to the Apache Software Foundation (ASF) under one or more
- |* contributor license agreements. See the NOTICE file distributed with
- |* this work for additional information regarding copyright ownership.
- |* The ASF licenses this file to You under the Apache License, Version 2.0
- |* (the "License"); you may not use this file except in compliance with
- |* the License. You may obtain a copy of the License at
- |*
- |* http://www.apache.org/licenses/LICENSE-2.0
- |*
- |* Unless required by applicable law or agreed to in writing, software
- |* distributed under the License is distributed on an "AS IS" BASIS,
- |* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- |* See the License for the specific language governing permissions and
- |* limitations under the License.
- |*/
+ | * Licensed to the Apache Software Foundation (ASF) under one or more
+ | * contributor license agreements. See the NOTICE file distributed with
+ | * this work for additional information regarding copyright ownership.
+ | * The ASF licenses this file to You under the Apache License, Version 2.0
+ | * (the "License"); you may not use this file except in compliance with
+ | * the License. You may obtain a copy of the License at
+ | *
+ | * http://www.apache.org/licenses/LICENSE-2.0
+ | *
+ | * Unless required by applicable law or agreed to in writing, software
+ | * distributed under the License is distributed on an "AS IS" BASIS,
+ | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ | * See the License for the specific language governing permissions and
+ | * limitations under the License.
+ | */
|
|$packageDef
|
diff --git a/scala-package/mxnet-demo/java-demo/Makefile b/scala-package/mxnet-demo/java-demo/Makefile
index bb47db1c6d27..92c4b3597d0b 100644
--- a/scala-package/mxnet-demo/java-demo/Makefile
+++ b/scala-package/mxnet-demo/java-demo/Makefile
@@ -16,7 +16,7 @@
# under the License.
SCALA_VERSION_PROFILE := 2.11
-MXNET_VERSION := 1.4.0-SNAPSHOT
+MXNET_VERSION := 1.5.0-SNAPSHOT
ifeq ($(OS),Windows_NT)
UNAME_S := Windows
diff --git a/scala-package/mxnet-demo/java-demo/README.md b/scala-package/mxnet-demo/java-demo/README.md
index dbe18052a899..164d35e567d1 100644
--- a/scala-package/mxnet-demo/java-demo/README.md
+++ b/scala-package/mxnet-demo/java-demo/README.md
@@ -12,7 +12,7 @@ You can use the following instruction as an alternative to achieve the same resu
User are required to use `mvn package` to build the package,
which are shown below:
```Bash
-export SCALA_VERSION_PROFILE=2.11 MXNET_VERSION=1.4.0-SNAPSHOT
+export SCALA_VERSION_PROFILE=2.11 MXNET_VERSION=1.5.0-SNAPSHOT
export SCALA_PKG_PROFILE=
mvn package -Dmxnet.profile=$SCALA_PKG_PROFILE \
-Dmxnet.scalaprofile=$SCALA_VERSION_PROFILE \
@@ -80,5 +80,5 @@ sudo apt install libopencv-imgcodecs3.4
Is there any other version available?
-You can find nightly release version from [here](https://repository.apache.org/#nexus-search;gav~org.apache.mxnet~~1.4.0-SNAPSHOT~~).
+You can find nightly release version from [here](https://repository.apache.org/#nexus-search;gav~org.apache.mxnet~~1.5.0-SNAPSHOT~~).
Please keep the same version in the Makefile or [above version](https://repository.apache.org/#nexus-search;gav~org.apache.mxnet~~~~) to run this demo.
diff --git a/scala-package/mxnet-demo/scala-demo/pom.xml b/scala-package/mxnet-demo/scala-demo/pom.xml
index 8fc30e78cac8..a908487cd21d 100644
--- a/scala-package/mxnet-demo/scala-demo/pom.xml
+++ b/scala-package/mxnet-demo/scala-demo/pom.xml
@@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
Demo
- mxnet-scala-demo_2.11
+ mxnet-scala-demo
1.0-SNAPSHOT
MXNet Scala Demo
pom
diff --git a/scala-package/native/README.md b/scala-package/native/README.md
index cb6dd3890dd2..c87b064fff02 100644
--- a/scala-package/native/README.md
+++ b/scala-package/native/README.md
@@ -6,7 +6,11 @@ MXNet Scala JNI is a thin wrapper layer of underlying libmxnet.so.
JNI native code requires a header file that matches the java/scala interface,
this file is usually generated with javah.
-In our case, jni_helper_func.h is generated and will be used to compile native code.
+In our case, org_apache_mxnet_native_c.h is generated and will be used to compile native code.
+
+To improve build performance, we check in generated org_apache_mxnet_native_c.h file.
+And we added a check to detect mismatch with Scala code and generated header. The checker will
+make sure we won't forget to update org_apache_mxnet_native_c.h file.
## Linker options
diff --git a/scala-package/native/linux-x86_64-cpu/pom.xml b/scala-package/native/linux-x86_64-cpu/pom.xml
deleted file mode 100644
index 7cfd01a4ef79..000000000000
--- a/scala-package/native/linux-x86_64-cpu/pom.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-scala-native-parent
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- libmxnet-scala-linux-x86_64-cpu
- MXNet Scala Package - Native Linux-x86_64 CPU-only
- http://maven.apache.org
-
- so
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
- jar
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.codehaus.mojo
- native-maven-plugin
- true
-
-
- linux
- generic-classic
- ${cxx}
- ${cxx}
-
-
-
-
- -std=c++0x
-
-
- -I${MXNET_DIR}/include
- -I${MXNET_DIR}/3rdparty/dmlc-core/include
- -I${MXNET_DIR}/3rdparty/mshadow
- -I${MXNET_DIR}/3rdparty/dlpack/include
- -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
- -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
- -O3 -DNDEBUG=1 -fPIC -msse3 -mf16c
- -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
-
-
- -shared
-
-
- -Wl,-rpath=${dollar}ORIGIN -lmxnet -L${MXNET_DIR}/lib
-
-
-
-
-
- javah
- generate-sources
-
- default
- ${project.build.directory}/custom-javah
- ${basedir}
- org_apache_mxnet_native_c_api.h
-
- org.apache.mxnet.LibInfo
-
-
-
- javah
-
-
-
-
-
-
-
diff --git a/scala-package/native/linux-x86_64-gpu/pom.xml b/scala-package/native/linux-x86_64-gpu/pom.xml
deleted file mode 100644
index 668f330b5ff9..000000000000
--- a/scala-package/native/linux-x86_64-gpu/pom.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-scala-native-parent
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- libmxnet-scala-linux-x86_64-gpu
- MXNet Scala Package - Native Linux-x86_64 GPU
- http://maven.apache.org
-
- so
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
- jar
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.codehaus.mojo
- native-maven-plugin
- true
-
-
- linux
- generic-classic
- ${cxx}
- ${cxx}
-
-
-
-
- -std=c++0x
-
-
- -I${MXNET_DIR}/include
- -I${MXNET_DIR}/3rdparty/dmlc-core/include
- -I${MXNET_DIR}/3rdparty/mshadow
- -I${MXNET_DIR}/3rdparty/dlpack/include
- -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
- -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
- -O3 -DNDEBUG=1 -fPIC -msse3 -mf16c
- -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
-
-
- -shared
-
-
- -Wl,-rpath=${dollar}ORIGIN -lmxnet -L${MXNET_DIR}/lib
-
-
-
-
-
- javah
- generate-sources
-
- default
- ${project.build.directory}/custom-javah
- ${basedir}
- org_apache_mxnet_native_c_api.h
-
- org.apache.mxnet.LibInfo
-
-
-
- javah
-
-
-
-
-
-
-
diff --git a/scala-package/native/osx-x86_64-cpu/pom.xml b/scala-package/native/osx-x86_64-cpu/pom.xml
deleted file mode 100644
index 425ca96815de..000000000000
--- a/scala-package/native/osx-x86_64-cpu/pom.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
- 4.0.0
-
- org.apache.mxnet
- mxnet-scala-native-parent
- 1.5.0-SNAPSHOT
- ../pom.xml
-
-
- libmxnet-scala-osx-x86_64-cpu
- MXNet Scala Package - Native OSX-x86_64 CPU-only
- http://maven.apache.org
-
- jnilib
-
-
- ${project.parent.parent.basedir}/..
-
-
-
-
- org.apache.mxnet
- mxnet-core_${scala.binary.version}
- 1.5.0-SNAPSHOT
- jar
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.codehaus.mojo
- native-maven-plugin
- true
-
-
- darwin
- generic-classic
- ${cxx}
- ${cxx}
-
-
-
-
- -std=c++0x
-
-
- -I${MXNET_DIR}/include
- -I${MXNET_DIR}/3rdparty/dmlc-core/include
- -I${MXNET_DIR}/3rdparty/mshadow
- -I${MXNET_DIR}/3rdparty/dlpack/include
- -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
- -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
- -g -O0 -fPIC -msse3 -mf16c
- -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
-
-
- -shared
-
-
- -framework JavaVM
- -Wl,-exported_symbol,_Java_*
- -Wl,-x
-
-
- -Wl,-install_name,libmxnet-scala.jnilib -lmxnet -L${MXNET_DIR}/lib
-
-
-
-
-
- javah
- generate-sources
-
- default
- ${project.build.directory}/custom-javah
- ${basedir}
- org_apache_mxnet_native_c_api.h
-
- org.apache.mxnet.LibInfo
-
-
-
- javah
-
-
-
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.6.0
-
-
- post-native-build
- package
-
- exec
-
-
- install_name_tool
- -change lib/libmxnet.so @loader_path/libmxnet.so ${project.build.directory}/${artifactId}.jnilib
-
-
-
- link-native-lib
- generate-resources
-
- exec
-
-
- ln
- -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
-
-
-
-
-
-
-
diff --git a/scala-package/native/pom.xml b/scala-package/native/pom.xml
index 2f6425d21104..e6f289a490a2 100644
--- a/scala-package/native/pom.xml
+++ b/scala-package/native/pom.xml
@@ -5,46 +5,165 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-scala-native-parent
- MXNet Scala Package - Native Parent
- pom
+ libmxnet-scala
+ MXNet Scala Package - Native
+ ${libtype}
+
+
+ ${project.parent.basedir}/..
+
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
+ osx-x86_64
+
+ mac
+
+
+
+
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+ darwin
+ generic-classic
+ ${cxx}
+ ${cxx}
+
+
+
+
+ -std=c++0x
+
+
+ -I${MXNET_DIR}/include
+ -I${MXNET_DIR}/3rdparty/dmlc-core/include
+ -I${MXNET_DIR}/3rdparty/mshadow
+ -I${MXNET_DIR}/3rdparty/dlpack/include
+ -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
+ -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
+ -g -O0 -fPIC -msse3 -mf16c
+ -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
+
+
+ -shared
+
+
+ -framework JavaVM
+ -Wl,-exported_symbol,_Java_*
+ -Wl,-x
+
+
+ -Wl,-install_name,libmxnet-scala.jnilib -lmxnet -L${MXNET_DIR}/lib
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ post-native-build
+ package
+
+ exec
+
+
+ install_name_tool
+ -change lib/libmxnet.so @loader_path/libmxnet.so ${project.build.directory}/${project.artifactId}.jnilib
+
+
+
+
+
+
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
+ linux-x86_64
+
+
+ unix
+ Linux
+
+
+
+
+
+ org.codehaus.mojo
+ native-maven-plugin
+ true
+
+ linux
+ generic-classic
+ ${cxx}
+ ${cxx}
+
+
+
+
+ -std=c++0x
+
+
+ -I${MXNET_DIR}/include
+ -I${MXNET_DIR}/3rdparty/dmlc-core/include
+ -I${MXNET_DIR}/3rdparty/mshadow
+ -I${MXNET_DIR}/3rdparty/dlpack/include
+ -I${MXNET_DIR}/3rdparty/tvm/nnvm/include
+ -DMSHADOW_USE_MKL=0 -DMSHADOW_USE_CUDA=0
+ -O3 -DNDEBUG=1 -fPIC -msse3 -mf16c
+ -Wall -Wsign-compare -Wno-unused-parameter -Wno-unknown-pragmas -Wno-unused-local-typedefs
+
+
+ -shared
+
+
+ -Wl,-rpath=${dollar}ORIGIN -lmxnet -L${MXNET_DIR}/lib
+
+
+
+
+
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
+
+
+ link-native-lib
+ generate-resources
+
+ exec
+
+
+ ln
+ -sf ${MXNET_DIR}/lib/libmxnet.so ${project.build.directory}/libmxnet.so
+
+
+
-
diff --git a/scala-package/native/src/main/native/org_apache_mxnet_native_c_api.h b/scala-package/native/src/main/native/org_apache_mxnet_native_c_api.h
new file mode 100644
index 000000000000..40230ac6daae
--- /dev/null
+++ b/scala-package/native/src/main/native/org_apache_mxnet_native_c_api.h
@@ -0,0 +1,853 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include
+/* Header for class org_apache_mxnet_LibInfo */
+
+#ifndef _Included_org_apache_mxnet_LibInfo
+#define _Included_org_apache_mxnet_LibInfo
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: nativeLibInit
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_nativeLibInit
+ (JNIEnv *, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxGetLastError
+ * Signature: ()Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL Java_org_apache_mxnet_LibInfo_mxGetLastError
+ (JNIEnv *, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxListAllOpNames
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxListAllOpNames
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: nnGetOpHandle
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_nnGetOpHandle
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxImperativeInvoke
+ * Signature: (J[J[JLscala/collection/mutable/ArrayBuffer;I[Ljava/lang/String;[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxImperativeInvoke
+ (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jobject, jint, jobjectArray, jobjectArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayCreateNone
+ * Signature: (Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayCreateNone
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayCreateEx
+ * Signature: ([IIIIIILorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayCreateEx
+ (JNIEnv *, jobject, jintArray, jint, jint, jint, jint, jint, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayWaitAll
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayWaitAll
+ (JNIEnv *, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayWaitToRead
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayWaitToRead
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxListFunctions
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxListFunctions
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxFuncDescribe
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;Lorg/apache/mxnet/Base/RefInt;Lorg/apache/mxnet/Base/RefInt;Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxFuncDescribe
+ (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxFuncGetInfo
+ * Signature: (JLorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxFuncGetInfo
+ (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxFuncInvoke
+ * Signature: (J[J[F[J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxFuncInvoke
+ (JNIEnv *, jobject, jlong, jlongArray, jfloatArray, jlongArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxFuncInvokeEx
+ * Signature: (J[J[F[JI[[B[[B)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxFuncInvokeEx
+ (JNIEnv *, jobject, jlong, jlongArray, jfloatArray, jlongArray, jint, jobjectArray, jobjectArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayGetShape
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayGetShape
+ (JNIEnv *, jobject, jlong, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArraySyncCopyToCPU
+ * Signature: (J[BI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArraySyncCopyToCPU
+ (JNIEnv *, jobject, jlong, jbyteArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArraySlice
+ * Signature: (JIILorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArraySlice
+ (JNIEnv *, jobject, jlong, jint, jint, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayAt
+ * Signature: (JILorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayAt
+ (JNIEnv *, jobject, jlong, jint, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayReshape
+ * Signature: (JI[ILorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayReshape
+ (JNIEnv *, jobject, jlong, jint, jintArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArraySyncCopyFromCPU
+ * Signature: (J[FI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArraySyncCopyFromCPU
+ (JNIEnv *, jobject, jlong, jfloatArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayLoad
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ArrayBuffer;Lorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayLoad
+ (JNIEnv *, jobject, jstring, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArraySave
+ * Signature: (Ljava/lang/String;[J[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArraySave
+ (JNIEnv *, jobject, jstring, jlongArray, jobjectArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayGetContext
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayGetContext
+ (JNIEnv *, jobject, jlong, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArraySaveRawBytes
+ * Signature: (JLscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArraySaveRawBytes
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayLoadFromRawBytes
+ * Signature: ([BLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayLoadFromRawBytes
+ (JNIEnv *, jobject, jbyteArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNDArrayGetDType
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNDArrayGetDType
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxInitPSEnv
+ * Signature: ([Ljava/lang/String;[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxInitPSEnv
+ (JNIEnv *, jobject, jobjectArray, jobjectArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreRunServer
+ * Signature: (JLorg/apache/mxnet/KVServerControllerCallback;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreRunServer
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreGetNumDeadNode
+ * Signature: (JILorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreGetNumDeadNode
+ (JNIEnv *, jobject, jlong, jint, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreCreate
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreCreate
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreInit
+ * Signature: (JI[I[J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreInit
+ (JNIEnv *, jobject, jlong, jint, jintArray, jlongArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreInitEx
+ * Signature: (JI[Ljava/lang/String;[J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreInitEx
+ (JNIEnv *, jobject, jlong, jint, jobjectArray, jlongArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStorePush
+ * Signature: (JI[I[JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStorePush
+ (JNIEnv *, jobject, jlong, jint, jintArray, jlongArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStorePushEx
+ * Signature: (JI[Ljava/lang/String;[JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStorePushEx
+ (JNIEnv *, jobject, jlong, jint, jobjectArray, jlongArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStorePull
+ * Signature: (JI[I[JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStorePull
+ (JNIEnv *, jobject, jlong, jint, jintArray, jlongArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStorePullEx
+ * Signature: (JI[Ljava/lang/String;[JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStorePullEx
+ (JNIEnv *, jobject, jlong, jint, jobjectArray, jlongArray, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreSetUpdater
+ * Signature: (JLorg/apache/mxnet/MXKVStoreUpdater;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreSetUpdater
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreIsWorkerNode
+ * Signature: (Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreIsWorkerNode
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreGetType
+ * Signature: (JLorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreGetType
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreSendCommmandToServers
+ * Signature: (JILjava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreSendCommmandToServers
+ (JNIEnv *, jobject, jlong, jint, jstring);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreBarrier
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreBarrier
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreGetGroupSize
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreGetGroupSize
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreGetRank
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreGetRank
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreSetBarrierBeforeExit
+ * Signature: (JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreSetBarrierBeforeExit
+ (JNIEnv *, jobject, jlong, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxKVStoreFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxKVStoreFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxListDataIters
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxListDataIters
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterCreateIter
+ * Signature: (J[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterCreateIter
+ (JNIEnv *, jobject, jlong, jobjectArray, jobjectArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterGetIterInfo
+ * Signature: (JLorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefString;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterGetIterInfo
+ (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterBeforeFirst
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterBeforeFirst
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterNext
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterNext
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterGetLabel
+ * Signature: (JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterGetLabel
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterGetData
+ * Signature: (JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterGetData
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterGetIndex
+ * Signature: (JLscala/collection/mutable/ListBuffer;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterGetIndex
+ (JNIEnv *, jobject, jlong, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDataIterGetPadNum
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDataIterGetPadNum
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorOutputs
+ * Signature: (JLscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorOutputs
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorForward
+ * Signature: (JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorForward
+ (JNIEnv *, jobject, jlong, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorBackward
+ * Signature: (J[J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorBackward
+ (JNIEnv *, jobject, jlong, jlongArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorPrint
+ * Signature: (JLorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorPrint
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorSetMonitorCallback
+ * Signature: (JLorg/apache/mxnet/MXMonitorCallback;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorSetMonitorCallback
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListAtomicSymbolCreators
+ * Signature: (Lscala/collection/mutable/ListBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListAtomicSymbolCreators
+ (JNIEnv *, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolGetAtomicSymbolInfo
+ * Signature: (JLorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolGetAtomicSymbolInfo
+ (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCreateAtomicSymbol
+ * Signature: (J[Ljava/lang/String;[Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCreateAtomicSymbol
+ (JNIEnv *, jobject, jlong, jobjectArray, jobjectArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolSetAttr
+ * Signature: (JLjava/lang/String;Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolSetAttr
+ (JNIEnv *, jobject, jlong, jstring, jstring);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListAttrShallow
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListAttrShallow
+ (JNIEnv *, jobject, jlong, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListAttr
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;Lscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListAttr
+ (JNIEnv *, jobject, jlong, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCompose
+ * Signature: (JLjava/lang/String;[Ljava/lang/String;[J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCompose
+ (JNIEnv *, jobject, jlong, jstring, jobjectArray, jlongArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCreateVariable
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCreateVariable
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolGetAttr
+ * Signature: (JLjava/lang/String;Lorg/apache/mxnet/Base/RefString;Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolGetAttr
+ (JNIEnv *, jobject, jlong, jstring, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListArguments
+ * Signature: (JLscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListArguments
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCopy
+ * Signature: (JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCopy
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListAuxiliaryStates
+ * Signature: (JLscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListAuxiliaryStates
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolListOutputs
+ * Signature: (JLscala/collection/mutable/ArrayBuffer;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolListOutputs
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCreateGroup
+ * Signature: ([JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCreateGroup
+ (JNIEnv *, jobject, jlongArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolPrint
+ * Signature: (JLorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolPrint
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolGetInternals
+ * Signature: (JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolGetInternals
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolInferType
+ * Signature: (J[Ljava/lang/String;[ILscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolInferType
+ (JNIEnv *, jobject, jlong, jobjectArray, jintArray, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolInferShape
+ * Signature: (JI[Ljava/lang/String;[I[ILscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lscala/collection/mutable/ListBuffer;Lorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolInferShape
+ (JNIEnv *, jobject, jlong, jint, jobjectArray, jintArray, jintArray, jobject, jobject, jobject, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolGetOutput
+ * Signature: (JILorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolGetOutput
+ (JNIEnv *, jobject, jlong, jint, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolSaveToJSON
+ * Signature: (JLorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolSaveToJSON
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCreateFromJSON
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCreateFromJSON
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorBindX
+ * Signature: (JIII[Ljava/lang/String;[I[II[J[J[I[JLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorBindX
+ (JNIEnv *, jobject, jlong, jint, jint, jint, jobjectArray, jintArray, jintArray, jint, jlongArray, jlongArray, jintArray, jlongArray, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxExecutorBindEX
+ * Signature: (JIII[Ljava/lang/String;[I[II[J[J[I[JJLorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxExecutorBindEX
+ (JNIEnv *, jobject, jlong, jint, jint, jint, jobjectArray, jintArray, jintArray, jint, jlongArray, jlongArray, jintArray, jlongArray, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolSaveToFile
+ * Signature: (JLjava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolSaveToFile
+ (JNIEnv *, jobject, jlong, jstring);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolCreateFromFile
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolCreateFromFile
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSymbolFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSymbolFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRandomSeed
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRandomSeed
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxNotifyShutdown
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxNotifyShutdown
+ (JNIEnv *, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOWriterCreate
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOWriterCreate
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOReaderCreate
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOReaderCreate
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOWriterFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOWriterFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOReaderFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOReaderFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOWriterWriteRecord
+ * Signature: (JLjava/lang/String;I)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOWriterWriteRecord
+ (JNIEnv *, jobject, jlong, jstring, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOReaderReadRecord
+ * Signature: (JLorg/apache/mxnet/Base/RefString;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOReaderReadRecord
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOWriterTell
+ * Signature: (JLorg/apache/mxnet/Base/RefInt;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOWriterTell
+ (JNIEnv *, jobject, jlong, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRecordIOReaderSeek
+ * Signature: (JI)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRecordIOReaderSeek
+ (JNIEnv *, jobject, jlong, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRtcCreate
+ * Signature: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[J[JLjava/lang/String;Lorg/apache/mxnet/Base/RefLong;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRtcCreate
+ (JNIEnv *, jobject, jstring, jobjectArray, jobjectArray, jlongArray, jlongArray, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRtcPush
+ * Signature: (J[J[JIIIIII)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRtcPush
+ (JNIEnv *, jobject, jlong, jlongArray, jlongArray, jint, jint, jint, jint, jint, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxRtcFree
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxRtcFree
+ (JNIEnv *, jobject, jlong);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxCustomOpRegister
+ * Signature: (Ljava/lang/String;Lorg/apache/mxnet/CustomOpProp;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxCustomOpRegister
+ (JNIEnv *, jobject, jstring, jobject);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSetProfilerConfig
+ * Signature: ([Ljava/lang/String;[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSetProfilerConfig
+ (JNIEnv *, jobject, jobjectArray, jobjectArray);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxSetProfilerState
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxSetProfilerState
+ (JNIEnv *, jobject, jint);
+
+/*
+ * Class: org_apache_mxnet_LibInfo
+ * Method: mxDumpProfile
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_org_apache_mxnet_LibInfo_mxDumpProfile
+ (JNIEnv *, jobject, jint);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/scala-package/pom.xml b/scala-package/pom.xml
index 6eb573bf3e23..ec1e303c69b5 100644
--- a/scala-package/pom.xml
+++ b/scala-package/pom.xml
@@ -6,10 +6,11 @@
org.apache
apache
- 19
+ 19
+
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
MXNet Scala Package - Parent
https://github.com/apache/incubator-mxnet/tree/master/scala-package
@@ -37,10 +38,10 @@
2.11.8
- 2.11
g++
$
+ ${project.basedir}/..
pom
@@ -48,8 +49,8 @@
init
init-native
macros
- core
native
+ core
infer
examples
spark
@@ -84,10 +85,6 @@
scala-2.11
-
- 2.11.8
- 2.11
-
@@ -117,31 +114,64 @@
- scala-2.12
+ osx-x86_64
+
+ mac
+
+
+ osx-x86_64
+ jnilib
+ cpu
+
+
+
+ linux-x86_64
+
+
+ unix
+ Linux
+
+
- 2.12.4
- 2.12
+ linux-x86_64
+ so
+
- org.apache.maven.plugins
- maven-enforcer-plugin
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.6.0
- enforce-versions
+ init-build-flavor
+ initialize
- enforce
+ exec
-
-
-
- *:*_2.11
- *:*_2.10
-
-
-
+ bash
+ -c 'if [[ $(ldd ${MXNET_DIR}/lib/libmxnet.so | grep libcuda.so | wc -l) == "0" ]]; then echo flavor=cpu > /tmp/flavor.properties; else echo flavor=gpu > /tmp/flavor.properties; fi'
+
+
+
+
+
+ org.codehaus.mojo
+ properties-maven-plugin
+ 1.0.0
+
+
+ read-properties
+ initialize
+
+ read-project-properties
+
+
+
+ /tmp/flavor.properties
+
@@ -153,6 +183,27 @@
+
+ org.commonjava.maven.plugins
+ directory-maven-plugin
+ 0.1
+
+
+ directories
+
+ directory-of
+
+ initialize
+
+ rootdir
+
+ org.apache.mxnet
+ mxnet-parent
+
+
+
+
+
org.apache.maven.plugins
maven-release-plugin
@@ -161,13 +212,6 @@
false
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
org.apache.maven.plugins
maven-source-plugin
@@ -209,14 +253,13 @@
org.apache.maven.plugins
maven-assembly-plugin
- 2.5.5
+ 3.1.0
org.apache.maven.plugins
maven-surefire-plugin
2.19
- true
false
@@ -231,7 +274,6 @@
scalatest-maven-plugin
1.0
- ${skipTests}
${project.build.directory}/surefire-reports
.
F
@@ -256,7 +298,7 @@
org.scalastyle
scalastyle-maven-plugin
- 0.8.0
+ 1.0.0
false
true
@@ -264,7 +306,7 @@
false
${basedir}/src/main/scala
${basedir}/src/test/scala
- scalastyle-config.xml
+ ${rootdir}/scalastyle-config.xml
${basedir}/target/scalastyle-output.xml
UTF-8
@@ -318,16 +360,6 @@
-
- org.scala-lang
- scala-library
- ${scala.version}
-
-
- org.scala-lang
- scala-reflect
- ${scala.version}
-
commons-codec
commons-codec
@@ -352,7 +384,7 @@
org.scalatest
- scalatest_${scala.binary.version}
+ scalatest_2.11
3.0.4
test
@@ -363,13 +395,25 @@
org.scalacheck
- scalacheck_${scala.binary.version}
+ scalacheck_2.11
1.13.5
test
+
+
+
+ org.scala-lang
+ scala-library
+ ${scala.version}
+
+
+ org.scala-lang
+ scala-reflect
+ ${scala.version}
+
org.scala-lang.modules
- scala-parser-combinators_${scala.binary.version}
+ scala-parser-combinators_2.11
1.0.4
diff --git a/scala-package/spark/bin/run-mnist-example.sh b/scala-package/spark/bin/run-mnist-example.sh
index 4ebd6c61d56b..4f747f2c91a1 100755
--- a/scala-package/spark/bin/run-mnist-example.sh
+++ b/scala-package/spark/bin/run-mnist-example.sh
@@ -27,9 +27,9 @@ OS=""
if [ "$(uname)" == "Darwin" ]; then
# Do something under Mac OS X platform
- OS='osx-x86_64-cpu'
+ OS='osx-x86_64'
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
- OS='linux-x86_64-cpu'
+ OS='linux-x86_64'
fi
LIB_DIR=${SPARK_MODULE_DIR}/target/classes/lib
diff --git a/scala-package/spark/pom.xml b/scala-package/spark/pom.xml
index 2db3bee8c78d..074f30cc92aa 100644
--- a/scala-package/spark/pom.xml
+++ b/scala-package/spark/pom.xml
@@ -5,47 +5,28 @@
4.0.0
org.apache.mxnet
- mxnet-parent_2.11
+ mxnet-parent
1.5.0-SNAPSHOT
../pom.xml
- mxnet-spark_2.11
+ mxnet-spark
MXNet Scala Package - Spark ML
1.6.3
-
-
- osx-x86_64-cpu
-
- osx-x86_64-cpu
-
-
-
- linux-x86_64-cpu
-
- linux-x86_64-cpu
-
-
-
- linux-x86_64-gpu
-
- linux-x86_64-gpu
-
-
-
+
org.apache.mxnet
- mxnet-core_${scala.binary.version}
+ mxnet-core
1.5.0-SNAPSHOT
provided
org.apache.spark
- spark-mllib_${scala.binary.version}
+ spark-mllib_2.11
${spark.version}
diff --git a/tools/license_header.py b/tools/license_header.py
index 10ba8b909e70..9c64b5fd167b 100755
--- a/tools/license_header.py
+++ b/tools/license_header.py
@@ -60,24 +60,26 @@
_LICENSE_PATTERNS = ['Licensed to the Apache Software Foundation']
# the folders or files that will be ignored
-_WHITE_LIST = ['R-package/',
+_WHITE_LIST = ['3rdparty',
'docker/Dockerfiles',
- '3rdparty',
- 'src/operator/mkl/',
- 'src/operator/special_functions-inl.h',
- 'src/operator/nn/pool.h',
- 'src/operator/contrib/psroi_pooling-inl.h',
- 'src/operator/contrib/nn/deformable_im2col.h',
- 'src/operator/contrib/nn/deformable_im2col.cuh',
- 'src/operator/nn/im2col.h',
- 'src/operator/nn/im2col.cuh',
- 'example/ssd/dataset/pycocotools/coco.py',
- 'example/rcnn/rcnn/cython/setup.py',
+ 'example/image-classification/predict-cpp/image-classification-predict.cc',
'example/rcnn/rcnn/cython/nms_kernel.cu',
+ 'example/rcnn/rcnn/cython/setup.py',
+ 'example/ssd/dataset/pycocotools/coco.py',
+ 'julia/REQUIRE',
'prepare_mkl.sh',
- 'example/image-classification/predict-cpp/image-classification-predict.cc',
+ 'R-package/',
+ 'scala-package/init-native/src/main/native/org_apache_mxnet_init_native_c_api.h',
+ 'scala-package/native/src/main/native/org_apache_mxnet_native_c_api.h',
'src/operator/contrib/ctc_include/',
- 'julia/REQUIRE'
+ 'src/operator/contrib/nn/deformable_im2col.cuh',
+ 'src/operator/contrib/nn/deformable_im2col.h',
+ 'src/operator/contrib/psroi_pooling-inl.h',
+ 'src/operator/mkl/',
+ 'src/operator/nn/im2col.cuh',
+ 'src/operator/nn/im2col.h',
+ 'src/operator/nn/pool.h',
+ 'src/operator/special_functions-inl.h'
]
# language extensions and the according commment mark