diff --git a/README.md b/README.md
index 3f3ed186931b..0edabd51fe22 100644
--- a/README.md
+++ b/README.md
@@ -35,12 +35,12 @@ Deeplearning4J has quite a few dependencies. For this reason we only support usa
org.deeplearning4j
deeplearning4j-core
- 1.0.0-M1.1
+ 1.0.0-M2.1
org.nd4j
nd4j-native-platform
- 1.0.0-M1.1
+ 1.0.0-M2.1
```
@@ -110,6 +110,10 @@ mvn -B -V -U clean install -pl -Dlibnd4j.platform=linux-x86_64 -Dlibnd4j.chip=c
An example of GPU "CC" or compute capability is 61 for Titan X Pascal.
+## Running project in Intellij IDEA:
+1. Ensure you follow https://stackoverflow.com/questions/45370178/exporting-a-package-from-system-module-is-not-allowed-with-release on jdk 9 or later
+2. Ignore all nd4j-shade submodules. Right click on each folder and click: Maven -> Ignore project
+
## License
diff --git a/contrib/codegen-tools/codegen/pom.xml b/contrib/codegen-tools/codegen/pom.xml
index 0a64011137c9..9ac96708bdea 100644
--- a/contrib/codegen-tools/codegen/pom.xml
+++ b/contrib/codegen-tools/codegen/pom.xml
@@ -18,10 +18,10 @@
5.8.0-M1
1.8.0-M1
5.4.2
- 1.8
+ 11
3.1.1
1.3.50
- 1.8
+ 11
true
1.13.0
@@ -249,7 +249,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.5.1
+ 3.8.1
@@ -275,6 +275,7 @@
${java.version}
+
diff --git a/contrib/codegen-tools/libnd4j-gen/pom.xml b/contrib/codegen-tools/libnd4j-gen/pom.xml
index 3c8ee36196a3..de85e3a29619 100644
--- a/contrib/codegen-tools/libnd4j-gen/pom.xml
+++ b/contrib/codegen-tools/libnd4j-gen/pom.xml
@@ -33,8 +33,8 @@
UTF-8
- 1.8
- 1.8
+ 11
+ 11
1.0.0-SNAPSHOT
3.1.1
3.24.4
diff --git a/contrib/version-updater/pom.xml b/contrib/version-updater/pom.xml
index 162b3a29ec1f..f25bb4ca5995 100644
--- a/contrib/version-updater/pom.xml
+++ b/contrib/version-updater/pom.xml
@@ -13,8 +13,8 @@
UTF-8
- 1.8
- 1.8
+ 11
+ 11
4.6.1
diff --git a/datavec/datavec-arrow/src/main/java9/module-info.java b/datavec/datavec-arrow/src/main/java9/module-info.java
index e3f93e6e8b3c..e46edd9041da 100644
--- a/datavec/datavec-arrow/src/main/java9/module-info.java
+++ b/datavec/datavec-arrow/src/main/java9/module-info.java
@@ -1,4 +1,5 @@
open module datavec.arrow {
+ requires java.nio;
requires commons.io;
requires slf4j.api;
requires arrow.memory.core;
diff --git a/datavec/datavec-data/datavec-data-image/pom.xml b/datavec/datavec-data/datavec-data-image/pom.xml
index c3bdd6d30d73..5d54ed0df1aa 100644
--- a/datavec/datavec-data/datavec-data-image/pom.xml
+++ b/datavec/datavec-data/datavec-data-image/pom.xml
@@ -139,6 +139,9 @@
com.google.android:android
+
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED
+
diff --git a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java9/module-info.java b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java9/module-info.java
index 92af8c38cd54..b5d5449d2e88 100644
--- a/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java9/module-info.java
+++ b/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java9/module-info.java
@@ -1,4 +1,5 @@
open module nd4j.api {
+ requires java.nio;
requires byteunits;
requires commons.io;
requires commons.net;
diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-preset/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-preset/pom.xml
index e51c7da809da..060906ce1d64 100644
--- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-preset/pom.xml
+++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda-preset/pom.xml
@@ -117,8 +117,14 @@
-
- 8
+
+ 11
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml
index d5d0f0845bc6..2eb30f297554 100644
--- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml
+++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-cuda/pom.xml
@@ -115,7 +115,8 @@
Maximum heap size was set to 6g, as a minimum required value for tests run.
Depending on a build machine, default value is not always enough.
-->
- -Ddtype=float -Dfile.encoding=UTF-8 -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Ddtype=float -Dfile.encoding=UTF-8 -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+
@@ -231,8 +232,14 @@
-
- 8
+
+ ${maven.compiler.target}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-minimizer-preset/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-minimizer-preset/pom.xml
index dc82e2ec3dec..d822d81b9fec 100644
--- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-minimizer-preset/pom.xml
+++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-minimizer-preset/pom.xml
@@ -173,8 +173,14 @@
-
- 8
+
+ ${maven.compiler.target}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml
index 1ec50e804401..6589f2b298cf 100644
--- a/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml
+++ b/nd4j/nd4j-backends/nd4j-backend-impls/nd4j-native/pom.xml
@@ -159,8 +159,14 @@
-
- 8
+
+ ${maven.compiler.target}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
diff --git a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml
index 776d762bb518..6ba97d0b8707 100644
--- a/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml
+++ b/nd4j/nd4j-backends/nd4j-backend-impls/pom.xml
@@ -106,7 +106,7 @@
Maximum heap size was set to 8g, as a minimum required value for tests run.
Depending on a build machine, default value is not always enough.
-->
- -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
240
240
240
@@ -141,7 +141,7 @@
false
-
+
nd4j-native
nd4j-native-preset
diff --git a/nd4j/nd4j-common/pom.xml b/nd4j/nd4j-common/pom.xml
index 22b20d04e115..a08b1a40ddc7 100644
--- a/nd4j/nd4j-common/pom.xml
+++ b/nd4j/nd4j-common/pom.xml
@@ -36,8 +36,8 @@
nd4j-common
- 8
- 8
+ 11
+ 11
nd4j.common
diff --git a/nd4j/samediff-import/pom.xml b/nd4j/samediff-import/pom.xml
index cee6c1eea50e..b1b7c02bbfdd 100644
--- a/nd4j/samediff-import/pom.xml
+++ b/nd4j/samediff-import/pom.xml
@@ -47,13 +47,13 @@
1.4.30
- 1.8
+ 11
true
5.8.0-M1
UTF-8
- 1.8
+ 11
3.1.1
2g
2g
@@ -160,6 +160,16 @@
org.apache.maven.plugins
maven-compiler-plugin
+
+
+
+ ${maven.compiler.target}
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
+
@@ -182,10 +192,6 @@
testCompile
-
-
- ${java.version}
-
diff --git a/omnihub/pom.xml b/omnihub/pom.xml
index 5df1027bc3ca..07593529eb67 100644
--- a/omnihub/pom.xml
+++ b/omnihub/pom.xml
@@ -22,9 +22,9 @@
5.8.0-M1
1.8.0-M1
5.4.2
- 1.8
+ 11
3.1.1
- 1.8
+ 11
true
omnihub
@@ -157,10 +157,10 @@
-
+
org.codehaus.mojo
@@ -286,7 +286,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.5.1
+ 3.8.1
@@ -306,12 +306,19 @@
java-test-compile
test-compile
- testCompile
+ testCompile
+
-
- ${java.version}
+
+ ${maven.compiler.target}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
diff --git a/platform-tests/pom.xml b/platform-tests/pom.xml
index 61d381e9e4b7..1e8655a56c76 100644
--- a/platform-tests/pom.xml
+++ b/platform-tests/pom.xml
@@ -56,14 +56,14 @@
3.8.1
1.4.30
- 1.8
+ 11
true
5.8.0-M1
UTF-8
1.8.0
- 1.8
+ 11
3.1.1
2.17.2
4.1.74.Final
@@ -658,6 +658,16 @@
org.apache.maven.plugins
maven-compiler-plugin
${maven-compiler-plugin.version}
+
+
+ ${java.version}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
+
@@ -684,10 +694,6 @@
-
-
- ${java.version}
-
@@ -823,7 +829,7 @@
false
- -Dorg.nd4j.arraynogc=${test.nogc} -Dorg.bytedeco.javacpp.logger.debug=true -Dorg.bytedeco.javacpp.nopointergc=${test.nogc} -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Dorg.nd4j.arraynogc=${test.nogc} -Dorg.bytedeco.javacpp.logger.debug=true -Dorg.bytedeco.javacpp.nopointergc=${test.nogc} -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
240
240
240
diff --git a/platform-tests/src/test/java/org/eclipse/deeplearning4j/dl4jcore/datasets/iterator/DummyBlockDataSetIteratorTests.java b/platform-tests/src/test/java/org/eclipse/deeplearning4j/dl4jcore/datasets/iterator/DummyBlockDataSetIteratorTests.java
index 83dc92f4a36e..0d4f47428c76 100644
--- a/platform-tests/src/test/java/org/eclipse/deeplearning4j/dl4jcore/datasets/iterator/DummyBlockDataSetIteratorTests.java
+++ b/platform-tests/src/test/java/org/eclipse/deeplearning4j/dl4jcore/datasets/iterator/DummyBlockDataSetIteratorTests.java
@@ -22,7 +22,6 @@
import lombok.extern.slf4j.Slf4j;
import lombok.val;
-import lombok.var;
import org.deeplearning4j.BaseDL4JTest;
import org.deeplearning4j.datasets.iterator.DummyBlockDataSetIterator;
import org.eclipse.deeplearning4j.dl4jcore.datasets.iterator.tools.SimpleVariableGenerator;
diff --git a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/autodiff/opvalidation/TestMiscOpValidation.java b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/autodiff/opvalidation/TestMiscOpValidation.java
index 23a6e99afc71..1fe9185a9a60 100644
--- a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/autodiff/opvalidation/TestMiscOpValidation.java
+++ b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/autodiff/opvalidation/TestMiscOpValidation.java
@@ -22,7 +22,6 @@
import lombok.extern.slf4j.Slf4j;
import lombok.val;
-import lombok.var;
import org.datavec.api.records.reader.RecordReader;
import org.datavec.api.records.reader.impl.collection.CollectionRecordReader;
import org.datavec.api.writable.IntWritable;
diff --git a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/Nd4jTestsC.java b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/Nd4jTestsC.java
index b4a1e861ac8d..bfc31b4bfc28 100644
--- a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/Nd4jTestsC.java
+++ b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/Nd4jTestsC.java
@@ -22,7 +22,6 @@
import lombok.extern.slf4j.Slf4j;
import lombok.val;
-import lombok.var;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.math3.stat.descriptive.rank.Percentile;
import org.apache.commons.math3.util.FastMath;
diff --git a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/crash/SpecialTests.java b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/crash/SpecialTests.java
index 6985eda58f6d..bd76cc71bc32 100644
--- a/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/crash/SpecialTests.java
+++ b/platform-tests/src/test/java/org/eclipse/deeplearning4j/nd4j/linalg/crash/SpecialTests.java
@@ -22,13 +22,10 @@
import lombok.extern.slf4j.Slf4j;
import lombok.val;
-import lombok.var;
import org.apache.commons.lang3.RandomUtils;
import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
-
import org.nd4j.common.tests.tags.NativeTag;
import org.nd4j.common.tests.tags.TagNames;
import org.nd4j.linalg.BaseNd4jTestWithBackends;
diff --git a/pom.xml b/pom.xml
index d29318b5d9e9..a9a5ee45de73 100644
--- a/pom.xml
+++ b/pom.xml
@@ -314,7 +314,7 @@
0.9.1
1.0.0
2.2.0
- 1.4.31
+ 1.7.20
2.1.21
8g
8g
@@ -324,12 +324,6 @@
-
- org.lz4
- lz4-java
- 1.8.0
-
-
org.lz4
lz4-java
@@ -657,7 +651,7 @@
true
false
- -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
240
240
240
@@ -726,6 +720,12 @@
${maven.compiler.target}
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
@@ -927,14 +927,19 @@
- 1.8
+ 11
org.apache.maven.plugins
maven-compiler-plugin
-
+
+ --add-exports
+ java.base/java.nio=ALL-UNNAMED
+ --add-opens
+ java.base/java.nio=ALL-UNNAMED
+
@@ -1408,7 +1413,7 @@
1
true
- -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
+ --add-exports java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}
1
false
240