Open r0man opened 6 years ago
Thanks so much for testing and documenting this @r0man. It's very useful and I'm sure will help other people. 😸
@r0man I added you in the Special Thanks section of the README. If you have any edits/changes - please let me know 😸
@gigasquid Thanks, everything good! :)
I too use Arch Linux and had to use the libcurl-compat to everything working. But I am using the latest cuda version (community/cuda 9.2.148-1) and the tests are passing so far.
I have the same error on Manjaro & mxnet-scala (they should share the same JVM low level API implementations). Plus once I switched to gpu(CUDA 10.0) I got a similar error instead:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/mxnet6582312094578976653/mxnet-scala: libcudart.so.9.0: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at org.apache.mxnet.util.NativeLibraryLoader$.loadLibraryFromStream(NativeLibraryLoader.scala:140)
at org.apache.mxnet.util.NativeLibraryLoader$.loadLibrary(NativeLibraryLoader.scala:93)
at org.apache.mxnet.Base$.<init>(Base.scala:70)
at org.apache.mxnet.Base$.<clinit>(Base.scala)
at org.apache.mxnet.NDArray$.initNDArrayModule(NDArray.scala:159)
at org.apache.mxnet.NDArray$.<init>(NDArray.scala:39)
at org.apache.mxnet.NDArray$.<clinit>(NDArray.scala)
...
I haven't tested py-mxnet as mxnet-cu100 hasn't been released. but all other DNN libraries (pytorch, tensorflow) have no problem handling the same platform.
these are my library files:
openblas:
/usr/include/f77blas.h
/usr/include/openblas_config.h
/usr/lib/cmake/openblas/OpenBLASConfig.cmake
/usr/lib/cmake/openblas/OpenBLASConfigVersion.cmake
/usr/lib/libblas.so
/usr/lib/libblas.so.3
/usr/lib/libopenblas.so
/usr/lib/libopenblas.so.3
/usr/lib/libopenblasp-r0.3.3.so
/usr/lib/pkgconfig/openblas.pc
/usr/share/licenses/openblas/LICENSE
cuda:
...
/opt/cuda/lib64/libaccinj64.so.10.0.130
/opt/cuda/lib64/libcublas.so
/opt/cuda/lib64/libcublas.so.10.0
/opt/cuda/lib64/libcublas.so.10.0.130
/opt/cuda/lib64/libcublas_static.a
/opt/cuda/lib64/libcudadevrt.a
/opt/cuda/lib64/libcudart.so
/opt/cuda/lib64/libcudart.so.10.0
/opt/cuda/lib64/libcudart.so.10.0.130
/opt/cuda/lib64/libcudart_static.a
/opt/cuda/lib64/libcufft.so
/opt/cuda/lib64/libcufft.so.10.0
/opt/cuda/lib64/libcufft.so.10.0.145
/opt/cuda/lib64/libcufft_static.a
/opt/cuda/lib64/libcufft_static_nocallback.a
...
Hi Carin,
this look great!
I had a couple of issues running the tests on Arch Linux. I guess most issues come from Arch Linux shipping more resent versions of the packages than what mxnet expects.
1.) I started with the CPU jar and got this error with Arch Linux's
openblas
package installed:Installing the
openblas-lapack
package from AUR fixed this.yaourt -S openblas-lapack
2.) Next up was some issue with libcurl that did not provide the
CURL_OPENSSL_3
symbol.Installing
libcurl-compat
and overridingLD_PRELOAD
fixed this.After this the tests passed with the CPU jar. :)
3.) Now for the GPU jar. Arch Linux ships with cuda 9.2. Downgrading the package to 9.0 made the tests pass with the GPU JAR as well.
I guess those dependency issues are mostly specific to Arch Linux, or need to be fixed in mxnet itself.
I tried playing around with your clojure-package before, but had a hard time getting mxnet installed. So I thought I post this here, maybe these instruction can save other people some time.
Now I'm looking forward to start a REPL ...
Greetings, r0man.